Re: [PATCH] btrfs: fix inconsistency during missing device rejoin

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 







@@ -715,7 +715,8 @@ static noinline int device_list_add(const char *path,
          ret = 1;
          device->fs_devices = fs_devices;
-    } else if (!device->name || strcmp(device->name->str, path)) {
+    } else if (!device->name || strcmp(device->name->str, path) ||
+            test_bit(BTRFS_DEV_STATE_MISSING, &device->dev_state)) {
          /*
           * When FS is already mounted.
           * 1. If you are here and if the device->name is NULL that


I read the comments below this and wonder if BTRFS_DEV_STATE_MISSING is set when device->name is null and therefore the first condition can be removed.

 On the 2nd thought, actually can not remove device->name, there can
 be a case where degraded FS is unmounted, then device->name is NULL.

Thanks, Anand

  device->name is null only when missing is set.

  Will do this optimize in a new patch, as its about clean up and
  is not about fixing inconsistency as in here.

Thanks, Anand
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux