linux/fs/ocfs2
Guozhonghua a4a8481ff6 ocfs2: unlock inode if deleting inode from orphan fails
When doing append direct io cleanup, if deleting inode fails, it goes
out without unlocking inode, which will cause the inode deadlock.

This issue was introduced by commit cf1776a9e8 ("ocfs2: fix a tiny
race when truncate dio orohaned entry").

Signed-off-by: Guozhonghua <guozhonghua@h3c.com>
Signed-off-by: Joseph Qi <joseph.qi@huawei.com>
Reviewed-by: Gang He <ghe@suse.com>
Cc: Mark Fasheh <mfasheh@suse.de>
Cc: Joel Becker <jlbec@evilplan.org>
Cc: Junxiao Bi <junxiao.bi@oracle.com>
Cc: <stable@vger.kernel.org>	[4.2+]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2016-02-27 10:28:52 -08:00
..
cluster ocfs2/cluster: fix memory leak in o2hb_region_release 2016-02-03 08:28:43 -08:00
dlm ocfs2/dlm: clear refmap bit of recovery lock while doing local recovery cleanup 2016-02-05 18:10:40 -08:00
dlmfs kmemcg: account certain kmem allocations to memcg 2016-01-14 16:00:49 -08:00
acl.c
acl.h
alloc.c wrappers for ->i_mutex access 2016-01-22 18:04:28 -05:00
alloc.h ocfs2: constify ocfs2_extent_tree_operations structures 2016-01-14 16:00:49 -08:00
aops.c ocfs2: unlock inode if deleting inode from orphan fails 2016-02-27 10:28:52 -08:00
aops.h
blockcheck.c
blockcheck.h
buffer_head_io.c
buffer_head_io.h
dcache.c
dcache.h
dir.c wrappers for ->i_mutex access 2016-01-22 18:04:28 -05:00
dir.h
dlmglue.c ocfs2: NFS hangs in __ocfs2_cluster_lock due to race with ocfs2_unblock_lock 2016-01-21 17:20:51 -08:00
dlmglue.h
export.c
export.h
extent_map.c
extent_map.h
file.c wrappers for ->i_mutex access 2016-01-22 18:04:28 -05:00
file.h
heartbeat.c
heartbeat.h
inode.c wrappers for ->i_mutex access 2016-01-22 18:04:28 -05:00
inode.h
ioctl.c wrappers for ->i_mutex access 2016-01-22 18:04:28 -05:00
ioctl.h
journal.c wrappers for ->i_mutex access 2016-01-22 18:04:28 -05:00
journal.h
Kconfig
localalloc.c wrappers for ->i_mutex access 2016-01-22 18:04:28 -05:00
localalloc.h
locks.c
locks.h
Makefile
mmap.c
mmap.h
move_extents.c wrappers for ->i_mutex access 2016-01-22 18:04:28 -05:00
move_extents.h
namei.c wrappers for ->i_mutex access 2016-01-22 18:04:28 -05:00
namei.h
ocfs1_fs_compat.h
ocfs2_fs.h
ocfs2_ioctl.h
ocfs2_lockid.h
ocfs2_lockingver.h
ocfs2_trace.h
ocfs2.h
quota_global.c wrappers for ->i_mutex access 2016-01-22 18:04:28 -05:00
quota_local.c
quota.h quota: constify qtree_fmt_operations structures 2016-01-04 10:58:35 +01:00
refcounttree.c wrappers for ->i_mutex access 2016-01-22 18:04:28 -05:00
refcounttree.h
reservations.c
reservations.h
resize.c wrappers for ->i_mutex access 2016-01-22 18:04:28 -05:00
resize.h
slot_map.c ocfs2: fix slot overwritten if storage link down during mount 2016-01-14 16:00:49 -08:00
slot_map.h
stack_o2cb.c
stack_user.c
stackglue.c
stackglue.h
suballoc.c wrappers for ->i_mutex access 2016-01-22 18:04:28 -05:00
suballoc.h
super.c kmemcg: account certain kmem allocations to memcg 2016-01-14 16:00:49 -08:00
super.h
symlink.c
symlink.h
sysfile.c
sysfile.h
uptodate.c
uptodate.h
xattr.c wrappers for ->i_mutex access 2016-01-22 18:04:28 -05:00
xattr.h