On Wed, 11 Jul 2012 09:02:49 -0500
Nick Hughart <[email protected]> wrote:

> On Wed, 11 Jul 2012 07:30:01 +0100
> Michael Blumenkrantz <[email protected]> wrote:
> 
> > I see that you did not heed my notice regarding udisks2 and instead
> > decided to use it as the bible for updating our udisks1 interface...
> > 
> 
> Well couple of things:
> 
> 1) I can't help that their naming/versioning conventions over at FDO
> suck.
> 
> 2) The allowed and default options have been the same for over a year,
> including the udisks1 1.04 release
> 
>   http://cgit.freedesktop.org/udisks/tree/src/device.c?id=1.0.4
> 
> So before telling me I did something wrong, maybe actually look?  This

The point was that you listed the wrong source file, so anyone looking at it is
not going to know what's going on.

> code actually works here with udisks 1.0.4.  I do not have udisks2
> installed nor running.  Before this fix, mounting my fat32 thumb drive
> did not work.
> 
> > On Wed, Jul 11, 2012 at 6:52 AM, Enlightenment SVN <
> > [email protected]> wrote:
> > 
> > > Log:
> > > e_fm: Correct mount options used for udisks mounting
> > >
> > >     udisks has a restricted set of mount options which can be
> > >     used for most filesystems.  I have adjusted our mount
> > >     options based on the current udisks code.
> > >
> > >
> > >
> > > Author:       mekius
> > > Date:         2012-07-10 22:52:56 -0700 (Tue, 10 Jul 2012)
> > > New Revision: 73549
> > > Trac:         http://trac.enlightenment.org/e/changeset/73549
> > >
> > > Modified:
> > >   trunk/e/src/bin/e_fm/e_fm_main_udisks.c
> > >
> > > Modified: trunk/e/src/bin/e_fm/e_fm_main_udisks.c
> > > ===================================================================
> > > --- trunk/e/src/bin/e_fm/e_fm_main_udisks.c     2012-07-11 03:03:23
> > > UTC (rev 73548)
> > > +++ trunk/e/src/bin/e_fm/e_fm_main_udisks.c     2012-07-11 05:52:56
> > > UTC (rev 73549)
> > > @@ -895,9 +895,12 @@
> > >
> > >     INF("mount %s %s [fs type = %s]", v->udi, v->mount_point,
> > > v->fstype);
> > >
> > > -   // for vfat and ntfs we want the uid mapped to the user
> > > mounting, if we can
> > > +   // Map uid to current user if possible
> > > +   // Possible filesystems found in udisks source
> > > (src/udiskslinuxfilesystem.c) as of 2012-07-11
> > >     if ((!strcmp(v->fstype, "vfat")) ||
> > > -       (!strcmp(v->fstype, "ntfs"))
> > > +       (!strcmp(v->fstype, "ntfs")) ||
> > > +       (!strcmp(v->fstype, "iso9660")) ||
> > > +       (!strcmp(v->fstype, "udf"))
> > >         )
> > >       {
> > >          snprintf(buf, sizeof(buf), "uid=%i", (int)getuid());
> > > @@ -906,17 +909,17 @@
> > >
> > >     // force utf8 as the encoding - e only likes/handles utf8. its
> > > the // pseudo-standard these days anyway for "linux" for intl text
> > > to work
> > > -   // everywhere. problem is some fs's use differing options
> > > -   if ((!strcmp(v->fstype, "vfat")) ||
> > > -       (!strcmp(v->fstype, "ntfs")) ||
> > > -       (!strcmp(v->fstype, "iso9660"))
> > > -       )
> > > +   // everywhere. problem is some fs's use differing options and
> > > udisks
> > > +   // doesn't allow some options with certain filesystems.
> > > +   // Valid options found in udisks (src/udiskslinuxfilesystem.c)
> > > as of 2012-07-11
> > > +   // Note that these options are default with the latest udisks,
> > > kept here to
> > > +   // avoid breakage in the future (hopefully).
> > > +   if (!strcmp(v->fstype, "vfat"))
> > >       {
> > > -        snprintf(buf2, sizeof(buf2), "utf8");
> > > +        snprintf(buf2, sizeof(buf2), "utf8=1");
> > >          opt = eina_list_append(opt, buf2);
> > >       }
> > > -   else if ((!strcmp(v->fstype, "fat")) ||
> > > -            (!strcmp(v->fstype, "jfs")) ||
> > > +   else if ((!strcmp(v->fstype, "iso9660")) ||
> > >              (!strcmp(v->fstype, "udf"))
> > >              )
> > >       {
> > > @@ -925,13 +928,14 @@
> > >       }
> > >
> > >     v->guard = ecore_timer_add(E_FM_MOUNT_TIMEOUT,
> > > (Ecore_Task_Cb)_e_fm_main_udisks_vol_mount_timeout, v);
> > > -// on ubuntu 10.04 if we request mount with opt - it fails.
> > > unknown why right
> > > -// now, but lets try without and maybe we need to try 2 mounts -
> > > one with -// opts and one without?
> > > -//   v->op = e_udisks_volume_mount(_e_fm_main_udisks_conn, v->udi,
> > > -//                                        v->fstype, opt);
> > > +
> > > +   // It was previously noted here that ubuntu 10.04 failed to
> > > mount if opt was passed to
> > > +   // e_udisks_volume_mount.  The reason at the time was unknown
> > > and apparently never found.
> > > +   // I theorize that this was due to improper mount options being
> > > passed (namely the utf8 options).
> > > +   // If this still fails on Ubuntu 10.04 then an actual fix
> > > should be found.
> > >     v->op = e_udisks_volume_mount(_e_fm_main_udisks_conn, v->udi,
> > > -                                        v->fstype, NULL);
> > > +                                        v->fstype, opt);
> > > +
> > >     eina_list_free(opt);
> > >     v->optype = E_VOLUME_OP_TYPE_MOUNT;
> > >  }
> > >
> > >
> > >

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to