Wengang Wang
5040f8df56
ocfs2: free up write context when direct IO failed
...
The write context should also be freed even when direct IO failed.
Otherwise a memory leak is introduced and entries remain in
oi->ip_unwritten_list causing the following BUG later in unlink path:
ERROR: bug expression: !list_empty(&oi->ip_unwritten_list)
ERROR: Clear inode of 215043, inode has unwritten extents
...
Call Trace:
? __set_current_blocked+0x42/0x68
ocfs2_evict_inode+0x91/0x6a0 [ocfs2]
? bit_waitqueue+0x40/0x33
evict+0xdb/0x1af
iput+0x1a2/0x1f7
do_unlinkat+0x194/0x28f
SyS_unlinkat+0x1b/0x2f
do_syscall_64+0x79/0x1ae
entry_SYSCALL_64_after_hwframe+0x151/0x0
This patch also logs, with frequency limit, direct IO failures.
Link: http://lkml.kernel.org/r/20181102170632.25921-1-wen.gang.wang@oracle.com
Signed-off-by: Wengang Wang <wen.gang.wang@oracle.com>
Reviewed-by: Junxiao Bi <junxiao.bi@oracle.com>
Reviewed-by: Changwei Ge <ge.changwei@h3c.com>
Reviewed-by: Joseph Qi <jiangqi903@gmail.com>
Cc: Mark Fasheh <mark@fasheh.com>
Cc: Joel Becker <jlbec@evilplan.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-11-18 10:15:09 -08:00
..
2018-11-01 19:58:52 -07:00
2018-08-22 10:52:51 -07:00
2018-05-28 12:36:41 +02:00
2018-10-24 00:41:09 +01:00
2018-08-22 12:34:08 -07:00
2018-06-15 18:10:01 -03:00
2018-11-03 10:09:38 -07:00
2018-11-11 16:54:38 -06:00
2018-10-18 11:32:21 +02:00
2018-11-08 17:51:11 +01:00
2018-11-02 14:09:42 -05:00
2018-06-05 16:57:31 -07:00
2018-07-17 06:14:07 -07:00
2018-10-30 12:46:25 -07:00
2018-09-04 11:35:03 +08:00
2018-06-12 20:52:16 -07:00
2018-08-21 23:54:17 -04:00
2018-10-24 00:41:07 +01:00
2018-10-09 23:33:17 -04:00
2018-07-22 14:13:44 +02:00
2018-10-18 02:04:59 -04:00
2018-04-12 12:04:49 +02:00
2018-10-29 10:23:36 -07:00
2018-11-11 16:53:02 -06:00
2018-10-28 11:35:40 -07:00
2018-10-31 08:54:14 -07:00
2018-05-22 14:27:51 -04:00
2018-10-18 11:32:21 +02:00
2018-11-09 15:52:17 +01:00
2018-11-16 11:38:14 -06:00
2018-10-31 08:54:13 -07:00
2018-10-31 08:54:13 -07:00
2018-08-17 16:20:28 -07:00
2018-08-25 12:42:33 -07:00
2018-08-22 10:52:44 -07:00
2018-09-29 22:47:48 -04:00
2018-10-05 18:44:40 -04:00
2018-10-24 11:22:39 +01:00
2018-09-20 09:28:49 -05:00
2018-10-26 16:26:33 -07:00
2018-10-29 16:58:04 -04:00
2018-05-22 14:27:52 -04:00
2018-11-13 17:15:17 -05:00
2018-11-08 12:11:45 -05:00
2018-10-21 10:46:42 -04:00
2018-11-08 15:43:48 +01:00
2018-10-12 22:46:50 -04:00
2018-11-18 10:15:09 -08:00
2018-05-22 14:27:58 -04:00
2018-05-22 14:27:57 -04:00
2018-11-01 19:58:52 -07:00
2018-11-02 09:33:08 -07:00
2018-11-01 11:46:27 -07:00
2018-10-31 08:54:15 -07:00
2018-05-22 14:27:52 -04:00
2018-05-22 14:27:54 -04:00
2018-08-22 18:17:48 +02:00
2018-10-31 08:54:14 -07:00
2018-05-22 14:27:55 -04:00
2018-08-02 09:34:02 -07:00
2018-08-18 11:44:53 -07:00
2018-08-22 10:52:51 -07:00
2018-07-31 11:32:44 -04:00
2018-10-23 13:49:02 +02:00
2018-09-07 10:32:23 +02:00
2018-08-17 16:20:27 -07:00
2018-11-06 07:50:50 -08:00
2018-08-27 14:48:48 +02:00
2018-07-12 10:04:27 -04:00
2018-07-03 16:44:45 -04:00
2018-07-12 10:04:20 -04:00
2018-04-11 10:28:37 -07:00
2018-06-12 16:19:22 -07:00
2018-10-03 16:47:43 +02:00
2018-04-11 10:28:37 -07:00
2018-07-10 23:29:03 -04:00
2018-10-24 00:40:44 +01:00
2018-11-02 11:25:48 -07:00
2018-08-27 14:48:48 +02:00
2018-10-29 14:29:58 -07:00
2018-06-05 19:23:26 +02:00
2018-10-03 16:47:43 +02:00
2018-03-29 15:07:46 -04:00
2018-10-21 10:46:44 -04:00
2018-10-31 08:54:16 -07:00
2018-04-02 20:15:39 +02:00
2018-10-24 00:40:44 +01:00
2018-06-28 10:40:47 -07:00
2018-08-22 10:52:49 -07:00
2018-10-10 12:56:14 -04:00
2018-10-03 16:47:43 +02:00
2018-08-21 18:19:09 -07:00
2018-04-02 20:16:00 +02:00
2018-05-16 07:23:35 +02:00
2018-10-21 10:46:42 -04:00
2018-11-18 10:15:09 -08:00
2018-08-21 18:19:09 -07:00
2018-11-02 09:33:08 -07:00
2018-11-01 20:19:49 -07:00
2018-06-11 08:22:34 -07:00
2018-08-02 08:06:55 +09:00
2018-03-30 11:34:55 -07:00
2018-08-21 18:19:09 -07:00
2018-06-11 08:22:34 -07:00
2018-06-12 16:19:22 -07:00
2018-08-17 16:20:29 -07:00
2018-08-23 18:48:43 -07:00
2018-11-12 01:02:34 -06:00
2018-08-21 18:19:09 -07:00
2018-08-13 19:58:36 -07:00
2018-11-02 09:33:08 -07:00
2018-04-02 20:16:02 +02:00
2018-08-27 14:48:48 +02:00
2018-08-17 16:20:28 -07:00
2018-10-03 16:47:43 +02:00
2018-10-24 00:41:07 +01:00
2018-08-29 15:42:20 +02:00
2018-07-12 14:49:48 +01:00
2018-09-03 15:14:01 +02:00
2018-04-04 12:44:02 -07:00
2018-08-27 14:48:48 +02:00
2018-10-26 16:25:18 -07:00
2018-08-29 15:42:23 +02:00
2018-09-18 07:30:48 -04:00