diff options
author | David Sterba <dsterba@suse.com> | 2019-10-23 18:48:22 +0200 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2019-11-18 17:51:45 +0100 |
commit | b3470b5dbe1300dea94191ae4b7d070be9a5cdc9 (patch) | |
tree | 6afcb7969d6cb3c7f041da9eac5c3772d8470412 /fs/btrfs/block-group.h | |
parent | 0222dfdd4af1be2e70db956db61f9b43386ab76b (diff) |
btrfs: add dedicated members for start and length of a block group
The on-disk format of block group item makes use of the key that stores
the offset and length. This is further used in the code, although this
makes thing harder to understand. The key is also packed so the
offset/length is not properly aligned as u64.
Add start (key.objectid) and length (key.offset) members to block group
and remove the embedded key. When the item is searched or written, a
local variable for key is used.
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Reviewed-by: Nikolay Borisov <nborisov@suse.com>
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/block-group.h')
-rw-r--r-- | fs/btrfs/block-group.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/btrfs/block-group.h b/fs/btrfs/block-group.h index d78fce7cd3a4..2ea580352aff 100644 --- a/fs/btrfs/block-group.h +++ b/fs/btrfs/block-group.h @@ -43,10 +43,11 @@ struct btrfs_caching_control { #define CACHING_CTL_WAKE_UP SZ_2M struct btrfs_block_group_cache { - struct btrfs_key key; struct btrfs_fs_info *fs_info; struct inode *inode; spinlock_t lock; + u64 start; + u64 length; u64 pinned; u64 reserved; u64 used; |