]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commit
xfs_repair: clear bad flags in process_dinode_int
authorEric Sandeen <sandeen@redhat.com>
Mon, 15 Sep 2014 23:23:39 +0000 (09:23 +1000)
committerDave Chinner <david@fromorbit.com>
Mon, 15 Sep 2014 23:23:39 +0000 (09:23 +1000)
commit5cd0710a8378a384c49d8c1d9a64f58b391a5dd5
treeaaefbc7e654b6dbdc8be868efbd481575b9dd485
parent9c1c2e3257199a115b72154c856d8c62e76fca46
xfs_repair: clear bad flags in process_dinode_int

process_dinode_int() reports bad flags if dino->di_flags &
~XFS_DIFLAG_ANY - i.e. if any flags are set outside the known set.
But then instead of clearing them, it does flags &= ~XFS_DIFLAG_ANY
which keeps *only* the bad flags.  This leads to persistent,
unrepairable errors of the form:

"Bad flags set in inode XXX"

Fix this.

While we are at it, fix a couple lines which look like they used to
be continuation lines, but are no longer.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dave Chinner <david@fromorbit.com>
repair/dinode.c