We don't set EXT4_MB_HINT_GOAL_ONLY flag at any place and from our last during discussion, we don't see a need/use case of it anytime in near future too. So just kill the flag and all of it's references. This also adjusts the remaining ac_flags macro values accordingly. Signed-off-by: Ritesh Harjani <riteshh@xxxxxxxxxxxxx> --- fs/ext4/ext4.h | 12 +++++------- fs/ext4/mballoc.c | 10 ---------- include/trace/events/ext4.h | 1 - 3 files changed, 5 insertions(+), 18 deletions(-) diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index 91eb4381cae5..db4fb62c1169 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h @@ -130,18 +130,16 @@ enum SHIFT_DIRECTION { #define EXT4_MB_HINT_NOPREALLOC 0x0040 /* allocate for locality group */ #define EXT4_MB_HINT_GROUP_ALLOC 0x0080 -/* allocate goal blocks or none */ -#define EXT4_MB_HINT_GOAL_ONLY 0x0100 /* goal is meaningful */ -#define EXT4_MB_HINT_TRY_GOAL 0x0200 +#define EXT4_MB_HINT_TRY_GOAL 0x0100 /* blocks already pre-reserved by delayed allocation */ -#define EXT4_MB_DELALLOC_RESERVED 0x0400 +#define EXT4_MB_DELALLOC_RESERVED 0x0200 /* We are doing stream allocation */ -#define EXT4_MB_STREAM_ALLOC 0x0800 +#define EXT4_MB_STREAM_ALLOC 0x0400 /* Use reserved root blocks if needed */ -#define EXT4_MB_USE_ROOT_BLOCKS 0x1000 +#define EXT4_MB_USE_ROOT_BLOCKS 0x0800 /* Use blocks from reserved pool */ -#define EXT4_MB_USE_RESERVED 0x2000 +#define EXT4_MB_USE_RESERVED 0x1000 struct ext4_allocation_request { /* target inode for block we're allocating */ diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c index 6e7232fd109e..4d6effe22652 100644 --- a/fs/ext4/mballoc.c +++ b/fs/ext4/mballoc.c @@ -2157,9 +2157,6 @@ ext4_mb_regular_allocator(struct ext4_allocation_context *ac) if (err || ac->ac_status == AC_STATUS_FOUND) goto out; - if (unlikely(ac->ac_flags & EXT4_MB_HINT_GOAL_ONLY)) - goto out; - /* * ac->ac2_order is set only if the fe_len is a power of 2 * if ac2_order is set we also set criteria to 0 so that we @@ -3139,10 +3136,6 @@ ext4_mb_normalize_request(struct ext4_allocation_context *ac, if (!(ac->ac_flags & EXT4_MB_HINT_DATA)) return; - /* sometime caller may want exact blocks */ - if (unlikely(ac->ac_flags & EXT4_MB_HINT_GOAL_ONLY)) - return; - /* caller may indicate that preallocation isn't * required (it's a tail, for example) */ if (ac->ac_flags & EXT4_MB_HINT_NOPREALLOC) @@ -4257,9 +4250,6 @@ static void ext4_mb_group_or_file(struct ext4_allocation_context *ac) if (!(ac->ac_flags & EXT4_MB_HINT_DATA)) return; - if (unlikely(ac->ac_flags & EXT4_MB_HINT_GOAL_ONLY)) - return; - size = ac->ac_o_ex.fe_logical + EXT4_C2B(sbi, ac->ac_o_ex.fe_len); isize = (i_size_read(ac->ac_inode) + ac->ac_sb->s_blocksize - 1) >> bsbits; diff --git a/include/trace/events/ext4.h b/include/trace/events/ext4.h index 19c87661eeec..a2a603172f57 100644 --- a/include/trace/events/ext4.h +++ b/include/trace/events/ext4.h @@ -30,7 +30,6 @@ struct partial_cluster; { EXT4_MB_HINT_DATA, "HINT_DATA" }, \ { EXT4_MB_HINT_NOPREALLOC, "HINT_NOPREALLOC" }, \ { EXT4_MB_HINT_GROUP_ALLOC, "HINT_GRP_ALLOC" }, \ - { EXT4_MB_HINT_GOAL_ONLY, "HINT_GOAL_ONLY" }, \ { EXT4_MB_HINT_TRY_GOAL, "HINT_TRY_GOAL" }, \ { EXT4_MB_DELALLOC_RESERVED, "DELALLOC_RESV" }, \ { EXT4_MB_STREAM_ALLOC, "STREAM_ALLOC" }, \ -- 2.21.0