Your message dated Tue, 28 Aug 2007 15:24:56 -0600
with message-id <[EMAIL PROTECTED]>
and subject line Bug#298816: resolved in mount 2.13-1
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--- Begin Message ---
Package: mount
Version: 2.12-10
Severity: normal
Tags: patch

Mount is unable to identify disks that were created using the 
device-mapper by their label or uuid.  It therefore fails to mount those 
disks from the -L or -U command line options.

I have created a simple patch that iterates over the block devices in 
/dev/mapper and adds them to the uuidCache.  The patch is not ideal, 
given that it only looks in /dev/mapper, I could not figure out a way 
to glean information from /proc about the device names (other than 
dm-0,dm-1, etc.), which seems to be the proper way to do this.  
However, this is not a serious drawback, since mount assumes that 
hda, sda, and other devices will be in /dev, so it does not seem to be 
an unreasonable assumption that device-mapper devices will 
be in /dev/mapper.  Even with this limitation, it seems to work quite 
well and if the device nodes are not in that directory, no 
functionality is lost.

Kevin

Note:  I believe this is a different issue from #282144,#290324,#164144 
since this patch is intended only to identify device-mapper drives, not 
to create the drives.  Also, if support is added to mount to create the 
dm-crypt devices (which would be really cool), this method of 
identification could still be used to re-mount the disks or to mount 
devices created using dm-setup/cryptsetup.

-- System Information:
Debian Release: 3.1
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.10.20050309a
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)

Versions of packages mount depends on:
ii  libc6                       2.3.2.ds1-20 GNU C Library: Shared libraries an

-- no debconf information
--- util-linux-2.12p.orig/mount/mount_by_label.c        2004-12-21 
18:15:33.000000000 -0500
+++ util-linux-2.12p/mount/mount_by_label.c     2005-03-09 22:41:47.512288688 
-0500
@@ -37,6 +37,7 @@
 #define PROC_PARTITIONS "/proc/partitions"
 #define DEVLABELDIR    "/dev"
 #define VG_DIR          "/proc/lvm/VGs"
+#define DM_DIR "/dev/mapper"
 #define EVMS_VOLUME_NAME_SIZE  127
 #define PROC_EVMS_VOLUMES "/proc/evms/volumes"
 
@@ -104,6 +105,35 @@
        closedir(vg_dir);
 }
 
+/* Device Mapper Support
+ * 
+ * Note: For the same reasons mentioned below, this is not an ideal solution.
+ * There is no specific requirement that the device nodes be created in
+ * the DM_DIR directory, and if they are somewhere else this function will not
+ * find them.  Ideally, they should be meaningly identified in /proc.
+ */
+static void
+uuidcache_init_dm(void) {
+       char dm_device[PATH_MAX];
+       DIR *dm_dir;
+       struct dirent *dm_ent;
+       char uuid[16], *label;
+       
+       dm_dir = opendir(DM_DIR);
+       if (dm_dir == NULL)
+               return; /* Assume no dm devices */
+       
+       while ((dm_ent = readdir(dm_dir))) {
+               if (dm_ent->d_type != DT_BLK) /* Skip control and directories */
+                       continue;
+               
+               sprintf(dm_device, "%s/%s", DM_DIR, dm_ent->d_name);
+               if (!get_label_uuid(dm_device, &label, uuid))
+                       uuidcache_addentry(xstrdup(dm_device), label, uuid);
+       }
+       closedir(dm_dir);
+}
+
 static int
 uuidcache_init_evms(void) {
        FILE *procvol;
@@ -256,6 +286,7 @@
        fclose(procpt);
 
        uuidcache_init_lvm();
+       uuidcache_init_dm();
 }
 
 #define UUID   1

--- End Message ---
--- Begin Message ---
Version: 2.13-1

On Tue, Aug 28, 2007 at 09:15:21PM +0200, Christoph Thomas wrote:
> the problem described ist resolved (mount 2.13-1). You can refer to 
> bug 439617.

done.
Thanks.

lamont

--- End Message ---

Reply via email to