linux/fs/gfs2
Andreas Gruenbacher 0515480ad4 gfs2: gfs2_glock_get: Wait on freeing glocks
Keep glocks in their hash table until they are freed instead of removing
them when their last reference is dropped.  This allows to wait for any
previous instances of a glock to go away in gfs2_glock_get before
creating a new glocks.

Special thanks to Andy Price for finding and fixing a problem which also
required us to delete the rcu_read_unlock from the error case in function
gfs2_glock_get.

Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Bob Peterson <rpeterso@redhat.com>
2017-08-10 10:39:31 -05:00
..
acl.c gfs2: Don't clear SGID when inheriting ACLs 2017-07-19 10:58:54 -05:00
acl.h gfs2: Switch to generic xattr handlers 2016-05-12 22:28:05 -04:00
aops.c We've got eight GFS2 patches for this merge window: 2017-02-21 07:46:34 -08:00
bmap.c gfs2: add flag REQ_PRIO for metadata I/O 2017-07-21 07:48:22 -05:00
bmap.h GFS2: Clean up journal extent mapping 2014-03-03 13:50:12 +00:00
dentry.c gfs2: Lock holder cleanup 2016-06-27 09:47:09 -05:00
dir.c gfs2: add flag REQ_PRIO for metadata I/O 2017-07-21 07:48:22 -05:00
dir.h GFS2: Make rename not save dirent location 2014-10-01 14:06:15 +01:00
export.c gfs2: Get rid of gfs2_ilookup 2016-06-27 09:47:08 -05:00
file.c gfs2: Lock holder cleanup (fixup) 2017-07-17 13:39:15 -05:00
gfs2.h
glock.c gfs2: gfs2_glock_get: Wait on freeing glocks 2017-08-10 10:39:31 -05:00
glock.h GFS2: Introduce helper for clearing gl_object 2017-07-21 08:20:05 -05:00
glops.c GFS2: fix code parameter error in inode_go_lock 2017-07-21 07:40:59 -05:00
glops.h GFS2: update freeze code to use freeze/thaw_super on all nodes 2014-11-17 10:36:39 +00:00
incore.h gfs2: Fix glock rhashtable rcu bug 2017-07-07 13:22:05 -05:00
inode.c gfs2: Fix trivial typos 2017-08-09 09:36:39 -05:00
inode.h GFS2: use BIT() macro 2016-08-02 12:05:27 -05:00
Kconfig
lock_dlm.c sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h> 2017-03-02 08:42:32 +01:00
log.c We've got eight GFS2 patches for this merge window: 2017-07-05 16:57:08 -07:00
log.h GFS2: remove transaction glock 2014-05-14 10:04:34 +01:00
lops.c Writeback error handling fixes (pile #2) 2017-07-07 19:38:17 -07:00
lops.h gfs2: use bio op accessors 2016-06-07 13:41:38 -06:00
main.c GFS2: Remove gl_list from glock structure 2017-06-12 14:39:12 -05:00
Makefile
meta_io.c gfs2: add flag REQ_PRIO for metadata I/O 2017-07-21 07:48:22 -05:00
meta_io.h GFS2: Refactor gfs2_remove_from_journal 2016-05-06 11:27:27 -05:00
ops_fstype.c GFS2: Delete debugfs files only after we evict the glocks 2017-08-09 09:36:39 -05:00
quota.c gfs2: add flag REQ_PRIO for metadata I/O 2017-07-21 07:48:22 -05:00
quota.h GFS2: Make rgrp reservations part of the gfs2_inode structure 2015-12-14 12:16:38 -06:00
recovery.c GFS2: Fix gfs2_replay_incr_blk for multiple journal sizes 2016-07-21 13:02:44 -05:00
recovery.h GFS2: Fix gfs2_replay_incr_blk for multiple journal sizes 2016-07-21 13:02:44 -05:00
rgrp.c GFS2: Don't bother trying to add rgrps to the lru list 2017-08-09 09:36:38 -05:00
rgrp.h GFS2: Non-recursive delete 2017-04-19 08:25:43 -04:00
super.c gfs2: Fix trivial typos 2017-08-09 09:36:39 -05:00
super.h GFS2: update freeze code to use freeze/thaw_super on all nodes 2014-11-17 10:36:39 +00:00
sys.c We've got eight GFS2 patches for this merge window: 2017-07-05 16:57:08 -07:00
sys.h
trace_gfs2.h gfs2: Make statistics unsigned, suitable for use with do_div() 2015-09-03 13:33:32 -05:00
trans.c GFS2: Reduce contention on gfs2_log_lock 2017-01-30 12:10:25 -05:00
trans.h
util.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
util.h GFS2: Make rgrp reservations part of the gfs2_inode structure 2015-12-14 12:16:38 -06:00
xattr.c gfs2: Protect gl->gl_object by spin lock 2017-07-05 07:20:52 -05:00
xattr.h gfs2: Remove gfs2_xattr_acl_chmod 2015-12-06 21:25:17 -05:00