From: Michael B. <mic...@gm...> - 2012-07-11 14:20:51
|
On Wed, 11 Jul 2012 09:02:49 -0500 Nick Hughart <me...@me...> wrote: > On Wed, 11 Jul 2012 07:30:01 +0100 > Michael Blumenkrantz <mic...@gm...> 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 < > > no-...@en...> 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; > > > } > > > > > > > > > |