From: Bob Peterson Date: Fri, 4 Dec 2015 18:57:00 +0000 (-0600) Subject: GFS2: Always use iopen glock for gl_deletes X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=5ea31bc0a6524b4fee8dc9ae8005d4a114a79812;p=deliverable%2Flinux.git GFS2: Always use iopen glock for gl_deletes Before this patch, when function try_rgrp_unlink queued a glock for delete_work to reclaim the space, it used the inode glock to do so. That's different from the iopen callback which uses the iopen glock for the same purpose. We should be consistent and always use the iopen glock. This may also save us reference counting problems with the inode glock, since clear_glock does an extra glock_put() for the inode glock. Signed-off-by: Bob Peterson --- diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c index b879925ce134..07c0265aa195 100644 --- a/fs/gfs2/rgrp.c +++ b/fs/gfs2/rgrp.c @@ -1789,7 +1789,7 @@ static void try_rgrp_unlink(struct gfs2_rgrpd *rgd, u64 *last_unlinked, u64 skip continue; *last_unlinked = block; - error = gfs2_glock_get(sdp, block, &gfs2_inode_glops, CREATE, &gl); + error = gfs2_glock_get(sdp, block, &gfs2_iopen_glops, CREATE, &gl); if (error) continue;