ext4 resize/fsck

Curtis Doty Curtis at GreenKey.net
Wed Feb 4 02:23:23 UTC 2009


Horsing around with ext4 again...on F-10.

This time a fsck was required after both an offline shrink and an online 
grow. Why?

----8<----
13:22]stratus~# resize2fs -M -p /dev/foo/bar
resize2fs 1.41.3 (12-Oct-2008)
Please run 'e2fsck -f /dev/foo/bar' first.

13:22]stratus~# e2fsck -C0 -f /dev/foo/bar
e2fsck 1.41.3 (12-Oct-2008)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
bar: 43186/172800 files (0.2% non-contiguous), 295511/1753088 blocks

13:24]stratus~# resize2fs -M -p /dev/foo/bar
resize2fs 1.41.3 (12-Oct-2008)
Resizing the filesystem on /dev/foo/bar to 426236 (4k) blocks.
Begin pass 2 (max = 101383)
Relocating blocks             XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Begin pass 3 (max = 54)
Scanning inode table          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Begin pass 4 (max = 5278)
Updating inode references     XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
The filesystem on /dev/foo/bar is now 426236 blocks long.

13:25]stratus~# fsck.ext4 -C0 -f /dev/foo/bar
e2fsck 1.41.3 (12-Oct-2008)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Block bitmap differences:  -(17--18) -(33--34) -(2835--3234)
Fix<y>? yes

Free blocks count wrong for group #0 (0, counted=404).
Fix<y>? yes

Free blocks count wrong (138405, counted=138809).
Fix<y>? yes

bar: ***** FILE SYSTEM WAS MODIFIED *****
bar: 43186/44800 files (0.2% non-contiguous), 287427/426236 blocks
----8<----

Then a bit later, I shrunk the lv to 4G, and then mounted the filesystem 
(just for fun), and finally online expanded the fs into it.

----8<----
15:54]stratus~# lvreduce -L4G foo/bar
   WARNING: Reducing active and open logical volume to 4.00 GB
   THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce bar? [y/n]: y
   Reducing logical volume bar to 4.00 GB
   Logical volume bar successfully resized

15:54]stratus~# resize2fs -p /dev/foo/bar
resize2fs 1.41.3 (12-Oct-2008)
Filesystem at /dev/foo/bar is mounted on /home; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/foo/bar to 1048576 (4k) blocks.
The filesystem on /dev/foo/bar is now 1048576 blocks long.

15:55]stratus~# umount /home
15:55]stratus~# fsck.ext4 -C0 -f /dev/foo/bar
e2fsck 1.41.3 (12-Oct-2008)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Directories count wrong for group #16 (62, counted=0).
Fix<y>? yes

Directories count wrong for group #19 (12, counted=0).
Fix<y>? yes

Directories count wrong for group #25 (1, counted=0).
Fix<y>? yes

Directories count wrong for group #26 (2, counted=0).
Fix<y>? yes

Directories count wrong for group #29 (38, counted=0).
Fix<y>? yes

bar: ***** FILE SYSTEM WAS MODIFIED *****
bar: 43186/102400 files (0.2% non-contiguous), 291069/1048576 blocks
----8<----

Is this all normal? I can suppose a fsck is required after a shrink. But 
after an online expand, seems odd.

Prior to this little experiment, the lv/ext4fs were at 6.7G. Shrinking 
brought it to 1.7G (with 1.1G in use). And obvously, I ended with 4G even.

../C




More information about the Ext3-users mailing list