summaryrefslogtreecommitdiffstats
path: root/fs/ext4
diff options
context:
space:
mode:
authorruippan (潘睿) <ruippan@tencent.com>2018-12-04 07:04:12 +0100
committerTheodore Ts'o <tytso@mit.edu>2018-12-04 07:04:12 +0100
commite647e29196b7f802f8242c39ecb7cc937f5ef217 (patch)
treec4d3fd81d0acf4293cad2962d560cdaa68512359 /fs/ext4
parentext4: hard fail dax mount on unsupported devices (diff)
downloadlinux-e647e29196b7f802f8242c39ecb7cc937f5ef217.tar.xz
linux-e647e29196b7f802f8242c39ecb7cc937f5ef217.zip
ext4: fix EXT4_IOC_GROUP_ADD ioctl
Commit e2b911c53584 ("ext4: clean up feature test macros with predicate functions") broke the EXT4_IOC_GROUP_ADD ioctl. This was not noticed since only very old versions of resize2fs (before e2fsprogs 1.42) use this ioctl. However, using a new kernel with an enterprise Linux userspace will cause attempts to use online resize to fail with "No reserved GDT blocks". Fixes: e2b911c53584 ("ext4: clean up feature test macros with predicate...") Cc: stable@kernel.org # v4.4 Signed-off-by: Theodore Ts'o <tytso@mit.edu> Signed-off-by: ruippan (潘睿) <ruippan@tencent.com>
Diffstat (limited to 'fs/ext4')
-rw-r--r--fs/ext4/resize.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ext4/resize.c b/fs/ext4/resize.c
index 87350b642681..bc8ee0c498cc 100644
--- a/fs/ext4/resize.c
+++ b/fs/ext4/resize.c
@@ -1631,7 +1631,7 @@ int ext4_group_add(struct super_block *sb, struct ext4_new_group_data *input)
}
if (reserved_gdb || gdb_off == 0) {
- if (ext4_has_feature_resize_inode(sb) ||
+ if (!ext4_has_feature_resize_inode(sb) ||
!le16_to_cpu(es->s_reserved_gdt_blocks)) {
ext4_warning(sb,
"No reserved GDT blocks, can't resize");