Roger Tsang wrote:
Hi John,

Bug introduced in your checkin for util-linux/mount/mntent.c.  Latest
merge breaks DRBD on OPENSSI-FC because DRBD devices on kernel-2.6 are
named /dev/drbd0, /dev/drbd1, /dev/drbd2, etc.

The Debian code looks old - DRBD on kernel-2.4 /dev/drbd/0,
/dev/drbd/1, etc.  Notice the missing forward slash before the numeral
for DRBD on kernel-2.6?
Eurgh - you're right.
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/util-linux/mount/Attic/mount.c,v
retrieving revision 1.1.7.1.2.7
retrieving revision 1.1.7.1.2.8
diff -u -d -r1.1.7.1.2.7 -r1.1.7.1.2.8
--- mount.c	9 Aug 2005 04:14:31 -0000	1.1.7.1.2.7
+++ mount.c	11 Jan 2007 13:06:30 -0000	1.1.7.1.2.8
@@ -1378,17 +1366,6 @@
   else if (cmdlineopts != NULL)
        opts = xstrconcat3(opts, ",", cmdlineopts);
 
-  /* If chard specified, then device must be UUID= or LABEL= */
-  /* OK, if /dev/root, since that is how the linuxrc does initial root mount */
-  /* DRBD uses /dev/drbd so allow that as well */
-  if (opts && has_chard_opt(opts)) {
-      if (strncmp(spec, "UUID=", 5) && strncmp(spec, "LABEL=", 6) != 0 &&
-	strcmp(spec, "/dev/root") != 0 && strstr(spec, "/drbd") == NULL)
                                                        ^^^^^
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/util-linux/mount/Attic/mntent.c,v
retrieving revision 1.1.7.1.2.1
retrieving revision 1.1.7.1.2.2
diff -u -d -r1.1.7.1.2.1 -r1.1.7.1.2.2
--- mntent.c	15 Sep 2004 09:25:48 -0000	1.1.7.1.2.1
+++ mntent.c	11 Jan 2007 13:06:29 -0000	1.1.7.1.2.2
@@ -208,6 +221,16 @@
 			free(me.mnt_opts);
 			goto again;
 		}
+
+  	    if (has_chard_opt(me.mnt_opts)) {
+                if (strncmp(me.mnt_fsname, "UUID=", 5) && 
+			     strncmp(me.mnt_fsname, "LABEL=", 6) != 0 &&
+			     strcmp(me.mnt_fsname, "/dev/root") != 0 && 
+			     strstr(me.mnt_fsname, "/drbd/") == NULL)
                                                    ^^^^^^