Subject: fsck_lfs leaves unclean filesystem
To: None <tech-kern@netbsd.org>
From: Daniel Carosone <dan@geek.com.au>
List: tech-kern
Date: 11/20/2006 12:30:47
--kc4qbS5zHv4m4G2G
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Root LFS filesystem that had been filled with an unlinked file (dd
=2E.. of=3Dfoo &; rm foo) and then crashed deliberately when the dd
process seemed to get stuck exiting when it filled.

After the reboot and automatic fsck -p, in the first instance, the
cleaner wasn't making forward progress, and wasn't recovering the
space.  I shut the domain down again and forced a full fsck.  This
found the unlinked file and cleaned it up - but left damage of its
own. A second run fixed that.

After a reboot and mount, the fs is still 107% full.. but the cleaner
seems to be slowly trickling the space back.

--
Dan.

# fsck -f /
** /dev/rxbd0a
** File system is already clean
** Last Mounted on /
** Root file system
** Phase 0 - Check Inode Free List
** Phase 1 - Check Blocks and Sizes
PARTIALLY TRUNCATED INODE I=3D2462
SALVAGE? [yn] y

INCORRECT BLOCK COUNT I=3D2462 (14382408 SHOULD BE 14382328)
CORRECT? [yn] y

** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
PROPERLY ORPHANED FILE I=3D2462  OWNER=3Droot MODE=3D100644
SIZE=3D14720303104 MTIME=3DNov 20 11:37 2006=20
CLEAR? [yn] y

PROPERLY ORPHANED FILE I=3D16424  OWNER=3Droot MODE=3D100600
SIZE=3D2048 MTIME=3DNov 20 12:07 2006=20
CLEAR? [yn] y

PROPERLY ORPHANED FILE I=3D18202  OWNER=3Droot MODE=3D100600
SIZE=3D429 MTIME=3DNov 20 12:07 2006=20
CLEAR? [yn] y

** Phase 5 - Check Segment Block Accounting
SEGMENT 2039 CLAIMS 638720 BYTES BUT HAS 622336 (HIGH BY 16384)

FIX? [yn] y

SEGMENT 19133 CLAIMS 237568 BYTES BUT HAS 172032 (HIGH BY 65536)

FIX? [yn] y

** Phase 6 - Roll Forward
199736 files, 3913904 used, 15209581 free

WRITE CHANGES TO DISK? [yn] y

WRITING CHANGES TO DISK

UPDATE SUPERBLOCKS? [yn] y


MARK FILE SYSTEM CLEAN? [yn] y


***** FILE SYSTEM MARKED CLEAN *****

***** FILE SYSTEM WAS MODIFIED *****
# fsck -f /
** /dev/rxbd0a
** File system is already clean
** Last Mounted on /
** Root file system
** Phase 0 - Check Inode Free List
INO 18202 FREE BUT NOT ON FREE LIST

FIX? [yn] y

INO 16424 FREE BUT NOT ON FREE LIST

FIX? [yn] y

INO 2462 FREE BUT NOT ON FREE LIST

FIX? [yn] y

FREE LIST HEAD IN SUPERBLOCK SHOULD BE 18202 (WAS 2462)

FIX? [yn] y

** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Segment Block Accounting
NCLEAN GIVEN AS 1613, SHOULD BE 1609

FIX? [yn] y

** Phase 6 - Roll Forward
199736 files, 3913904 used, 15209573 free

WRITE CHANGES TO DISK? [yn] y

WRITING CHANGES TO DISK

UPDATE SUPERBLOCKS? [yn] y


MARK FILE SYSTEM CLEAN? [yn] y


***** FILE SYSTEM MARKED CLEAN *****

***** FILE SYSTEM WAS MODIFIED *****
# fsck -f /
** /dev/rxbd0a
** File system is already clean
** Last Mounted on /
** Root file system
** Phase 0 - Check Inode Free List
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Segment Block Accounting
** Phase 6 - Roll Forward
199736 files, 3913904 used, 15209571 free
#

--kc4qbS5zHv4m4G2G
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (NetBSD)

iD8DBQFFYQVHEAVxvV4N66cRAn5SAKCWlsaMWsMcisIXK3pP3OgahqDTAwCeLQ7S
XfQafzJLr2rSnJK76wHw5Po=
=h4cF
-----END PGP SIGNATURE-----

--kc4qbS5zHv4m4G2G--