| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
New image is necessary because of new functionality. Add --no-cache
option to force rebuilding the image.
|
|
|
|
|
| |
GLib hasn't been released with g_unix_mount_get_root_path support yet,
so let's add macros to use this functionality only if available.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
UDisks2 handling of mounts which doesn't point into fs root (created
over bind operation, or btrfs subvolumes) is not optimal, see:
https://github.com/storaged-project/udisks/issues/478
Also GIO API doesn't expect that one GVolume can have multiple
mountpoints. Thus don't try to match UDisksBlock with mount which
doesn't point into fs root and create standalone GVfsUDisks2Mount
for it (or use GVfsUDisks2Volume corresponding with fstab entry).
https://gitlab.gnome.org/GNOME/gvfs/issues/330
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
gvfs_udisks2_mount_new returns NULL if volume is not specified and
mount is considered as internal by g_unix_mount_is_system_internal.
This prevents mount creation in certain cases even if x-gvfs-show is
manually specified. Mounts are already filtered out by
should_include_mounts, so I don't see much reason for additional check.
It is true that should_include_mount doesn't use
g_unix_mount_is_system_internal, but just
g_unix_is_mount_path_system_internal, however, we can change this
in future if needed.
https://gitlab.gnome.org/GNOME/gvfs/issues/330
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Beginning the commit 959db3e0, mtab-based mount options are prioritized
prior to the fstab options. However, "comment" option is not propagated
to mtab and thus mounts with "comment=x-gvfs-show" can be ignored, but
volumes can be still shown for them and vice versa. Consequently, mount
operation fails with the following:
"Mount is denied because the NTFS volume is already exclusively opened.
The volume may be already mounted, or another software may use it which
could be identified for example by the help of the 'fuser' command."
Just a note, that "comment=x-gvfs-*" is wrong as per the docs and it
should be "comment=gvfs-*" instead. However, it seems that the people
started using this after commit 37d4bf32 as workaround on distributions
with old util-linux versions, where plain "x-gvfs-*" option caused the
following error:
"Unrecognized mount option "x-gvfs-show" or missing value"
The workaround using "comment=x-gvfs-*" option worked so far just only
thanks to the "bug" in gvfs_udisks2_utils_lookup_fstab_options_value()
function, which doesn't care about the prefix of the mount option.
Let's prioritize fstab options before mtab-based mount options to fix
this regression. It is maybe less reliable because the assignment of
the corresponding fstab entry is arguable, but the rest of the volume
monitor code relies on it anyway.
Closes: https://gitlab.gnome.org/GNOME/gvfs/issues/348
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A new daemon is always spawned if MountLocation method (or LookupMount for
automounted) is called and the respective mount isn't registered yet. This
is not usually an issue, because the redundant daemons are consequently
terminated. However, this is a problem if mount operations hang for some reason.
This may happen e.g. with trash backend due to stale NFS mounts. Consequently,
new and new daemons are spawned which may lead to system failures due to lack
of system resources. See the following downstream bug report:
https://bugzilla.redhat.com/show_bug.cgi?id=1632960
Let's fix that behavior simply by preventing spawning of new daemons if
respective outgoing mount operations exist.
https://gitlab.gnome.org/GNOME/gvfs/merge_requests/19
|
|
|
|
|
|
|
|
| |
GRegex expects valid UTF-8 input by default and libpcre may crash if
it is not valid. GRegex is used to parse autorun file, which doesn't
have to be always valid. Let's use G_REGEX_RAW to prevent the crashes.
Closes: https://gitlab.gnome.org/GNOME/gvfs/issues/344
|
|
|
|
| |
(cherry picked from commit b846e5389073fc8607ef41851bf525b29029d976)
|
| |
|
| |
|
|
|
|
| |
(cherry picked from commit fa11cb717155213847c9941ce8fbcc9f83f3a44e)
|
|
|
|
|
| |
In this case the smb config is set up using the default port by the
sandbox itself - the config in the testsuite is not used.
|
|
|
|
|
|
|
| |
ID_SERIAL string is not URI-escaped before use, but unfortunately, it
may contain special characters (e.g. colons) and consequently it is not
possible to mount affected devices over activation_root. Let's URI-escape
the ID_SERIAL string before use as URI to fix that issue.
|
|
|
|
|
|
|
|
|
| |
ID_SERIAL string is not URI-escaped before use, but unfortunately, it
may contain special characters (e.g. colons) and consequently it is not
possible to mount affected devices over activation_root. Let's URI-escape
the ID_SERIAL string before use as URI to fix that issue.
Closes: https://gitlab.gnome.org/GNOME/gvfs/issues/338
|
|
|
|
|
|
| |
Files in volatile folder should be also marked as volatile.
Volatile handling is a bit simplified as a part of this patch also.
|
|
|
|
|
|
|
| |
The reworked cache hasn't been used for enumeration results and also
for missing files checks, which always caused rebuilding cache. Let's
save timestamps also for enumerations and use it to prevent redundant
cache rebuilds.
|
|
|
|
|
|
|
|
|
|
|
| |
The backend is totally unusable if you have too many files on your
Drive. This happens because the backend preloads the whole Drive's
metadata. Let's build the cache incrementaly per folders.
As a result, the backend works smoothly regardless of the total
number of Drive files, because the total number of transmitted data
is significantly reduced. On the other hand, more requests is done
to Drive, but the Drive quotas seem big enough.
|
|
|
|
|
|
| |
Files with multiple parents are currently removed from all parents.
This is unexpected and may cause data loss, because it is not obvious
that it is one file. Let's remove the file just from requested folder.
|
|
|
|
|
|
|
|
|
| |
One entry can have multiple parents. You can create such entry on
the web in a pretty simple way, e.g. Ctrl + Drag&Drop. Such entries
are currently shown only on one place in the backend. Also the backend
rely on get_parent_id() and get_entry_path() functions which are tottaly
wrong. Let's introduce get_parent_ids() and resolve entry_path only
from given filename.
|
|
|
|
|
|
| |
Entries without parents are not shown on the web and there isn't any
reason to list them here. Such entries belongs to some web services
and we have no control over them.
|
|
|
|
|
| |
dir_collisions are not properly invalidated if removed entry is on this list.
Let's remove the entry also from this list.
|
|
|
|
|
|
| |
Debug output contains mess because id and title are const gchar *
and are released together with GDataEntry on previous line. Let's
just swap the lines.
|
|
|
|
|
|
|
|
|
|
|
|
| |
"Windows Network" doesn't work with recent samba versions, because
"client max protocol" has been changed from NT1 to SMB3 recently.
NT1 is mandatory for workgroup support. Let's force NT1 using the
newly added smbc_setOptionProtocols API if available. But force this
only when neither hostname, nor IP address is used. This among others
prevents complete breakage if NT1 is disabled on server. Use GResolver
to implement this heuristic.
https://bugzilla.gnome.org/show_bug.cgi?id=780958
|
|
|
|
| |
(cherry picked from commit 847058eb893cf8cf724ce3f61d4b4458bad40b9d)
|
|
|
|
| |
(cherry picked from commit dcf47dbb1c4cfcdafb876b7bc5f79b7228d0a42e)
|
|
|
|
| |
... to be able to list loop devices in the GTK+ places sidebar.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Test suite uses custom servicedir with subset of monitor service files,
however, list of available monitors is read from the system locations.
Thus gvfs tries to spawn volume monitors, which are not available in the
custom servicedir. Consequently, the following warnings are printed
among others from "gio mount":
invoking IsSupported() failed for remote volume monitor with dbus name...
The warnings causes test suite failures, becasue it expects another
output. This problem appeared recently due to the "gio mount" change,
which now always call g_volume_monitor_get.
Set GVFS_MONITOR_DIR to the same dir, where is the custom session.conf,
which ensures that it uses .monitor files from that dir and not from
the system locations.
|
|
|
|
|
|
|
|
|
|
| |
g_dbus_connection_get_peer_credentials may fail in some cases, see
the documentation, and thus we have to check the return value before
use in order to prevent warnings like the following:
g_credentials_get_unix_pid: assertion 'G_IS_CREDENTIALS (credentials)' failed
Print simply -1 if pid can't be obtained this way.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Trần Ngọc Quân <vnwildman@gmail.com>
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|