e394013 fsck.gfs2: replace recent i_goal fixes with simple logic

Authored and Committed by adas 9 years ago
    fsck.gfs2: replace recent i_goal fixes with simple logic
    
    This patch reverses the recent set of i_goal fixes for fsck.gfs2.
    This is because of two problems.
    1. It is not possible to determine if a valid block within the fs
    is the correct goal block for a given inode.
    2. Conversely, given an inode, it is also not possible to accurately
    determine what its goal block should be.
    
    The previous patches assumed that the last block of a file is its
    goal block, but that is not true if the file is a directory or if
    its blocks are not allocated sequentially. fsck.gfs2 would flag
    these inodes incorrectly as having bad i_goal values.
    
    This patch takes a simple approach. It checks if the i_goal of a
    given inode is out of bounds of the fs. If so, we can be certain
    that it is wrong and we set it to the inode metadata block. This
    is a safe starting point for gfs2 to determine where to allocate
    from next.
    
    Resolves: rhbz#1186515
    Signed-off-by: Abhi Das <adas@redhat.com>
    
        
file modified
+4 -88
file modified
+0 -5
file modified
+30 -5
file modified
+0 -1