From: Nick H. <me...@me...> - 2012-07-11 14:16:52
|
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 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; > > } > > > > > > > > ------------------------------------------------------------------------------ > > 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-svn > > mailing list enl...@li... > > https://lists.sourceforge.net/lists/listinfo/enlightenment-svn > > > ------------------------------------------------------------------------------ > 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 enl...@li... > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > |