Re: Fixing gvfs-backend-afc for iPhone/iPod Touch access



On Thu, 2009-07-30 at 18:43 +0200, Martin S. wrote:
> On Thu, 2009-07-30 at 11:32 +0200, Martin S. wrote:
> > Thus I ask for help, especially for the volume monitor code.
> > 
> > The backend currently detects a plugged in device however one ends up
> > with:
> > - Volume (is the enclosing volume for the mount)
> >   - Mount (seems to be the mount from afc volume)
> > - Mount (as if mounted using afc://uuid/ directly)
> > 
> 
> Ok, I think I know what happens.
> 
> The volume monitor creates the GProxyShadowMount while at the same time
> due to the afc:// activiation_root, the afc backend is started and
> creates it's own mountpoint.
> 
> Apparently this is the same thing that happens with the gphoto2 backend.
> As seen in the "gvfs-mount -l" output below gphoto2 also creates two
> mounts for the same thing... I wonder if that is the desired.

It is intended. The non-proxy mount is shadowed and thus won't appear in
any user interface (such as Nautilus or the GTK+ file chooser):

http://library.gnome.org/devel/gio/unstable/GMount.html#g-mount-is-shadowed

> 
> ...
> Volume(0): Apple, Inc. iPod
>   Type: GProxyVolume (GProxyVolumeMonitorGPhoto2)
>   Mount(0): Apple, Inc. iPod -> gphoto2://[usb:001,022]/
>     Type: GProxyShadowMount (GProxyVolumeMonitorGPhoto2)
> Volume(1): iPhone
>   Type: GProxyVolume (GProxyVolumeMonitorAfc)
>   Mount(0): iPhone -> afc://my-40-digit-uuid-here/
>     Type: GProxyShadowMount (GProxyVolumeMonitorAfc)
> Mount(2): Martin’s iPod -> afc://my-40-digit-uuid-here/
>   Type: GDaemonMount
> Mount(3): Apple, Inc. iPod -> gphoto2://[usb:001,022]/
>   Type: GDaemonMount
> ...
> 
> > As the gvfs-backend knows how to set the right display name and icons,
> > it would desired if it would create the mount but with the volume as the
> > parent.
> > 
> > When removing the device the volume monitor mount and volume is removed
> > and disappears while the backend mount is still sitting there and
> > causing issues when plugging the device back in.
> > 
> 
> I think the gphoto2 backend also listens to HAL device removed events
> and does a very nifty "exit(-1)" if the device the backend handles was
> removed...
> 
> The afc backend does not do this, the backend daemon is still there and
> this is probably the reason why the mount is still there.
> 
> What is the supposed correct solution to this?
> How to get the afc backend daemon's mount with nice display_name to be
> the one that is enclosed by the volume?
> Is the gphoto2 backend/volume-monitor double mount thing and exit()
> behaviour correct?
> 
> --- Martin S.
> 
> 
> _______________________________________________
> gvfs-list mailing list
> gvfs-list gnome org
> http://mail.gnome.org/mailman/listinfo/gvfs-list




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