43c29f0 fsck.gfs2 pass2: Don't delete invalid inode metadata

Authored and Committed by rpeterso 12 years ago
    fsck.gfs2 pass2: Don't delete invalid inode metadata
    
    In pass2, all metadata was deleted for inodes that were marked either
    "bad" or "invalid" but that is wrong, and here is why:
    Blocks marked "invalid" were invalidated due to duplicate block references.
    Pass1b should have already taken care of deleting their metadata, so in pass2
    we only need to delete the directory entries pointing to them.  We delete the
    metadata in pass1b because we need to eliminate the inode referencing the
    duplicate-referenced block from the list of candidates to keep.  So we have a
    delete-as-we-go policy.  Blocks marked "bad" need to have their entire
    metadata tree deleted.
    
    rhbz#675723
    
        
file modified
+22 -8