• Steven Whitehouse's avatar
    [GFS2] Recovery for lost unlinked inodes · c8cdf479
    Steven Whitehouse authored
    Under certain circumstances its possible (though rather unlikely) that
    inodes which were unlinked by one node while still open on another might
    get "lost" in the sense that they don't get deallocated if the node
    which held the inode open crashed before it was unlinked.
    
    This patch adds the recovery code which allows automatic deallocation of
    the inode if its found during block allocation (the sensible time to
    look for such inodes since we are scanning the rgrp's bitmaps anyway at
    this time, so it adds no overhead to do this).
    
    Since the inode will have had its i_nlink set to zero, all we need to
    trigger recovery is a lookup and an iput(), and the normal deallocation
    code takes care of the rest.
    Signed-off-by: default avatarSteven Whitehouse <swhiteho@redhat.com>
    c8cdf479
inode.c 31.7 KB