Re: [patch 01/45] XFS: corruption fix

Nathan Scott
2006-07-18T22:27:36Z

On Tue, Jul 18, 2006 at 03:27:37PM +0200, Jan Engelhardt wrote:
> >
> >Fix nused counter. It's currently getting set to -1 rather than getting
> >decremented by 1. Since nused never reaches 0, the "if (!free->hdr.nused)"
> >check in xfs_dir2_leafn_remove() fails every time and xfs_dir2_shrink_inode()
> >doesn't get called when it should. This causes extra blocks to be left on
> >an empty directory and the directory in unable to be converted back to
> >inline extent mode.
> >
> Is there a utility to fix such directories or will they autoshrink once the fs
> is run with a 2.6.17.7?

An xfs_repair is required. There is a remaining issue with repair
where it cannot resolve some particular types of directory trashing,
but for the most part I believe xfs_repair will resolve this (please
report if not). We're working on improving the way xfs_repair deals
with dir2 corruption atm, so this remaining problem (that funky dir2
offset problem, iow) I expect will shortly be resolved.

cheers.

--
Nathan