This is a complete process log, from partition expansion to file system expansion.
This is an example of no restart after partition expansion.
I have tried the restart scenario, and the file system expansion also failed.
No read-only mount is used here. If use read-only mount, will be prompted with "Mount unclean image to replay log first" and cannot expand the root file system.
root@R2S:~#
root@R2S:~# parted -l
Model: SD SA08G (sd/mmc)
Disk /dev/mmcblk0: 7973MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 33.6MB 50.3MB 16.8MB primary ext2 boot
2 67.1MB 604MB 537MB primary
root@R2S:~# lsblk -l
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 438.5M 0 loop /overlay
mmcblk0 179:0 0 7.4G 0 disk
mmcblk0p1 179:1 0 16M 0 part
mmcblk0p2 179:2 0 512M 0 part /rom
root@R2S:~# df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 73.5M 73.5M 0 100% /rom
tmpfs 494.4M 80.0K 494.4M 0% /tmp
/dev/loop0 436.5M 107.0M 329.5M 25% /overlay
overlayfs:/overlay 436.5M 107.0M 329.5M 25% /
tmpfs 512.0K 0 512.0K 0% /dev
overlayfs:/overlay 436.5M 107.0M 329.5M 25% /opt/docker
root@R2S:~# losetup -l
NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE DIO LOG-SEC
/dev/loop0 0 77070336 1 0 /mmcblk0p2 0 512
root@R2S:~#
root@R2S:~# parted -s /dev/mmcblk0 resizepart 2 100%
root@R2S:~# losetup -o 77070336 /dev/loop1 /dev/mmcblk0p2
root@R2S:~# fsck.f2fs /dev/loop1
Info: Segments per section = 1
Info: Sections per zone = 1
Info: sector size = 512
Info: total sectors = 15291392 (7466 MB)
Info: MKFS version
"Linux version 5.10.176 (builder@buildhost) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 11.2.0 r20134-5f15225c1e) 11.2.0, GNU ld (GNU Binutils) 2.37) #0 SMP PREEMPT Thu Apr 27 20:28:15 2023"
Info: FSCK version
from "Linux version 5.10.176 (builder@buildhost) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 11.2.0 r20134-5f15225c1e) 11.2.0, GNU ld (GNU Binutils) 2.37) #0 SMP PREEMPT Thu Apr 27 20:28:15 2023"
to "Linux version 5.10.176 (builder@buildhost) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 11.2.0 r20134-5f15225c1e) 11.2.0, GNU ld (GNU Binutils) 2.37) #0 SMP PREEMPT Thu Apr 27 20:28:15 2023"
Info: superblock features = 0 :
Info: superblock encrypt level = 0, salt = 00000000000000000000000000000000
Info: total FS sectors = 898048 (438 MB)
Info: CKPT version = d4b2973
Info: Checked valid nat_bits in checkpoint
Info: checkpoint state = c4 : nat_bits crc compacted_summary sudden-power-off
[FSCK] Unreachable nat entries [Ok..] [0x0]
[FSCK] SIT valid block bitmap checking [Ok..]
[FSCK] Hard link checking for regular file [Ok..] [0x1]
[FSCK] valid_block_count matching with CP [Ok..] [0x6c]
[FSCK] valid_node_count matching with CP (de lookup) [Ok..] [0x53]
[FSCK] valid_node_count matching with CP (nat lookup) [Ok..] [0x53]
[FSCK] valid_inode_count matched with CP [Ok..] [0x53]
[FSCK] free segment_count matched with CP [Ok..] [0xcd]
[FSCK] next block offset is free [Ok..]
[FSCK] fixing SIT types
[FSCK] other corrupted bugs [Ok..]
Done: 0.967377 secs
root@R2S:~# mount -r /dev/loop1 /mnt
root@R2S:~# ls -l /mnt/upper/etc
-rw-r--r-- 1 root root 581 Jan 21 2016 board.json
drwxr-xr-x 2 root root 3488 Jan 21 2016 config
drwxr-xr-x 2 root root 3488 Oct 11 10:49 docker
drwx------ 2 root root 3488 Jan 21 2016 dropbear
drwxrwxrwx 2 root root 3488 Jan 21 2016 uci-defaults
-rw-r--r-- 1 root root 749 Jan 21 2016 uhttpd.crt
-rw-r--r-- 1 root root 121 Jan 21 2016 uhttpd.key
-rw------- 1 root root 512 Jan 21 2016 urandom.seed
root@R2S:~# umount /dev/loop1
root@R2S:~# fsck.f2fs /dev/loop1
Info: Segments per section = 1
Info: Sections per zone = 1
Info: sector size = 512
Info: total sectors = 15291392 (7466 MB)
Info: MKFS version
"Linux version 5.10.176 (builder@buildhost) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 11.2.0 r20134-5f15225c1e) 11.2.0, GNU ld (GNU Binutils) 2.37) #0 SMP PREEMPT Thu Apr 27 20:28:15 2023"
Info: FSCK version
from "Linux version 5.10.176 (builder@buildhost) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 11.2.0 r20134-5f15225c1e) 11.2.0, GNU ld (GNU Binutils) 2.37) #0 SMP PREEMPT Thu Apr 27 20:28:15 2023"
to "Linux version 5.10.176 (builder@buildhost) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 11.2.0 r20134-5f15225c1e) 11.2.0, GNU ld (GNU Binutils) 2.37) #0 SMP PREEMPT Thu Apr 27 20:28:15 2023"
Info: superblock features = 0 :
Info: superblock encrypt level = 0, salt = 00000000000000000000000000000000
Info: total FS sectors = 898048 (438 MB)
Info: CKPT version = d4b2976
Info: checkpoint state = 45 : crc compacted_summary unmount
[FSCK] Unreachable nat entries [Ok..] [0x0]
[FSCK] SIT valid block bitmap checking [Ok..]
[FSCK] Hard link checking for regular file [Ok..] [0x1]
[FSCK] valid_block_count matching with CP [Ok..] [0x7d]
[FSCK] valid_node_count matching with CP (de lookup) [Ok..] [0x56]
[FSCK] valid_node_count matching with CP (nat lookup) [Ok..] [0x56]
[FSCK] valid_inode_count matched with CP [Ok..] [0x56]
[FSCK] free segment_count matched with CP [Ok..] [0xcc]
[FSCK] next block offset is free [Ok..]
[FSCK] fixing SIT types
[FSCK] other corrupted bugs [Ok..]
Done: 0.160005 secs
root@R2S:~# resize.f2fs /dev/loop1
Info: Segments per section = 1
Info: Sections per zone = 1
Info: sector size = 512
Info: total sectors = 15291392 (7466 MB)
Info: MKFS version
"Linux version 5.10.176 (builder@buildhost) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 11.2.0 r20134-5f15225c1e) 11.2.0, GNU ld (GNU Binutils) 2.37) #0 SMP PREEMPT Thu Apr 27 20:28:15 2023"
Info: FSCK version
from "Linux version 5.10.176 (builder@buildhost) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 11.2.0 r20134-5f15225c1e) 11.2.0, GNU ld (GNU Binutils) 2.37) #0 SMP PREEMPT Thu Apr 27 20:28:15 2023"
to "Linux version 5.10.176 (builder@buildhost) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 11.2.0 r20134-5f15225c1e) 11.2.0, GNU ld (GNU Binutils) 2.37) #0 SMP PREEMPT Thu Apr 27 20:28:15 2023"
Info: superblock features = 0 :
Info: superblock encrypt level = 0, salt = 00000000000000000000000000000000
Info: total FS sectors = 898048 (438 MB)
Invalid CP CRC offset: 0
Info: CKPT version = d4b2975
Info: Duplicate valid checkpoint to mirror position 512 -> 1024
Info: Write valid nat_bits in checkpoint
[migrate_block: 56] Migrate node block 1003 -> 3e00
[migrate_block: 56] Migrate node block 101d -> 3e01
[migrate_block: 56] Migrate node block 1020 -> 3e02
[migrate_block: 56] Migrate node block 1021 -> 3e03
[migrate_block: 56] Migrate node block 1023 -> 3e04
[migrate_block: 56] Migrate node block 1025 -> 3e05
[migrate_block: 56] Migrate node block 1028 -> 3e06
[migrate_block: 56] Migrate node block 102a -> 3e07
[migrate_block: 56] Migrate node block 102b -> 3e08
[migrate_block: 56] Migrate node block 102c -> 3e09
[migrate_block: 56] Migrate node block 102d -> 3e0a
[migrate_block: 56] Migrate node block 102e -> 3e0b
[migrate_block: 56] Migrate node block 102f -> 3e0c
[migrate_block: 56] Migrate node block 1030 -> 3e0d
[migrate_block: 56] Migrate node block 1031 -> 3e0e
[migrate_block: 56] Migrate node block 1032 -> 3e0f
[migrate_block: 56] Migrate node block 1033 -> 3e10
[migrate_block: 56] Migrate node block 1034 -> 3e11
[migrate_block: 56] Migrate node block 1036 -> 3e12
[migrate_block: 56] Migrate node block 1037 -> 3e13
[migrate_block: 56] Migrate node block 1038 -> 3e14
[migrate_block: 56] Migrate node block 1039 -> 3e15
[migrate_block: 56] Migrate node block 103a -> 3e16
[migrate_block: 56] Migrate node block 103b -> 3e17
[migrate_block: 56] Migrate node block 103c -> 3e18
[migrate_block: 56] Migrate node block 103d -> 3e19
[migrate_block: 56] Migrate node block 103e -> 3e1a
[migrate_block: 56] Migrate node block 103f -> 3e1b
[migrate_block: 56] Migrate node block 1040 -> 3e1c
[migrate_block: 56] Migrate node block 1041 -> 3e1d
[migrate_block: 56] Migrate node block 1042 -> 3e1e
[migrate_block: 56] Migrate node block 1043 -> 3e1f
[migrate_block: 56] Migrate node block 1044 -> 3e20
[migrate_block: 56] Migrate node block 1045 -> 3e21
[migrate_block: 56] Migrate node block 1046 -> 3e22
[migrate_block: 56] Migrate node block 1047 -> 3e23
[migrate_block: 56] Migrate node block 1048 -> 3e24
[migrate_block: 56] Migrate node block 104a -> 3e25
[migrate_block: 56] Migrate node block 104b -> 3e26
[migrate_block: 56] Migrate node block 104c -> 3e27
[migrate_block: 56] Migrate node block 104d -> 3e28
[migrate_block: 56] Migrate node block 104e -> 3e29
[migrate_block: 56] Migrate node block 104f -> 3e2a
[migrate_block: 56] Migrate node block 1050 -> 3e2b
[migrate_block: 56] Migrate node block 1051 -> 3e2c
[migrate_block: 56] Migrate node block 1055 -> 3e2d
[migrate_block: 56] Migrate node block 1056 -> 3e2e
[migrate_block: 56] Migrate node block 1058 -> 3e2f
[migrate_block: 56] Migrate node block 1059 -> 3e30
[migrate_block: 56] Migrate node block 105a -> 3e31
[migrate_block: 56] Migrate node block 105b -> 3e32
[migrate_block: 56] Migrate node block 105c -> 3e33
[migrate_block: 56] Migrate node block 105d -> 3e34
[migrate_block: 56] Migrate node block 105f -> 3e35
[migrate_block: 56] Migrate node block 1060 -> 3e36
[migrate_block: 56] Migrate node block 1062 -> 3e37
[migrate_block: 56] Migrate node block 1200 -> 4000
[migrate_block: 56] Migrate node block 1206 -> 4001
[migrate_block: 56] Migrate node block 1208 -> 4002
[migrate_block: 56] Migrate node block 1211 -> 4003
[migrate_block: 56] Migrate node block 1214 -> 4004
[migrate_block: 56] Migrate node block 1216 -> 4005
[migrate_block: 56] Migrate node block 121b -> 4006
[migrate_block: 56] Migrate node block 121c -> 4007
[migrate_block: 56] Migrate node block 121d -> 4008
[migrate_block: 56] Migrate node block 1228 -> 4009
[migrate_block: 56] Migrate node block 1229 -> 400a
[migrate_block: 56] Migrate node block 122a -> 400b
[migrate_block: 56] Migrate node block 122d -> 400c
[migrate_block: 56] Migrate node block 122e -> 400d
[migrate_block: 56] Migrate node block 122f -> 400e
[migrate_block: 56] Migrate node block 1230 -> 400f
[migrate_block: 56] Migrate node block 1231 -> 4010
[migrate_block: 56] Migrate node block 1236 -> 4011
[migrate_block: 56] Migrate node block 1237 -> 4012
[migrate_block: 56] Migrate node block 1238 -> 4013
[migrate_block: 56] Migrate node block 123b -> 4014
[migrate_block: 56] Migrate node block 123c -> 4015
[migrate_block: 56] Migrate node block 123f -> 4016
[migrate_block: 56] Migrate node block 1241 -> 4017
[migrate_block: 56] Migrate node block 1243 -> 4018
[migrate_block: 56] Migrate node block 124a -> 4019
[migrate_block: 56] Migrate node block 124b -> 401a
[migrate_block: 56] Migrate node block 124c -> 401b
[migrate_block: 56] Migrate node block 124d -> 401c
[migrate_block: 56] Migrate node block 124e -> 401d
[migrate_block: 56] Migrate data block 1605 -> 4200
[migrate_block: 56] Migrate data block 1606 -> 4201
[migrate_block: 56] Migrate data block 1607 -> 4202
[migrate_block: 56] Migrate data block 1608 -> 4203
[migrate_block: 56] Migrate data block 1609 -> 4204
[migrate_block: 56] Migrate data block 160a -> 4205
[migrate_block: 56] Migrate data block 160b -> 4206
[migrate_block: 56] Migrate data block 160c -> 4207
[migrate_block: 56] Migrate data block 160d -> 4208
[migrate_block: 56] Migrate data block 160e -> 4209
[migrate_block: 56] Migrate data block 160f -> 420a
[migrate_block: 56] Migrate data block 1610 -> 420b
[migrate_block: 56] Migrate data block 1611 -> 420c
[migrate_block: 56] Migrate data block 1612 -> 420d
[migrate_block: 56] Migrate data block 1613 -> 420e
[migrate_block: 56] Migrate data block 1614 -> 420f
[migrate_block: 56] Migrate data block 1615 -> 4210
[migrate_block: 56] Migrate data block 1616 -> 4211
[migrate_block: 56] Migrate data block 1617 -> 4212
[migrate_block: 56] Migrate data block 1618 -> 4213
[migrate_block: 56] Migrate data block 1619 -> 4214
[migrate_block: 56] Migrate data block 161a -> 4215
[migrate_block: 56] Migrate data block 161b -> 4216
[migrate_block: 56] Migrate data block 161c -> 4217
[migrate_block: 56] Migrate data block 161d -> 4218
[migrate_block: 56] Migrate data block 161e -> 4219
[migrate_block: 56] Migrate data block 161f -> 421a
[migrate_block: 56] Migrate data block 1620 -> 421b
[migrate_block: 56] Migrate data block 1621 -> 421c
[migrate_block: 56] Migrate data block 1622 -> 421d
[migrate_block: 56] Migrate data block 1623 -> 421e
[migrate_block: 56] Migrate data block 1624 -> 421f
[migrate_block: 56] Migrate data block 1625 -> 4220
[migrate_block: 56] Migrate data block 1626 -> 4221
[migrate_block: 56] Migrate data block 1627 -> 4222
[migrate_block: 56] Migrate data block 1628 -> 4223
[migrate_block: 56] Migrate data block 1629 -> 4224
[migrate_block: 56] Migrate data block 162a -> 4225
[migrate_block: 56] Migrate data block 162b -> 4226
[FIX] (move_one_curseg_info:2798) --> Move curseg[0] 4 -> 19 after 3e00
[FIX] (move_one_curseg_info:2798) --> Move curseg[1] 68 -> 1a after 3e00
[FIX] (move_one_curseg_info:2798) --> Move curseg[2] 33 -> 1b after 3e00
[FIX] (move_one_curseg_info:2798) --> Move curseg[3] 0 -> 17 after 3e00
[FIX] (move_one_curseg_info:2798) --> Move curseg[4] 1 -> 18 after 3e00
[FIX] (move_one_curseg_info:2798) --> Move curseg[5] 2 -> 1c after 3e00
Info: Write valid nat_bits in checkpoint
Try to do defragement: Done
[migrate_ssa: 270] Info: Done to migrate SSA blocks: sum_blkaddr = 0xe00 -> 0x2e00
[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: 14.460683 secs
There is no error prompt at this point, but I will not be able to enter the system after reboot at this time, I suspect that the file system expansion has failed,
so I just run fsck.f2fs
again it fail and stuck.
root@R2S:~# fsck.f2fs /dev/loop1
Info: Segments per section = 1
Info: Sections per zone = 1
Info: sector size = 512
Info: total sectors = 15291392 (7466 MB)
Info: MKFS version
"Linux version 5.10.176 (builder@buildhost) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 11.2.0 r20134-5f15225c1e) 11.2.0, GNU ld (GNU Binutils) 2.37) #0 SMP PREEMPT Thu Apr 27 20:28:15 2023"
Info: FSCK version
from "Linux version 5.10.176 (builder@buildhost) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 11.2.0 r20134-5f15225c1e) 11.2.0, GNU ld (GNU Binutils) 2.37) #0 SMP PREEMPT Thu Apr 27 20:28:15 2023"
to "Linux version 5.10.176 (builder@buildhost) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 11.2.0 r20134-5f15225c1e) 11.2.0, GNU ld (GNU Binutils) 2.37) #0 SMP PREEMPT Thu Apr 27 20:28:15 2023"
Info: superblock features = 0 :
Info: superblock encrypt level = 0, salt = 00000000000000000000000000000000
Info: total FS sectors = 15291392 (7466 MB)
Invalid CP CRC offset: 0
Info: CKPT version = d4b2976
Info: Checked valid nat_bits in checkpoint
Info: checkpoint state = 81 : nat_bits unmount
[ASSERT] (sanity_check_nid: 417) --> nid[0x6d] nat_entry->ino[0x6d] footer.ino[0x46]
[ASSERT] (fsck_chk_inode_blk:1015) --> ino: 0x33 i_links: 14, real links: 13
NID[0x6d] is unreachable, blkaddr:0x3e37
NID[0x6e] is unreachable, blkaddr:0x3e35
NID[0x6f] is unreachable, blkaddr:0x3e36
NID[0x70] is unreachable, blkaddr:0x401a
NID[0x71] is unreachable, blkaddr:0x401b
NID[0x72] is unreachable, blkaddr:0x401c
NID[0x74] is unreachable, blkaddr:0x401d
[FSCK] Unreachable nat entries [Fail] [0x7]
[FSCK] SIT valid block bitmap checking [Fail]
[FSCK] Hard link checking for regular file [Ok..] [0x1]
[FSCK] valid_block_count matching with CP [Fail] [0x64]
[FSCK] valid_node_count matching with CP (de lookup) [Fail] [0x4f]
[FSCK] valid_node_count matching with CP (nat lookup) [Ok..] [0x56]
[FSCK] valid_inode_count matched with CP [Fail] [0x4f]
[FSCK] free segment_count matched with CP [Ok..] [0xe70]
[FSCK] next block offset is free [Ok..]
[FSCK] fixing SIT types
[FSCK] other corrupted bugs [Fail]
^C