summaryrefslogtreecommitdiff
path: root/fs/ext4
diff options
context:
space:
mode:
authorLukas Czerner <lczerner@redhat.com>2013-04-11 14:54:46 (GMT)
committerTheodore Ts'o <tytso@mit.edu>2013-04-11 14:54:46 (GMT)
commit43e50f50866513144026f2ac1a1c5cc20c7a8428 (patch)
tree31c7cc946f11b53d806767b917e6b8e42de7b2d5 /fs/ext4
parent0d14b098ce05c067e06eea5ed63d9b5c14656bdb (diff)
downloadlinux-43e50f50866513144026f2ac1a1c5cc20c7a8428.tar.xz
ext4: do not convert to indirect with bigalloc enabled
With bigalloc feature enabled we do not support indirect addressing at all so we have to prevent extent addressing to indirect addressing conversion in this case. The problem has been introduced with the commit "ext4: support simple conversion of extent-mapped inodes to use i_blocks" Signed-off-by: Lukas Czerner <lczerner@redhat.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/ext4')
-rw-r--r--fs/ext4/migrate.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/ext4/migrate.c b/fs/ext4/migrate.c
index d129a4d..49e8bdf 100644
--- a/fs/ext4/migrate.c
+++ b/fs/ext4/migrate.c
@@ -625,6 +625,10 @@ int ext4_ind_migrate(struct inode *inode)
(!ext4_test_inode_flag(inode, EXT4_INODE_EXTENTS)))
return -EINVAL;
+ if (EXT4_HAS_RO_COMPAT_FEATURE(inode->i_sb,
+ EXT4_FEATURE_RO_COMPAT_BIGALLOC))
+ return -EOPNOTSUPP;
+
handle = ext4_journal_start(inode, EXT4_HT_MIGRATE, 1);
if (IS_ERR(handle))
return PTR_ERR(handle);