How to run fsck on an ext4 USB strage

I plan to use a USB storage device on my TP-Link C7 version 5 OpenWrt router and want to be able to run fsck on the storage when needed.

My searches have however only turned up references to e2fsprogs, which may be exclusive to ext2.

See e.g. this page, which says:

This package contains essential ext2 filesystem utilities which consists of e2fsck, mke2fs and most of the other core ext2 filesystem utilities.

Would I be able to run fsck on an ext4 USB media?

If so, which packages should I be installing?

ADDENDUM

I found this bit on Wikipedia:

Despite what its name might suggest, e2fsprogs works not only with ext2, but also with ext3 and ext4.

Would that be true of OpenWrt's e2fsprogs? (I have seen some things work differently in OpenWrt than in Linux generally.)

1 Like

e2fsprogs provides fsck to each of them:

2 Likes

Follow Wikipedia's advice.

1 Like

Wow, what a mess I had from a power failure :wink:

root@OpenWrt:~# block mount
block: mounting /dev/sdb1 (ext4) as /mnt/BigMedia failed (5) - I/O error
root@OpenWrt:~# fsck /dev/sdb1
-ash: fsck: not found
root@OpenWrt:~# fsck.ext4 /dev/sdb1
e2fsck 1.45.6 (20-Mar-2020)
BigMedia: recovering journal
Journal checksum error found in BigMedia
BigMedia was not cleanly unmounted, check forced.
Pass 1: Checking inodes, blocks, and sizes
Inode 100598540 extent tree (at level 2) could be narrower.  Optimize<y>? yes
Inode 100598542 extent tree (at level 1) could be narrower.  Optimize<y>? yes
Inode 100598560 extent tree (at level 2) could be narrower.  Optimize<y>? yes
Inode 100598580 extent tree (at level 2) could be narrower.  Optimize<y>? yes
Inode 100598587 extent tree (at level 2) could be narrower.  Optimize<y>? yes
Inode 100598608 extent tree (at level 2) could be narrower.  Optimize<y>? yes
Inode 100598609 extent tree (at level 2) could be narrower.  Optimize<y>? yes
Inode 100598611 extent tree (at level 2) could be narrower.  Optimize<y>? yes
Inode 100598613 extent tree (at level 2) could be narrower.  Optimize<y>? yes
Inode 100598614 extent tree (at level 2) could be narrower.  Optimize ('a' enables 'yes' to all) <y>? yes to all
Inode 100598615 extent tree (at level 2) could be narrower.  Optimize? yes
Inode 100598619 extent tree (at level 2) could be narrower.  Optimize? yes
Inode 100598620 extent tree (at level 2) could be narrower.  Optimize? yes
Inode 100598628 extent tree (at level 1) could be narrower.  Optimize? yes
Inode 169149503 extent tree (at level 1) could be shorter.  Optimize? yes
Inode 169149506 extent tree (at level 1) could be shorter.  Optimize? yes
Inode 169149512 extent tree (at level 1) could be shorter.  Optimize? yes
Inode 172753027 extent tree (at level 1) could be shorter.  Optimize? yes
Inode 172753047 extent tree (at level 1) could be shorter.  Optimize? yes
Inode 172753048 extent tree (at level 1) could be shorter.  Optimize? yes
Inode 172753056 extent tree (at level 1) could be shorter.  Optimize? yes
Inode 172753057 extent tree (at level 1) could be shorter.  Optimize? yes
Inode 172753062 extent tree (at level 1) could be shorter.  Optimize? yes
Inode 172753063 extent tree (at level 1) could be shorter.  Optimize? yes
Inode 172753064 extent tree (at level 1) could be shorter.  Optimize? yes
Inode 172753065 extent tree (at level 1) could be shorter.  Optimize? yes
Inode 172753066 extent tree (at level 1) could be shorter.  Optimize? yes
Inode 172753071 extent tree (at level 1) could be shorter.  Optimize? yes
Inode 172753082 extent tree (at level 1) could be shorter.  Optimize? yes
Inode 172753084 extent tree (at level 1) could be shorter.  Optimize? yes
Inode 172753086 extent tree (at level 1) could be shorter.  Optimize? yes
Inode 172753087 extent tree (at level 1) could be shorter.  Optimize? yes
Inode 184287268 extent tree (at level 1) could be shorter.  Optimize? yes
Inode 184287270 extent tree (at level 1) could be shorter.  Optimize? yes
Inode 184287271 extent tree (at level 1) could be shorter.  Optimize? yes
Inode 184287272 extent tree (at level 1) could be shorter.  Optimize? yes
Inode 184287274 extent tree (at level 1) could be shorter.  Optimize? yes
Inode 184287275 extent tree (at level 1) could be shorter.  Optimize? yes
Inode 184418345 extent tree (at level 1) could be shorter.  Optimize? yes
Inode 196937320 extent tree (at level 1) could be narrower.  Optimize? yes
Inode 196937492 extent tree (at level 1) could be narrower.  Optimize? yes
Inode 259851047 extent tree (at level 1) could be narrower.  Optimize? yes
Pass 1E: Optimizing extent trees
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong (2280769514, counted=2124100580).
Fix? yes
Free inodes count wrong (365638497, counted=365631236).
Fix? yes

BigMedia: ***** FILE SYSTEM WAS MODIFIED *****
BigMedia: 649468/366280704 files (7.5% non-contiguous), 806120215/2930220795 blocks
root@OpenWrt:~# 

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.