[PATCHES] proxy monitor fixes + mount by device file
- From: David Zeuthen <david fubar dk>
- To: gvfs-list gnome org
- Subject: [PATCHES] proxy monitor fixes + mount by device file
- Date: Fri, 20 Feb 2009 17:33:09 -0500
(resending because message limit is 80K)
Hey,
Here are two patches.
http://people.freedesktop.org/~david/gvfs-mount-allow-device-file.patch
http://people.freedesktop.org/~david/gvfs-proxy-fixes.patch
The first one is very simple, it teaches gvfs-mount about the --device
(short -d) option so you can do things like this
$ gvfs-mount -d /dev/sdb3
The device "Generic STORAGE DEVICE" contains encrypted data on partition 3.
Password:
Mounted /dev/dm-0 at /media/Encrypted Stuff
The other patch is, uh, a bit more complex. It's basically a huge set of
fixes for the proxy monitor code. I needed all these fixes for the
DeviceKit-disks/gnome-disk-utility volume monitor I'm working on. Here's
a bonus screenshot of that
http://people.freedesktop.org/~david/gvfs-gdu-dkd-temp.png
Anyway, this patch
1. Adds support for proxying GMountOperation to the remote VM
2. Adds support for proxying GCancellable to the remote VM
3. Makes each VM process track callers and cancels operations initiated
by callers that disconnects from the bus
4. Makes the client side proxy monitor track the remote monitor
- if the VM disconnects all drives/volumes/mounts are removed
- if the VM reconnects, we reseed the internal monitor and add
the drives/volumes/mounts
5. The VM now uses ALLOW_REPLACEMENT when claiming a name and also
kills itself on NameLost (e.g. if it is replaced). Coupled with 4.
above this makes it a lot more tolerable to hack on a remote volume
monitor. Simply just compile it, start it and the existing
(system-wide) copy will kill itself. And all the clients (Nautilus,
panel, drive applet, gvfsd-computer) will reconnect and do the right
thing.
6. Makes the get_mount_for_mount_path() method on GNativeVolumeMonitor
actually work. It turns out that at least gvfs-mount -u needs that.
7. Uses /org/gtk/Private/RemoteVolumeMonitor instead of / as the object
name. Cf. the version D-Bus debacle on Lennart's blog.
8. Makes the proxy monitor client module resident
As you know most of this code is extremely hairy, it's all interprocess
communication, asynchronous operations and so on. I've tested it very
carefully so it should be good to commit. That said, some review on the
client side module changes (since that will affect virtually all GIO
clients) is appreciated. Thanks.
David
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]