GFS2: remove iopen glocks from cache on failed deletes
authorBenjamin Marzinski <bmarzins@redhat.com>
Sat, 15 Jan 2011 04:39:16 +0000 (22:39 -0600)
committerSteven Whitehouse <swhiteho@redhat.com>
Tue, 18 Jan 2011 14:28:29 +0000 (14:28 +0000)
commit23c3010808de86f21436eb822aacfa551bfc17e4
tree56b7176fdeb0dd453b88969dbecba7afcc39883f
parente6f597a1425b5af64917be3448b29e2d5a585ac8
GFS2: remove iopen glocks from cache on failed deletes

When a file gets deleted on GFS2, if a node can't get an exclusive lock on the
file's iopen glock, it punts on actually freeing up the space, because another
node is using the file.  When it does this, it needs to drop the iopen glock
from its cache so that the other node can get an exclusive lock on it. Now,
gfs2_delete_inode() sets GL_NOCACHE before dropping the shared lock on the
iopen glock in preparation for grabbing it in the exclusive state.  Since the
node needs the glock in the exclusive state, dropping the shared lock from the
cache doesn't slow down the case where no other nodes are using the file.

Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
fs/gfs2/super.c