@@ -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 thatI 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
