OSDN Git Service

btrfs: set fs_devices->seed directly
authorAnand Jain <anand.jain@oracle.com>
Thu, 9 Nov 2017 15:45:23 +0000 (23:45 +0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 22 Jan 2018 15:08:13 +0000 (16:08 +0100)
This is in preparation to move a section of code in __btrfs_open_devices()
into a new function so that it can be reused. As we set seeding if any of
the device is having SB flag BTRFS_SUPER_FLAG_SEEDING, so do it in the
device list loop itself. No functional changes.

Signed-off-by: Anand Jain <anand.jain@oracle.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/volumes.c

index 96c6c0f..51445cc 100644 (file)
@@ -1019,7 +1019,6 @@ static int __btrfs_open_devices(struct btrfs_fs_devices *fs_devices,
        struct buffer_head *bh;
        struct btrfs_super_block *disk_super;
        u64 devid;
-       int seeding = 1;
        int ret = 0;
 
        flags |= FMODE_EXCL;
@@ -1051,9 +1050,9 @@ static int __btrfs_open_devices(struct btrfs_fs_devices *fs_devices,
 
                if (btrfs_super_flags(disk_super) & BTRFS_SUPER_FLAG_SEEDING) {
                        device->writeable = 0;
+                       fs_devices->seeding = 1;
                } else {
                        device->writeable = !bdev_read_only(bdev);
-                       seeding = 0;
                }
 
                q = bdev_get_queue(bdev);
@@ -1085,7 +1084,6 @@ error_brelse:
                ret = -EINVAL;
                goto out;
        }
-       fs_devices->seeding = seeding;
        fs_devices->opened = 1;
        fs_devices->latest_bdev = latest_dev->bdev;
        fs_devices->total_rw_bytes = 0;