• Abhijith Das's avatar
    [GFS2] Fix deallocation issues · d93cfa98
    Abhijith Das authored
    There were two issues during deallocation of unlinked inodes. The
    first was relating to the use of a "try" lock which in the case of
    the inode lock wasn't trying hard enough to deallocate in all
    circumstances (now changed to a normal glock) and in the case of
    the iopen lock didn't wait for the demotion of the shared lock before
    attempting to get the exclusive lock, and thereby sometimes (timing dependent)
    not completing the deallocation when it should have done.
    The second issue related to the lack of a way to invalidate dcache entries
    on remote nodes (now fixed by this patch) which meant that unlinks were
    taking a long time to return disk space to the fs. By adding some code to
    invalidate the dcache entries across the cluster for unlinked inodes, that
    is now fixed.
    This patch was written jointly by Abhijith Das and Steven Whitehouse.
    Signed-off-by: default avatarAbhijith Das <adas@redhat.com>
    Signed-off-by: default avatarSteven Whitehouse <swhiteho@redhat.com>
glock.c 49.2 KB