fsck.gfs2: Undo partially done metadata records
This patch fixes a problem with duplicate block processing where
one reference is as metadata and another is not (reference as data
or ea or something). The problem is that the metadata block may have
been processed as metadata (for example, an indirect block pointing
to a bunch of data blocks, so all blocks it references are now
marked as metadata) but the last resolved duplicate is not as
metadata, so the sub-blocks are never reprocessed, or "undone".
This patch makes it so that basically if the first reference is
as metadata (so we know we processed its sub-blocks) and the inode
referencing it as metadata is the LAST inode to reference it as
metadata, the sub-blocks are sent through "undo" processing.
Signed-off-by: Bob Peterson <rpeterso@redhat.com>