btrfs-progs: mkfs should be consistent in calling register device

When we have one device we don't call register device.
(in fact not mandatory, but to make it consistent)
And when we have more than one we call register device.

reproducer:
Nothing in the kernel device list
cat /proc/fs/btrfs/devlist | egrep fsid | wc -l
0

mkfs.btrfs will automatically call register device when devices
is more than 1.

mkfs.btrfs -f /dev/sdb /dev/sdc
cat /proc/fs/btrfs/devlist | egrep fsid | wc -l
1

But it does not when there is only one device

mkfs.btrfs -f /dev/sdb
cat /proc/fs/btrfs/devlist | egrep fsid | wc -l
0

Signed-off-by: Anand Jain <anand.jain@oracle.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
This commit is contained in:
Anand Jain 2014-10-15 08:45:11 +08:00 committed by David Sterba
parent d6d44779f5
commit 6345bbd5b4
1 changed files with 2 additions and 2 deletions

4
mkfs.c
View File

@ -1588,11 +1588,11 @@ int main(int ac, char **av)
trans = btrfs_start_transaction(root, 1); trans = btrfs_start_transaction(root, 1);
btrfs_register_one_device(file);
if (dev_cnt == 0) if (dev_cnt == 0)
goto raid_groups; goto raid_groups;
btrfs_register_one_device(file);
while (dev_cnt-- > 0) { while (dev_cnt-- > 0) {
int old_mixed = mixed; int old_mixed = mixed;