xfs_repair: enabling lazy sb counters

Peter Watkins treestem at gmail.com
Tue Sep 25 10:40:33 CDT 2012


Hello,

Has anyone noticed that phase1 updates the lazy count flag in the
superblock, and then writes out the sb before the traversal in phase5
counts btree blocks consumed and sets agf_btreeblks?

Seems like if xfs_repair is interrupted or crashes at the wrong time,
you'd have enabled lazy count but not set agf_btreeblks, which would
trigger the corruption check in xfs_alloc.c:xfs_read_agf().

If you just re-run xfs_repair to enable lazy counts, it would stop
early saying they're already enabled. You'd have to disable them, and
then enable again to get a consistent state.

Second, is it possible to enable lazy counts without doing the full
repair traversal, i.e. a cheap and easy way to set agf_btreeblks if
the fs is already consistent? On some systems, the whole repair
enchilada can take a long time!

Lazy counts are a great feature, and I'd like to enable them on some
older systems.

-Peter



More information about the xfs mailing list