mirror of
https://github.com/torvalds/linux.git
synced 2026-10-07 05:31:08 -04:00
ext4: fix online resizing for bigalloc file systems with a 1k block size
An online resize of a file system with the bigalloc feature enabled and a 1k block size would be refused since ext4_resize_begin() did not understand s_first_data_block is 0 for all bigalloc file systems, even when the block size is 1k. Signed-off-by: Theodore Ts'o <[email protected]> Cc: [email protected]
This commit is contained in:
1 parent
f0a459dec5
commit
5f8c10936f
1 file changed
+2
-1
+2
-1
@@ -19,6 +19,7 @@
|
||||
|
||||
int ext4_resize_begin(struct super_block *sb)
|
||||
{
|
||||
struct ext4_sb_info *sbi = EXT4_SB(sb);
|
||||
int ret = 0;
|
||||
|
||||
if (!capable(CAP_SYS_RESOURCE))
|
||||
@@ -29,7 +30,7 @@ int ext4_resize_begin(struct super_block *sb)
|
||||
* because the user tools have no way of handling this. Probably a
|
||||
* bad time to do it anyways.
|
||||
*/
|
||||
if (EXT4_SB(sb)->s_sbh->b_blocknr !=
|
||||
if (EXT4_B2C(sbi, sbi->s_sbh->b_blocknr) !=
|
||||
le32_to_cpu(EXT4_SB(sb)->s_es->s_first_data_block)) {
|
||||
ext4_warning(sb, "won't resize using backup superblock at %llu",
|
||||
(unsigned long long)EXT4_SB(sb)->s_sbh->b_blocknr);
|
||||
|
||||
Reference in new issue
Block a user