All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ext4: continue to expand file system when the target size doesn't reach
@ 2022-07-18 10:25 Jerry Lee 李修賢
  2022-08-17  2:20 ` Jerry Lee 李修賢
  2022-09-27 21:53 ` Theodore Ts'o
  0 siblings, 2 replies; 3+ messages in thread
From: Jerry Lee 李修賢 @ 2022-07-18 10:25 UTC (permalink / raw)
  To: linux-ext4; +Cc: tytso

When expanding a file system from (16TiB-2MiB) to 18TiB, the operation
exits early which leads to result inconsistency between resize2fs and
Ext4 kernel driver.

=== before ===
○ → resize2fs /dev/mapper/thin
resize2fs 1.45.5 (07-Jan-2020)
Filesystem at /dev/mapper/thin is mounted on /mnt/test; on-line resizing required
old_desc_blocks = 2048, new_desc_blocks = 2304
The filesystem on /dev/mapper/thin is now 4831837696 (4k) blocks long.

[  865.186308] EXT4-fs (dm-5): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.
[  912.091502] dm-4: detected capacity change from 34359738368 to 38654705664
[  970.030550] dm-5: detected capacity change from 34359734272 to 38654701568
[ 1000.012751] EXT4-fs (dm-5): resizing filesystem from 4294966784 to 4831837696 blocks
[ 1000.012878] EXT4-fs (dm-5): resized filesystem to 4294967296

=== after ===
[  129.104898] EXT4-fs (dm-5): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.
[  143.773630] dm-4: detected capacity change from 34359738368 to 38654705664
[  198.203246] dm-5: detected capacity change from 34359734272 to 38654701568
[  207.918603] EXT4-fs (dm-5): resizing filesystem from 4294966784 to 4831837696 blocks
[  207.918754] EXT4-fs (dm-5): resizing filesystem from 4294967296 to 4831837696 blocks
[  207.918758] EXT4-fs (dm-5): Converting file system to meta_bg
[  207.918790] EXT4-fs (dm-5): resizing filesystem from 4294967296 to 4831837696 blocks
[  221.454050] EXT4-fs (dm-5): resized to 4658298880 blocks
[  227.634613] EXT4-fs (dm-5): resized filesystem to 4831837696

Signed-off-by: Jerry Lee <jerrylee@qnap.com>
---
 fs/ext4/resize.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/ext4/resize.c b/fs/ext4/resize.c
index 56c9ef0687fc..5ab7d1c38fad 100644
--- a/fs/ext4/resize.c
+++ b/fs/ext4/resize.c
@@ -2077,7 +2077,7 @@ int ext4_resize_fs(struct super_block *sb, ext4_fsblk_t n_blocks_count)
 			goto out;
 	}
 
-	if (ext4_blocks_count(es) == n_blocks_count)
+	if (ext4_blocks_count(es) == n_blocks_count && n_blocks_count_retry == 0)
 		goto out;
 
 	err = ext4_alloc_flex_bg_array(sb, n_group + 1);
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] ext4: continue to expand file system when the target size doesn't reach
  2022-07-18 10:25 [PATCH] ext4: continue to expand file system when the target size doesn't reach Jerry Lee 李修賢
@ 2022-08-17  2:20 ` Jerry Lee 李修賢
  2022-09-27 21:53 ` Theodore Ts'o
  1 sibling, 0 replies; 3+ messages in thread
From: Jerry Lee 李修賢 @ 2022-08-17  2:20 UTC (permalink / raw)
  To: linux-ext4; +Cc: tytso

friendly ping, thanks.

________________________________________
From: Jerry Lee 李修賢
Sent: Monday, July 18, 2022 6:25 PM
To: linux-ext4@vger.kernel.org
Cc: tytso@mit.edu
Subject: [PATCH] ext4: continue to expand file system when the target size doesn't reach

When expanding a file system from (16TiB-2MiB) to 18TiB, the operation
exits early which leads to result inconsistency between resize2fs and
Ext4 kernel driver.

=== before ===
○ → resize2fs /dev/mapper/thin
resize2fs 1.45.5 (07-Jan-2020)
Filesystem at /dev/mapper/thin is mounted on /mnt/test; on-line resizing required
old_desc_blocks = 2048, new_desc_blocks = 2304
The filesystem on /dev/mapper/thin is now 4831837696 (4k) blocks long.

[  865.186308] EXT4-fs (dm-5): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.
[  912.091502] dm-4: detected capacity change from 34359738368 to 38654705664
[  970.030550] dm-5: detected capacity change from 34359734272 to 38654701568
[ 1000.012751] EXT4-fs (dm-5): resizing filesystem from 4294966784 to 4831837696 blocks
[ 1000.012878] EXT4-fs (dm-5): resized filesystem to 4294967296

=== after ===
[  129.104898] EXT4-fs (dm-5): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.
[  143.773630] dm-4: detected capacity change from 34359738368 to 38654705664
[  198.203246] dm-5: detected capacity change from 34359734272 to 38654701568
[  207.918603] EXT4-fs (dm-5): resizing filesystem from 4294966784 to 4831837696 blocks
[  207.918754] EXT4-fs (dm-5): resizing filesystem from 4294967296 to 4831837696 blocks
[  207.918758] EXT4-fs (dm-5): Converting file system to meta_bg
[  207.918790] EXT4-fs (dm-5): resizing filesystem from 4294967296 to 4831837696 blocks
[  221.454050] EXT4-fs (dm-5): resized to 4658298880 blocks
[  227.634613] EXT4-fs (dm-5): resized filesystem to 4831837696

Signed-off-by: Jerry Lee <jerrylee@qnap.com>
---
 fs/ext4/resize.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/ext4/resize.c b/fs/ext4/resize.c
index 56c9ef0687fc..5ab7d1c38fad 100644
--- a/fs/ext4/resize.c
+++ b/fs/ext4/resize.c
@@ -2077,7 +2077,7 @@ int ext4_resize_fs(struct super_block *sb, ext4_fsblk_t n_blocks_count)
                        goto out;
        }

-       if (ext4_blocks_count(es) == n_blocks_count)
+       if (ext4_blocks_count(es) == n_blocks_count && n_blocks_count_retry == 0)
                goto out;

        err = ext4_alloc_flex_bg_array(sb, n_group + 1);
--
2.17.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] ext4: continue to expand file system when the target size doesn't reach
  2022-07-18 10:25 [PATCH] ext4: continue to expand file system when the target size doesn't reach Jerry Lee 李修賢
  2022-08-17  2:20 ` Jerry Lee 李修賢
@ 2022-09-27 21:53 ` Theodore Ts'o
  1 sibling, 0 replies; 3+ messages in thread
From: Theodore Ts'o @ 2022-09-27 21:53 UTC (permalink / raw)
  To: jerrylee, linux-ext4; +Cc: Theodore Ts'o

On Mon, 18 Jul 2022 10:25:19 +0000, Jerry Lee 李修賢 wrote:
> When expanding a file system from (16TiB-2MiB) to 18TiB, the operation
> exits early which leads to result inconsistency between resize2fs and
> Ext4 kernel driver.
> 
> === before ===
> ○ → resize2fs /dev/mapper/thin
> resize2fs 1.45.5 (07-Jan-2020)
> Filesystem at /dev/mapper/thin is mounted on /mnt/test; on-line resizing required
> old_desc_blocks = 2048, new_desc_blocks = 2304
> The filesystem on /dev/mapper/thin is now 4831837696 (4k) blocks long.
> 
> [...]

Applied, thanks!

[1/1] ext4: continue to expand file system when the target size doesn't reach
      commit: df3cb754d13d2cd5490db9b8d536311f8413a92e

Best regards,
-- 
Theodore Ts'o <tytso@mit.edu>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-09-27 21:53 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-18 10:25 [PATCH] ext4: continue to expand file system when the target size doesn't reach Jerry Lee 李修賢
2022-08-17  2:20 ` Jerry Lee 李修賢
2022-09-27 21:53 ` Theodore Ts'o

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.