diff --git a/fs/ext4/migrate.c b/fs/ext4/migrate.c index 8d64067..8052070 100644 --- a/fs/ext4/migrate.c +++ b/fs/ext4/migrate.c @@ -625,13 +625,14 @@ 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); - if (EXT4_HAS_RO_COMPAT_FEATURE(inode->i_sb, - EXT4_FEATURE_RO_COMPAT_BIGALLOC)) - return -EOPNOTSUPP; down_write(&EXT4_I(inode)->i_data_sem); ret = ext4_ext_check_inode(inode);