alex chen
2f2eca20a0
ocfs2: check if the ocfs2 lock resource has been initialized before calling ocfs2_dlm_lock
...
If ocfs2 lockres has not been initialized before calling ocfs2_dlm_lock,
the lock won't be dropped and then will lead umount hung. The case is
described below:
ocfs2_mknod
ocfs2_mknod_locked
__ocfs2_mknod_locked
ocfs2_journal_access_di
Failed because of -ENOMEM or other reasons, the inode lockres
has not been initialized yet.
iput(inode)
ocfs2_evict_inode
ocfs2_delete_inode
ocfs2_inode_lock
ocfs2_inode_lock_full_nested
__ocfs2_cluster_lock
Succeeds and allocates a new dlm lockres.
ocfs2_clear_inode
ocfs2_open_unlock
ocfs2_drop_inode_locks
ocfs2_drop_lock
Since lockres has not been initialized, the lock
can't be dropped and the lockres can't be
migrated, thus umount will hang forever.
Signed-off-by: Alex Chen <alex.chen@huawei.com>
Reviewed-by: Joseph Qi <joseph.qi@huawei.com>
Reviewed-by: joyce.xue <xuejiufei@huawei.com>
Cc: Mark Fasheh <mfasheh@suse.com>
Cc: Joel Becker <jlbec@evilplan.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-04-14 16:48:58 -07:00
..
2015-02-22 11:38:41 -05:00
2015-03-25 16:20:31 -07:00
2015-02-12 13:50:21 -08:00
2015-02-22 11:43:34 -05:00
2015-02-17 14:34:50 -08:00
2015-03-21 10:53:37 -07:00
2015-02-22 11:38:41 -05:00
2015-02-22 17:42:14 -08:00
2015-04-01 00:01:47 -05:00
2015-02-22 11:38:41 -05:00
2015-02-20 04:56:43 -05:00
2015-04-03 16:30:12 +02:00
2015-01-18 01:03:45 -05:00
2015-03-03 02:03:56 -06:00
2015-01-29 19:16:40 +01:00
2015-02-16 17:56:03 -08:00
2015-02-22 11:38:41 -05:00
2015-02-16 17:56:04 -08:00
2015-01-05 11:13:55 +01:00
2015-02-22 18:05:13 -08:00
2015-02-12 19:28:50 -08:00
2015-02-17 14:34:51 -08:00
2014-10-13 17:52:21 +01:00
2015-03-19 15:29:22 +01:00
2015-02-22 11:38:41 -05:00
2014-12-10 17:41:16 -08:00
2015-03-25 16:20:31 -07:00
2015-02-22 11:38:41 -05:00
2015-01-20 14:03:05 -07:00
2015-01-07 09:51:49 +01:00
2014-11-18 10:15:29 +01:00
2015-01-19 15:59:58 -05:00
2015-02-22 17:42:14 -08:00
2015-02-17 16:12:34 -08:00
2015-03-16 21:51:20 +01:00
2015-02-12 10:39:41 -08:00
2015-02-17 14:56:45 -08:00
2015-03-03 21:52:30 -05:00
2014-09-17 16:33:11 -04:00
2015-03-30 16:05:26 -04:00
2015-03-12 18:46:08 -07:00
2015-03-12 18:46:08 -07:00
2015-01-20 14:03:04 -07:00
2015-04-14 16:48:58 -07:00
2014-10-14 02:18:22 +02:00
2015-03-18 10:29:48 +01:00
2015-03-17 09:31:30 -07:00
2015-01-16 16:01:29 -08:00
2015-02-10 15:52:38 -08:00
2015-01-20 14:03:05 -07:00
2015-02-22 11:38:41 -05:00
2015-01-20 14:03:05 -07:00
2014-11-27 18:48:44 +00:00
2015-03-25 13:27:57 +01:00
2015-02-15 10:11:39 -08:00
2015-02-05 16:34:25 +01:00
2015-02-17 14:34:51 -08:00
2015-02-24 10:15:18 +11:00
2015-04-06 17:57:44 -04:00
2015-02-20 04:03:58 -05:00
2014-11-19 13:01:20 -05:00
2014-10-09 02:39:00 -04:00
2015-02-19 12:21:36 +01:00
2014-12-13 12:42:51 -08:00
2014-12-17 08:27:14 -05:00
2014-12-13 12:42:51 -08:00
2015-02-12 14:13:23 -08:00
2014-10-21 13:55:11 -06:00
2015-01-20 14:02:58 -07:00
2014-10-31 17:48:54 -04:00
2015-02-20 04:56:44 -05:00
2015-02-16 17:56:04 -08:00
2015-02-22 11:38:38 -05:00
2014-09-26 21:16:51 -04:00
2015-02-12 18:54:09 -08:00
2015-02-17 14:34:52 -08:00
2015-02-13 21:21:40 -08:00
2015-01-23 00:22:20 -05:00
2015-01-08 15:10:52 -08:00
2014-10-13 11:28:42 +02:00
2014-12-10 17:41:10 -08:00
2015-01-25 23:17:29 -05:00
2015-03-17 12:23:32 -04:00
2015-02-17 16:12:34 -08:00
2015-02-22 11:38:42 -05:00
2015-02-10 14:30:30 -08:00
2015-02-16 17:56:04 -08:00
2015-02-17 16:29:36 +01:00
2015-02-22 11:38:41 -05:00
2015-03-27 07:18:20 -04:00
2015-02-17 14:25:58 -08:00
2015-01-25 23:17:29 -05:00
2014-10-09 22:25:53 -04:00
2015-02-22 11:38:41 -05:00
2015-02-22 11:38:41 -05:00
2014-12-10 21:30:20 -05:00
2015-02-17 15:27:47 -08:00
2014-12-02 10:46:50 -06:00
2015-02-22 11:38:41 -05:00
2015-02-05 02:45:00 -05:00
2015-02-17 15:48:33 -08:00
2014-10-31 17:48:54 -04:00
2015-02-12 18:54:12 -08:00
2015-02-13 21:21:39 -08:00
2014-11-05 14:13:23 -05:00
2015-01-29 00:13:13 -05:00
2015-02-22 11:38:42 -05:00
2015-02-05 02:45:00 -05:00
2014-11-05 14:13:23 -05:00
2014-11-19 13:01:26 -05:00