]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
GFS2: Always use iopen glock for gl_deletes
authorBob Peterson <rpeterso@redhat.com>
Fri, 4 Dec 2015 18:57:00 +0000 (12:57 -0600)
committerBob Peterson <rpeterso@redhat.com>
Fri, 18 Dec 2015 17:02:52 +0000 (11:02 -0600)
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 <rpeterso@redhat.com>
fs/gfs2/rgrp.c

index b879925ce134978c23baf08c2b9106ba3eec6d2e..07c0265aa1953aebcd04d1d06e17d2ea53ddfc86 100644 (file)
@@ -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;