btrfs: convert incompat and compat flag test helpers to macros
These helpers use functions not defined in fs.h, they're simply accessors of the super block in fs_info, convert them to macros so that we don't have a weird dependency between fs.h and accessors.h. Signed-off-by: Josef Bacik <josef@toxicpanda.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
ec8eb376e2
commit
0d3a9cf8c3
@ -44,6 +44,12 @@ void __btrfs_set_fs_compat_ro(struct btrfs_fs_info *fs_info, u64 flag,
|
||||
void __btrfs_clear_fs_compat_ro(struct btrfs_fs_info *fs_info, u64 flag,
|
||||
const char *name);
|
||||
|
||||
#define __btrfs_fs_incompat(fs_info, flags) \
|
||||
(!!(btrfs_super_incompat_flags((fs_info)->super_copy) & (flags)))
|
||||
|
||||
#define __btrfs_fs_compat_ro(fs_info, flags) \
|
||||
(!!(btrfs_super_compat_ro_flags((fs_info)->super_copy) & (flags)))
|
||||
|
||||
#define btrfs_set_fs_incompat(__fs_info, opt) \
|
||||
__btrfs_set_fs_incompat((__fs_info), BTRFS_FEATURE_INCOMPAT_##opt, #opt)
|
||||
|
||||
@ -62,20 +68,6 @@ void __btrfs_clear_fs_compat_ro(struct btrfs_fs_info *fs_info, u64 flag,
|
||||
#define btrfs_fs_compat_ro(fs_info, opt) \
|
||||
__btrfs_fs_compat_ro((fs_info), BTRFS_FEATURE_COMPAT_RO_##opt)
|
||||
|
||||
static inline bool __btrfs_fs_incompat(struct btrfs_fs_info *fs_info, u64 flag)
|
||||
{
|
||||
struct btrfs_super_block *disk_super;
|
||||
disk_super = fs_info->super_copy;
|
||||
return !!(btrfs_super_incompat_flags(disk_super) & flag);
|
||||
}
|
||||
|
||||
static inline int __btrfs_fs_compat_ro(struct btrfs_fs_info *fs_info, u64 flag)
|
||||
{
|
||||
struct btrfs_super_block *disk_super;
|
||||
disk_super = fs_info->super_copy;
|
||||
return !!(btrfs_super_compat_ro_flags(disk_super) & flag);
|
||||
}
|
||||
|
||||
static inline int btrfs_fs_closing(struct btrfs_fs_info *fs_info)
|
||||
{
|
||||
/* Do it this way so we only ever do one test_bit in the normal case. */
|
||||
|
Loading…
x
Reference in New Issue
Block a user