Whamcloud - gitweb
ChangeLog, fsck.c:
authorTheodore Ts'o <tytso@mit.edu>
Mon, 21 May 2001 01:41:37 +0000 (01:41 +0000)
committerTheodore Ts'o <tytso@mit.edu>
Mon, 21 May 2001 01:41:37 +0000 (01:41 +0000)
  fsck.c (device_already_active): Fix bug in device_already_active which
   could cause infinite loops if we don't know the base_device of the
   filesystem.

misc/ChangeLog
misc/fsck.c

index c66d2fb..47d04e4 100644 (file)
@@ -1,5 +1,9 @@
 2001-05-20  Theodore Tso  <tytso@valinux.com>
 
+       * fsck.c (device_already_active): Fix bug in
+               device_already_active which could cause infinite loops if
+               we don't know the base_device of the filesystem.
+
        * fsck.c: Make sure all exit status codes returned by fsck are
                consistent with the error codes documented in the fsck man
                page.
index e06d719..4a09c9c 100644 (file)
@@ -698,8 +698,12 @@ static int device_already_active(char *device)
 #endif
 
        base = base_device(device);
-       if (!base)
-               return 1;
+       /*
+        * If we don't know the base device, assume that the device is
+        * already active if there are any fsck instances running.
+        */
+       if (!base) 
+               return (instance_list != 0);
        for (inst = instance_list; inst; inst = inst->next) {
                if (!strcmp(base, inst->base_device)) {
                        free(base);