Re: [RFC] gvfs connected servers



On Mon, 2008-10-06 at 21:37 +0200, Alexander Larsson wrote:
> Hmmm, on the other hand, i guess that code won't see these shadow mounts
> really so there might not be a problem. They just exist in the volume
> monitor, the actual i/o code paths never see them.

Yeah, it works really well. See

 http://people.freedesktop.org/~david/gvfs-connected-server-multiple-shadow-mounts.png

for the setup in [1]; here we have three mounts inside each other.

> > > That brings us back to multiple
> > > volumes per mount then I guess. I'll have a look at your patches
> > > tomorrow.
> > 
> > I'm actually pretty close to finishing a patchset for shadow mounts [1],
> > e.g. the in-process proxy volume monitor will automagically create and
> > remove GProxyShadowMount's for volumes with an activation_uri according
> > to if there's a real mount for the activation_uri. E.g. we'll get
> 
> Sounds good.

I've attached the patches to these bugs

 http://bugzilla.gnome.org/show_bug.cgi?id=555331 (gio)
 http://bugzilla.gnome.org/show_bug.cgi?id=555332 (gvfs)
 http://bugzilla.gnome.org/show_bug.cgi?id=555333 (nautilus)
 http://bugzilla.gnome.org/show_bug.cgi?id=555334 (gtk+)

These patches should be fine to commit as is; that is, I've tidied them
up, tested for locking problems and looked over them a few times. Works
fine on my box.

I think the UI rework in Nautilus can be done as a separate patch. 

Also, as a value-add (since you're buying not one, but four patches
here!), I've thrown in a new --monitor option to gvfs-mount(1) included
in the patch set! For free!

     David


[1] :

$ gvfs-mount -li
Drive(0): SCSI Drive
  Type: GProxyDrive
  ids:
   hal-udi: '/org/freedesktop/Hal/devices/storage_serial_SATA_ST9100821AS_5NJ0R13A'
   unix-device: '/dev/sda'
  themed icons:  [drive-removable-media-scsi]  [drive-removable-media]  [drive-removable]  [drive]
  is_media_removable=0
  has_media=1
  is_media_check_automatic=0
  can_poll_for_media=0
  can_eject=0
  Volume(0): Fedora9
    Type: GProxyVolume
    ids:
     uuid: '152aa612-fb4e-4e8d-a9ba-b0c0097ff854'
     hal-udi: '/org/freedesktop/Hal/devices/volume_uuid_152aa612_fb4e_4e8d_a9ba_b0c0097ff854'
     unix-device: '/dev/sda3'
     label: 'Fedora9'
    uuid=152aa612-fb4e-4e8d-a9ba-b0c0097ff854
    themed icons:  [drive-removable-media-scsi]  [drive-removable-media]  [drive-removable]  [drive]
    can_mount=1
    can_eject=0
  Volume(1): 52.4 GB Encrypted Data
    Type: GProxyVolume
    ids:
     uuid: '830fe109-4981-4959-ad16-289ae322eb7d'
     hal-udi: '/org/freedesktop/Hal/devices/volume_uuid_830fe109_4981_4959_ad16_289ae322eb7d'
     unix-device: '/dev/sda2'
    uuid=830fe109-4981-4959-ad16-289ae322eb7d
    themed icons:  [drive-encrypted]  [drive-removable-media-scsi]  [drive-removable-media]  [drive-removable]  [drive]
    can_mount=1
    can_eject=0
Volume(0): Apple, Inc. iPhone
  Type: GProxyVolume
  ids:
   hal-udi: '/org/freedesktop/Hal/devices/usb_device_5ac_1290_cfaedf85ba4e6917fd85b1566dd1ae119e596bb0_if0'
   unix-device: '/dev/bus/usb/001/028'
  activation_root=gphoto2://[usb:001,028]/
  themed icons:  [camera-photo]
  can_mount=1
  can_eject=0
  Mount(0): Apple, Inc. iPhone -> gphoto2://[usb:001,028]/
    Type: GProxyShadowMount
    themed icons:  [camera-photo]
    x_content_types: x-content/image-dcf
    can_unmount=1
    can_eject=0
Volume(1): QUAD MOVIES
  Type: GProxyVolume
  ids:
   connected-server: 'gconf:/desktop/gnome/gvfs-connected-servers/2'
  activation_root=sftp://quad.local/media/FusionMedia
  can_mount=1
  can_eject=0
  Mount(0): QUAD MOVIES -> sftp://quad.local/media/FusionMedia
    Type: GProxyShadowMount
    can_unmount=1
    can_eject=0
Volume(2): homedir @ p.fd.o
  Type: GProxyVolume
  ids:
   connected-server: 'gconf:/desktop/gnome/gvfs-connected-servers/1'
  activation_root=sftp://david people freedesktop org/home/david
  themed icons:  [network-server]
  can_mount=1
  can_eject=0
  Mount(0): homedir @ p.fd.o -> sftp://david people freedesktop org/home/david
    Type: GProxyShadowMount
    themed icons:  [network-server]
    can_unmount=1
    can_eject=0
Volume(3): public_html @ p.fd.o
  Type: GProxyVolume
  ids:
   connected-server: 'gconf:/desktop/gnome/gvfs-connected-servers/0'
  activation_root=sftp://david people freedesktop org/home/david/public_html
  themed icons:  [emblem-web]
  can_mount=1
  can_eject=0
  Mount(0): public_html @ p.fd.o -> sftp://david people freedesktop org/home/david/public_html
    Type: GProxyShadowMount
    themed icons:  [emblem-web]
    can_unmount=1
    can_eject=0
Mount(0): Apple, Inc. iPhone -> gphoto2://[usb:001,028]/
  Type: GDaemonMount
  themed icons:  [camera-photo]  [camera]
  x_content_types: x-content/image-dcf
  can_unmount=1
  can_eject=0
Mount(1): sftp on people.freedesktop.org -> sftp://david people freedesktop org/
  Type: GDaemonMount
  themed icons:  [folder-remote]  [folder]
  can_unmount=1
  can_eject=0
Mount(2): sftp on quad.local -> sftp://quad.local/
  Type: GDaemonMount
  themed icons:  [folder-remote]  [folder]
  can_unmount=1
  can_eject=0




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]