• Wang Shilong's avatar
    Btrfs: set right total device count for seeding support · 29865841
    Wang Shilong authored
    Seeding device support allows us to create a new filesystem
    based on existed filesystem.
    
    However newly created filesystem's @total_devices should include seed
    devices. This patch fix the following problem:
    
     # mkfs.btrfs -f /dev/sdb
     # btrfstune -S 1 /dev/sdb
     # mount /dev/sdb /mnt
     # btrfs device add -f /dev/sdc /mnt --->fs_devices->total_devices = 1
     # umount /mnt
     # mount /dev/sdc /mnt               --->fs_devices->total_devices = 2
    
    This is because we record right @total_devices in superblock, but
    @fs_devices->total_devices is reset to be 0 in btrfs_prepare_sprout().
    
    Fix this problem by not resetting @fs_devices->total_devices.
    Signed-off-by: default avatarWang Shilong <wangsl.fnst@cn.fujitsu.com>
    Signed-off-by: default avatarChris Mason <clm@fb.com>
    29865841
volumes.c 163 KB