[DRBD-cvs] r1667 - branches/drbd-0.7/user

svn at svn.drbd.org svn at svn.drbd.org
Mon Dec 6 14:40:52 CET 2004


Author: phil
Date: 2004-12-06 14:40:49 +0100 (Mon, 06 Dec 2004)
New Revision: 1667

Modified:
   branches/drbd-0.7/user/drbd_limits.h
   branches/drbd-0.7/user/drbdadm_main.c
Log:
Now drbdadm determines the minor_count correctly on udev/devfs 
based system.


Modified: branches/drbd-0.7/user/drbd_limits.h
===================================================================
--- branches/drbd-0.7/user/drbd_limits.h	2004-12-02 10:08:27 UTC (rev 1666)
+++ branches/drbd-0.7/user/drbd_limits.h	2004-12-06 13:40:49 UTC (rev 1667)
@@ -20,7 +20,7 @@
 const unsigned long long DRBD_ ## what ## _MAX = (max)
 
 RANGE(MINOR_COUNT,1,255);
-RANGE(DIALOG_REFRESH,1,600);
+RANGE(DIALOG_REFRESH,0,600);
 
 /* valid port number */
 RANGE(PORT,1,0xffff);

Modified: branches/drbd-0.7/user/drbdadm_main.c
===================================================================
--- branches/drbd-0.7/user/drbdadm_main.c	2004-12-02 10:08:27 UTC (rev 1666)
+++ branches/drbd-0.7/user/drbdadm_main.c	2004-12-06 13:40:49 UTC (rev 1667)
@@ -622,7 +622,14 @@
   struct stat sb;
 
   if(stat(res->me->device,&sb)) {
-    perror("stat");
+    // On udev/devfs based system the device nodes does not
+    // exist before the module is loaded. Therefore assume that
+    // the number in the device name is the minor number.
+    char *c;
+
+    c=res->me->device;
+    while(!isdigit(*c)) c++; // Find the first digit in the device name...
+    return strtol(c,NULL,10);
   }
 
   return minor(sb.st_rdev);



More information about the drbd-cvs mailing list