Message ID | 20200206104214.400857-3-naohiro.aota@wdc.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | btrfs: refactor and generalize chunk/dev_extent/extent allocation | expand |
On 06/02/2020 11:44, Naohiro Aota wrote: > This commit introduces chuk allocation policy for btrfs. Maybe "Introduce a per-device chink allocation policy for btrfs." Code wise, Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
On 2/6/20 5:41 AM, Naohiro Aota wrote: > This commit introduces chuk allocation policy for btrfs. This policy > controls how btrfs allocate a chunk and device extents from devices. > > There is no functional change introduced with this commit. > > Signed-off-by: Naohiro Aota <naohiro.aota@wdc.com> I'd rather see this right before it's actually used, so I can decide if it's the correct place/approach for this. Maybe once I'm through the whole series it'll make sense, but right now I can't tell where it gets used and thus can't really say if it's ok or not. Thanks, Josef
On 2/6/20 5:41 AM, Naohiro Aota wrote: > This commit introduces chuk allocation policy for btrfs. This policy ^^ chunk > controls how btrfs allocate a chunk and device extents from devices. > > There is no functional change introduced with this commit. > > Signed-off-by: Naohiro Aota <naohiro.aota@wdc.com> Of course then I notice my mail client re-ordered your emails and it was actually in the next patch. You can add Reviewed-by: Josef Bacik <josef@toxicpanda.com> to this. Thanks, Josef
On Thu, Feb 06, 2020 at 11:30:06AM +0000, Johannes Thumshirn wrote: >On 06/02/2020 11:44, Naohiro Aota wrote: >> This commit introduces chuk allocation policy for btrfs. > >Maybe "Introduce a per-device chink allocation policy for btrfs." What do you mean with "per-device"? Might be misunderstanding? One chunk allocation policy is set to one btrfs file system. There is no per-device policy for now. # yep, I found my typo and fixed it: "chuk" -> "chunk" >Code wise, >Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> >
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c index 9cfc668f91f4..beee9a94142f 100644 --- a/fs/btrfs/volumes.c +++ b/fs/btrfs/volumes.c @@ -1209,6 +1209,7 @@ static int open_fs_devices(struct btrfs_fs_devices *fs_devices, fs_devices->opened = 1; fs_devices->latest_bdev = latest_dev->bdev; fs_devices->total_rw_bytes = 0; + fs_devices->chunk_alloc_policy = BTRFS_CHUNK_ALLOC_REGULAR; out: return ret; } diff --git a/fs/btrfs/volumes.h b/fs/btrfs/volumes.h index 690d4f5a0653..f07e1c4240b9 100644 --- a/fs/btrfs/volumes.h +++ b/fs/btrfs/volumes.h @@ -209,6 +209,10 @@ BTRFS_DEVICE_GETSET_FUNCS(total_bytes); BTRFS_DEVICE_GETSET_FUNCS(disk_total_bytes); BTRFS_DEVICE_GETSET_FUNCS(bytes_used); +enum btrfs_chunk_allocation_policy { + BTRFS_CHUNK_ALLOC_REGULAR, +}; + struct btrfs_fs_devices { u8 fsid[BTRFS_FSID_SIZE]; /* FS specific uuid */ u8 metadata_uuid[BTRFS_FSID_SIZE]; @@ -259,6 +263,8 @@ struct btrfs_fs_devices { struct kobject fsid_kobj; struct kobject *devices_kobj; struct completion kobj_unregister; + + enum btrfs_chunk_allocation_policy chunk_alloc_policy; }; #define BTRFS_BIO_INLINE_CSUM_SIZE 64
This commit introduces chuk allocation policy for btrfs. This policy controls how btrfs allocate a chunk and device extents from devices. There is no functional change introduced with this commit. Signed-off-by: Naohiro Aota <naohiro.aota@wdc.com> --- fs/btrfs/volumes.c | 1 + fs/btrfs/volumes.h | 6 ++++++ 2 files changed, 7 insertions(+)