FS#71801 - [f2fs-tools] resize.f2fs always fails with Error: Device size is not sufficient for F2FS volume..

Attached to Project: Arch Linux
Opened by aTc (aTc) - Wednesday, 11 August 2021, 18:09 GMT
Last edited by Christian Hesse (eworm) - Friday, 03 September 2021, 20:19 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Tobias Powalowski (tpowa)
Christian Hesse (eworm)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

f2fs-tools 1.14.0-2 version of f2fs.resize always fails with "Error: Device size is not sufficient for F2FS volume, more segment needed"
Works fine when downgrading to 1.14.0-1


Additional info:
* f2fs-tools 1.14.0-2



Steps to reproduce:

(Creating a simple file here instead of writing/resizing partitions for simplicity, but it behaves the same on partitioned disks)

create 1G file, create f2fs filesystem, expand file to 2G, resize filesystem

dd if=/dev/zero bs=1 count=0 seek=1G of=test1.img
mkfs.f2fs test1.img
dd if=/dev/zero bs=1 count=0 seek=2G of=test1.img
resize.f2fs test1.img

Output :

Info: Segments per section = 1
Info: Sections per zone = 1
Info: sector size = 512
Info: total sectors = 4194304 (2048 MB)
Info: MKFS version
"Linux version 5.13.9-arch1-1 (linux@archlinux) (gcc (GCC) 11.1.0, GNU ld (GNU Binutils) 2.36.1) #1 SMP PREEMPT Sun, 08 Aug 2021 11:25:35 +0000"
Info: FSCK version
from "Linux version 5.13.9-arch1-1 (linux@archlinux) (gcc (GCC) 11.1.0, GNU ld (GNU Binutils) 2.36.1) #1 SMP PREEMPT Sun, 08 Aug 2021 11:25:35 +0000"
to "Linux version 5.13.9-arch1-1 (linux@archlinux) (gcc (GCC) 11.1.0, GNU ld (GNU Binutils) 2.36.1) #1 SMP PREEMPT Sun, 08 Aug 2021 11:25:35 +0000"
Info: superblock features = 0 :
Info: superblock encrypt level = 0, salt = 00000000000000000000000000000000
Info: total FS sectors = 2097152 (1024 MB)
Info: CKPT version = 573b2473
Info: Duplicate valid checkpoint to mirror position 512 -> 1024
Info: Write valid nat_bits in checkpoint
Error: Device size is not sufficient for F2FS volume, more segment needed =18999

downgrade package :

sudo pacman -U f2fs-tools-1.14.0-1-x86_64.pkg.tar.zst

retry:

dd if=/dev/zero bs=1 count=0 seek=1G of=test2.img
mkfs.f2fs test2.img
dd if=/dev/zero bs=1 count=0 seek=2G of=test2.img
resize.f2fs test2.img

Output :

Info: Segments per section = 1
Info: Sections per zone = 1
Info: sector size = 512
Info: total sectors = 4194304 (2048 MB)
Info: MKFS version
"Linux version 5.13.9-arch1-1 (linux@archlinux) (gcc (GCC) 11.1.0, GNU ld (GNU Binutils) 2.36.1) #1 SMP PREEMPT Sun, 08 Aug 2021 11:25:35 +0000"
Info: FSCK version
from "Linux version 5.13.9-arch1-1 (linux@archlinux) (gcc (GCC) 11.1.0, GNU ld (GNU Binutils) 2.36.1) #1 SMP PREEMPT Sun, 08 Aug 2021 11:25:35 +0000"
to "Linux version 5.13.9-arch1-1 (linux@archlinux) (gcc (GCC) 11.1.0, GNU ld (GNU Binutils) 2.36.1) #1 SMP PREEMPT Sun, 08 Aug 2021 11:25:35 +0000"
Info: superblock features = 0 :
Info: superblock encrypt level = 0, salt = 00000000000000000000000000000000
Info: total FS sectors = 2097152 (1024 MB)
Info: CKPT version = 3d08dabd
Info: Duplicate valid checkpoint to mirror position 512 -> 1024
Info: Write valid nat_bits in checkpoint
[migrate_block: 56] Migrate node block 1400 -> 1c00
[FIX] (move_one_curseg_info:2798) --> Move curseg[0] 3 -> 5 after 1a00

[FIX] (move_one_curseg_info:2798) --> Move curseg[1] fa -> 6 after 1a00

[FIX] (move_one_curseg_info:2798) --> Move curseg[2] 7c -> 7 after 1a00

[FIX] (move_one_curseg_info:2798) --> Move curseg[3] 0 -> 4 after 1a00

[FIX] (move_one_curseg_info:2798) --> Move curseg[4] 1 -> 8 after 1a00

[FIX] (move_one_curseg_info:2798) --> Move curseg[5] 2 -> 9 after 1a00

Info: Write valid nat_bits in checkpoint
Try to do defragement: Done
[migrate_ssa: 270] Info: Done to migrate SSA blocks: sum_blkaddr = 0x1200 -> 0x1600
[migrate_nat: 386] Info: Done to migrate NAT blocks: nat_blkaddr = 0xa00 -> 0xa00
[migrate_sit: 444] Info: Done to restore new SIT blocks: 0x600
Info: Write valid nat_bits in checkpoint
[rebuild_checkpoint: 585] Info: Done to rebuild checkpoint blocks
[update_superblock: 695] Info: Done to update superblock

Done: 0.032358 secs



This task depends upon

Closed by  Christian Hesse (eworm)
Friday, 03 September 2021, 20:19 GMT
Reason for closing:  Fixed
Additional comments about closing:  f2fs-tools 1.14.0-3
Comment by Christian Hesse (eworm) - Tuesday, 31 August 2021, 19:11 GMT
Uh, strange... f2fs-tools 1.14.0-2 just fixes a packaging issue - it should not change behavior of resize.f2fs...
Can anybody explain what happens? Anybody with a fix?
Comment by Christian Hesse (eworm) - Tuesday, 31 August 2021, 19:17 GMT Comment by aTc (aTc) - Friday, 03 September 2021, 19:07 GMT
I re-makepkg'ed the 1.14.0-1 package on an up to date arch install, and that fails with the same issue. So the problem is not in the 1.14.0-2 packaging.

Building the package with _tag='76d2a9199f447d3f9c0fa7e09a7f9ae19e86bb74' (most recent master branch on f2fs-tools.git) produces a working resize.f2fs

The 1.14.0-1 package also seems to be from Aug 26, 2020 , something util-linux/kernel/f2fs related must have had an incompatible change since then.
Comment by Christian Hesse (eworm) - Friday, 03 September 2021, 20:06 GMT
Should be fixed in f2fs-tools 1.14.0-3, please give it a try.
Comment by aTc (aTc) - Friday, 03 September 2021, 20:13 GMT
Works for me.

Loading...