[PATCHES] proxy monitor fixes + mount by device file



(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]