| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
If runtime dir is not specifically set we don't fall back to
~/.cache/gvfs, as that unnecessarily invalidates all existing
documentation and scripts using ~/.gvfs.
However, if it is set, we still use it.
|
|
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=646391
Signed-off-by: Tomas Bzatek <tbzatek@redhat.com>
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=583927
|
|
|
|
|
|
| |
Turned out zeroing memory is not enough in some cases so let's be
on the safe side and properly initialize all non-static mutexes.
Also, don't initialize/clear the static ones.
|
|
|
|
| |
Last piece in order to fix https://bugzilla.gnome.org/show_bug.cgi?id=661148
|
|
|
|
| |
A continuation to https://bugzilla.gnome.org/show_bug.cgi?id=661148
|
|
|
|
|
|
|
| |
GStaticMutex and GStaticRWLock have been replaced by GMutex
and GRWLock, and g_thread_init() is no longer needed.
https://bugzilla.gnome.org/show_bug.cgi?id=661148
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=659815
|
|
|
|
|
| |
GLib recently became less forgiving about single includes
like this.
|
|
|
|
|
| |
Especially now that deprecations are proper gcc warnings, no need
to hardcode this.
|
| |
|
| |
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=655401
|
| |
|
|
|
|
| |
Check for G_IO_NVAL, G_IO_ERR and G_IO_HUP when we (succesfully)
returned from g_poll since we get into a infinite loop later otherwise.
|
|
|
|
|
|
|
| |
The path we get as a result of a set_display_name operation has to be
re-rooted with the mount_prefix of the specific mount.
This fixes the "Location not mounted" error that we currently get for
e.g. WebDAV mounts with a mount_prefix after renaming of files.
|
|
|
|
|
| |
Modify all callbacks do_async_path_call () to receive an additional
GMountInfo parameter.
|
| |
|
|
|
|
|
|
| |
Fall back to looking up the file's handle by its path, and if we find
that it's open, pretend it exists already. This replaces the strategy
implemented in commit 4c052eee07df06e0a5d1d19fb68259c0ccfcbd92.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch changes .vfs_create() to force file creation and then opens
the file again for replacement. This ensures that the created file is
visible before its file handle is released.
Simple programs like touch(1) and cp(1) encounter ENOENT from creat(2)
on a WebDAV volume. FUSE calls .vfs_create() followed by .vfs_getattr()
on the file as part of creat(2). The .vfs_getattr() call after
.vfs_create() fails with ENOENT since the file handle is still open and
the file has not yet been created on the server side. The WebDAV server
fails the PROPFIND request to the non-existent file.
Solve this problem by creating a file first and then reusing .vfs_open()
code to open the file writeable with O_TRUNC.
Signed-off-by: Hans Petter Jansson <hpj@cl.no>
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=641856
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=627881
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
async_connection_accept_new_fd() is a GSource callback and needs
to return TRUE so that it is called again. Add the missing return
value.
Fixes gvfs client code on the ARM platform (and probably other
platforms too).
See https://bugzilla.gnome.org/show_bug.cgi?id=633330 for further
details.
Acked-by: Sven Neumann <sven@gimp.org>
|
|
|
|
| |
Otherwise gcc will throw a warning.
|
|
|
|
|
|
| |
This requires kernel version 2.6.24 or later.
See bug 627567 for details.
|
|
|
|
| |
This makes gvfs build with recent glib again, see bug #619537
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes sure we always return ERROR_CANCELLED, just like we want to
guarantee and avoids crashes in the file chooser.
There should be API in GSimpleAsyncResult to attach a GCancellable that
does this job for us, but so far there isn't, so we use
g_object_get/set_data() and check the cancellables manually in the
finish function.
https://bugzilla.gnome.org/show_bug.cgi?id=614099
|
|
|
|
|
|
|
| |
This reverts commit 5af6a1dbdd2c6a61b515a5bd64350db3af16dae7.
Replacing complete_in_idle() with a call that directly completes is BAD
BAD BAD.
|
|
|
|
|
|
|
| |
This makes sure we always return ERROR_CANCELLED, just like we want to
guarantee and avoids crashes in the file chooser.
https://bugzilla.gnome.org/show_bug.cgi?id=614099
|
|
|
|
|
|
| |
On cache hit g_daemon_file_find_enclosing_mount_async would immediately
call the callback function which breaks the aysnc-pattern contract.
Fixes bug #609002.
|
| |
|
| |
|
|
|
|
| |
Also, make sure to free that in all callers.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The "default location" of the given mount is a path that reflects
the main entry point for the user (e.g. the home directory, or the
root of the volume).
Backends can use g_vfs_backend_set_default_location () to set the
default location (before registering the mount).
https://bugzilla.gnome.org/show_bug.cgi?id=561998
|
|
|
|
| |
Fixes bug #594791.
|
|
|
|
|
|
|
|
| |
We need to set time in seconds and microseconds separately.
Moreover, backends may not fully support setting all attributes
so don't report failure when at least one succeeded.
At the moment, only SMB supports setting G_FILE_ATTRIBUTE_TIME_MODIFIED.
|
|
|
|
|
|
|
|
|
| |
The readlink vfunc is not implemented in the FUSE module so we should
not report success but an error (-ENOSYS). We also don't implement the
vfunc for now since that might lead to a security issue (see the
added comment). This fixes bug #601361.
Signed-off-by: Christian Kellner <gicmo@gnome.org>
|
| |
|
|
|
|
| |
We forgot to say the file: method is supported (#596867)
|
| |
|
|
|
|
| |
This ref leak was reported by clang. Bug 594828.
|
|
|
|
|
|
|
| |
See bug 591388 and documentation for g_cancellable_release_fd() for a
rationale.
This fix requires glib git master.
|
|
|
|
|
|
|
|
| |
When a mount is mounted with a mount_prefix != "/", GDaemonMount calculates
wrong root path, causing breakage of the .gvfs FUSE mount, and making the
mounts unclickable in Nautilus.
Patch by Mads Chr. Olesen, see bug 590730 for details.
|
|
|
|
|
|
|
|
|
| |
On complex URIs like 'dav://server/gallery/w/TestAlbum',
g_file_get_path () would return incomplete path without the
middle '/gallery/w' part (mount prefix). This patch ensures
full path to be returned.
See bug 590862 for details.
|
|
|
|
|
| |
FIx a crash introduced by commit c372064a where it was forgotten do
adapt the function signature of a callback
|
|
|
|
| |
These were reported in bug 590456.
|
|
|
|
|
|
| |
This avoids race conditions with other threads; there are various
internal mutexes involved in dbus_bus_get_private that need to
be locked if g_vfs_get_default is called from a non-main thread.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Port everything to use _with_operation() variants of unmount/eject
methods
- Add support for g_file_poll_mountable()
- new job class: GVfsJobPollMountable
- Pass mount operation for unmount/eject ops on GDaemonFile and
GDaemonMount
- receive in the appropriate GVfsJob classes
- also pass unmount flags where it was missing
- port all backends to use this
- Teach GMountSource and GMountOperationDBus about the new
GMountOperation::show-processes signal
- also provide new API
- g_mount_source_is_dummy() - e.g. when the client didn't
passed NULL for the GMountOperation
- g_mount_source_abort() - to send the ::abort signal to the
client-side GMountOperation
- make the client-side of GMountSource return ::reply with
NOT_HANDLED when we do an abort
- Refactor the mount operation handling in GProxyVolumeMonitor
- Pass mount operation for unmount/ejects in GProxyVolumeMonitor
- Pass the process id of the actual reader/writer in OpenForRead
and OpenForWrite daemon methods
- add some private API for making the FUSE client set the
pid of the POSIX client (otherwise it looks like the FUSE
client is blocking) and pass the right pid.
This is because the FUSE client is basically impersonating the
POSIX processes.
- Make the process id mentioned above available in appropriate
GVfsJob classes
- GVfsJobOpenForRead
- GVfsJobOpenForWrite
- GVfsChannel
- Provide API to get a list of all blocking clients, e.g. an array
of GPid
- g_vfs_daemon_get_blocking_processes()
- Provide convenience API to easily doing the right thing on unmount;
e.g. interact with the user about blocking processes - see the gphoto2
backend for example usage
- g_vfs_backend_has_blocking_processes()
- g_vfs_backend_unmount_with_operation() and
g_vfs_backend_unmount_with_operation_finish()
- Only the gphoto2 backend supports ::show-processes right now. Support
for other backends will be added shortly.
- Implement support for ::show-processes in the GDU volume monitor
- right now we don't support "Unmount Anyway" since it requires
ABI changes in libgdu.so - this will be changed as soon as there's
a new gnome-disk-utility release
|