linux-stable/fs/gfs2
Bob Peterson 6cc4b6e801 GFS2: Don't do glock put on when inode creation fails
Currently the error path of function gfs2_inode_lookup calls function
gfs2_glock_put corresponding to an earlier call to gfs2_glock_get for
the inode glock. That's wrong because the error path also calls
iget_failed() which eventually calls iput, which eventually calls
gfs2_evict_inode, which does another gfs2_glock_put. This double-put
can cause the glock reference count to get off.

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
2015-12-18 11:04:46 -06:00
..
acl.c GFS2: gfs2_set_acl(): Cache "no acl" as well 2015-03-18 12:41:57 -05:00
acl.h GFS2: Increase the max number of ACLs 2014-03-19 15:16:24 +00:00
aops.c GFS2: Extract quota data from reservations structure (revert 5407e24) 2015-11-24 08:38:44 -06:00
bmap.c GFS2: Make rgrp reservations part of the gfs2_inode structure 2015-12-14 12:16:38 -06:00
bmap.h GFS2: Clean up journal extent mapping 2014-03-03 13:50:12 +00:00
dentry.c VFS: normal filesystems (and lustre): d_inode() annotations 2015-04-15 15:06:57 -04:00
dir.c gfs2: change gfs2 readdir cookie 2015-12-14 12:19:37 -06:00
dir.h GFS2: Make rename not save dirent location 2014-10-01 14:06:15 +01:00
export.c VFS: normal filesystems (and lustre): d_inode() annotations 2015-04-15 15:06:57 -04:00
file.c GFS2: Reduce size of incore inode 2015-12-14 12:19:24 -06:00
gfs2.h
glock.c GFS2: Reintroduce a timeout in function gfs2_gl_hash_clear 2015-12-14 12:19:31 -06:00
glock.h GFS2: Reduce size of incore inode 2015-12-14 12:19:24 -06:00
glops.c gfs2: Remove gl_spin define 2015-10-29 12:57:48 -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: change gfs2 readdir cookie 2015-12-14 12:19:37 -06:00
inode.c GFS2: Don't do glock put on when inode creation fails 2015-12-18 11:04:46 -06:00
inode.h GFS2: Add atomic_open support 2013-06-14 11:17:15 +01:00
Kconfig Finally eradicate CONFIG_HOTPLUG 2013-06-03 14:20:18 -07:00
lock_dlm.c remove abs64() 2015-11-09 15:11:24 -08:00
log.c gfs2: clear journal live bit in gfs2_log_flush 2015-12-14 12:19:41 -06:00
log.h GFS2: remove transaction glock 2014-05-14 10:04:34 +01:00
lops.c GFS2: merge window 2015-09-11 12:23:51 -07:00
lops.h GFS2: Move log buffer lists into transaction 2014-02-24 16:54:54 +00:00
main.c GFS2: Make rgrp reservations part of the gfs2_inode structure 2015-12-14 12:16:38 -06:00
Makefile
meta_io.c gfs2: Extended attribute readahead optimization 2015-11-18 14:51:50 -06:00
meta_io.h gfs2: Extended attribute readahead 2015-11-16 12:00:29 -06:00
ops_fstype.c gfs2: change gfs2 readdir cookie 2015-12-14 12:19:37 -06:00
quota.c GFS2: Reduce size of incore inode 2015-12-14 12:19:24 -06: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 sprintf format specifier 2015-01-13 10:48:57 +00:00
recovery.h GFS2: Move recovery variables to journal structure in memory 2014-03-07 09:14:48 +00:00
rgrp.c GFS2: Always use iopen glock for gl_deletes 2015-12-18 11:02:52 -06:00
rgrp.h GFS2: Make rgrp reservations part of the gfs2_inode structure 2015-12-14 12:16:38 -06:00
super.c GFS2: Truncate address space mapping when deleting an inode 2015-12-18 10:52:21 -06: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 gfs2: convert simple_str to kstr 2015-05-05 13:23:22 -05:00
sys.h GFS2: dlm based recovery coordination 2012-01-11 09:23:05 +00:00
trace_gfs2.h gfs2: Make statistics unsigned, suitable for use with do_div() 2015-09-03 13:33:32 -05:00
trans.c gfs2: Add missing else in trans_add_meta/data 2015-10-01 12:00:59 -05:00
trans.h GFS2: Split gfs2_trans_add_bh() into two 2013-01-29 10:28:04 +00:00
util.c GFS2: Make rgrp reservations part of the gfs2_inode structure 2015-12-14 12:16:38 -06:00
util.h GFS2: Make rgrp reservations part of the gfs2_inode structure 2015-12-14 12:16:38 -06:00
xattr.c gfs2: Extended attribute readahead 2015-11-16 12:00:29 -06:00
xattr.h