Theodore Ts'o
d1cfd9cba0
ext4: make sure enough credits are reserved for dioread_nolock writes
...
commit 812c0cab2c upstream.
There are enough credits reserved for most dioread_nolock writes;
however, if the extent tree is sufficiently deep, and/or quota is
enabled, the code was not allowing for all eventualities when
reserving journal credits for the unwritten extent conversion.
This problem can be seen using xfstests ext4/034:
WARNING: CPU: 1 PID: 257 at fs/ext4/ext4_jbd2.c:271 __ext4_handle_dirty_metadata+0x10c/0x180
Workqueue: ext4-rsv-conversion ext4_end_io_rsv_work
RIP: 0010:__ext4_handle_dirty_metadata+0x10c/0x180
...
EXT4-fs: ext4_free_blocks:4938: aborting transaction: error 28 in __ext4_handle_dirty_metadata
EXT4: jbd2_journal_dirty_metadata failed: handle type 11 started at line 4921, credits 4/0, errcode -28
EXT4-fs error (device dm-1) in ext4_free_blocks:4950: error 28
Signed-off-by: Theodore Ts'o <tytso@mit.edu >
Cc: stable@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2019-01-16 22:12:32 +01:00
..
2018-12-01 09:44:18 +01:00
2016-10-10 20:16:43 -07:00
2018-05-30 07:50:16 +02:00
2017-12-20 10:07:25 +01:00
2018-09-19 22:47:16 +02:00
2016-10-15 12:09:13 -07:00
2018-12-01 09:44:19 +01:00
2018-12-17 09:38:32 +01:00
2018-12-17 09:38:34 +01:00
2019-01-13 10:03:54 +01:00
2019-01-16 22:12:31 +01:00
2017-11-24 08:33:42 +01:00
2018-11-21 09:26:03 +01:00
2018-11-13 11:17:03 -08:00
2018-08-03 07:55:20 +02:00
2017-08-06 18:59:43 -07:00
2016-10-10 20:16:43 -07:00
2019-01-13 10:03:52 +01:00
2018-05-30 07:50:16 +02:00
2016-10-10 20:16:43 -07:00
2016-05-20 17:58:30 -07:00
2018-11-27 16:09:38 +01:00
2018-12-17 09:38:33 +01:00
2018-12-05 19:42:40 +01:00
2019-01-16 22:12:32 +01:00
2019-01-09 16:16:44 +01:00
2018-11-10 07:42:56 -08:00
2016-06-13 10:20:39 +02:00
2018-12-17 09:38:34 +01:00
2018-11-21 09:26:03 +01:00
2019-01-13 10:03:52 +01:00
2018-12-17 09:38:35 +01:00
2018-12-17 09:38:35 +01:00
2016-10-10 20:16:43 -07:00
2016-10-10 20:16:43 -07:00
2018-12-08 13:05:15 +01:00
2017-11-30 08:39:04 +00:00
2018-11-13 11:16:55 -08:00
2018-11-13 11:16:46 -08:00
2018-08-09 12:18:00 +02:00
2018-12-08 13:05:05 +01:00
2018-11-13 11:17:02 -08:00
2016-10-10 20:16:43 -07:00
2016-10-10 20:16:43 -07:00
2018-03-28 18:39:23 +02:00
2018-12-21 14:11:36 +01:00
2018-02-03 17:05:38 +01:00
2018-11-21 09:26:03 +01:00
2018-05-30 07:50:16 +02:00
2018-04-24 09:34:18 +02:00
2016-10-30 13:09:42 -04:00
2018-12-17 09:38:35 +01:00
2016-10-10 20:16:43 -07:00
2016-09-27 21:06:21 -04:00
2018-11-10 07:42:46 -08:00
2018-04-13 19:48:12 +02:00
2018-12-29 13:40:16 +01:00
2018-12-17 09:38:35 +01:00
2016-05-09 11:41:14 -04:00
2016-05-09 11:41:14 -04:00
2018-09-09 20:01:26 +02:00
2016-10-10 20:16:43 -07:00
2018-11-27 16:09:38 +01:00
2017-06-17 06:41:56 +02:00
2018-09-05 09:20:03 +02:00
2018-09-05 09:20:10 +02:00
2018-12-17 09:38:32 +01:00
2016-09-27 21:06:21 -04:00
2018-12-29 13:40:16 +01:00
2018-12-08 13:05:08 +01:00
2018-11-10 07:42:49 -08:00
2018-12-08 13:05:15 +01:00
2018-12-21 14:11:31 +01:00
2016-10-10 20:16:43 -07:00
2017-01-09 08:32:24 +01:00
2016-05-28 16:34:59 -07:00
2016-07-25 16:51:49 +10:00
2018-09-26 08:36:37 +02:00
2016-08-02 19:35:15 -04:00
2016-07-28 13:29:12 +10:00
2018-06-26 08:08:09 +08:00
2017-10-18 09:35:39 +02:00
2017-06-14 15:06:00 +02:00
2016-08-23 22:58:51 -07:00
2018-02-25 11:05:55 +01:00
2018-04-08 12:12:44 +02:00
2016-09-27 21:20:53 -04:00
2017-07-05 14:40:26 +02:00
2018-02-28 10:18:33 +01:00
2018-09-15 09:42:58 +02:00
2018-12-05 19:42:40 +01:00
2015-08-17 18:39:46 -04:00
2016-03-22 15:36:02 -07:00
2017-09-07 08:35:41 +02:00
2018-07-28 07:49:14 +02:00
2018-01-31 12:55:52 +01:00
2016-03-22 15:36:02 -07:00
2016-09-27 18:47:38 -04:00
2016-01-19 12:02:23 -05:00
2018-05-16 10:08:42 +02:00
2018-07-17 11:37:53 +02:00
2017-09-20 08:20:01 +02:00
2016-09-15 13:29:52 -07:00
2017-09-20 08:19:59 +02:00
2016-10-07 18:46:29 -07:00
2016-08-12 16:47:05 +01:00
2017-12-09 22:01:51 +01:00
2016-10-18 12:21:28 +02:00
2016-06-21 09:23:11 +10:00
2018-02-22 15:43:48 +01:00
2017-07-21 07:42:22 +02:00
2017-10-18 09:35:39 +02:00
2018-12-01 09:44:25 +01:00
2018-11-21 09:26:02 +01:00
2018-02-17 13:21:15 +01:00
2017-07-12 15:01:02 +02:00
2018-02-17 13:21:18 +01:00
2017-07-21 07:42:22 +02:00
2017-03-15 10:02:43 +08:00
2017-01-26 08:24:37 +01:00
2016-03-16 13:09:08 -04:00
2017-10-12 11:51:26 +02:00
2016-05-26 00:13:25 -04:00
2016-10-11 15:06:30 -07:00
2016-10-07 18:46:30 -07:00
2017-02-23 17:44:35 +01:00
2017-06-14 15:06:01 +02:00
2018-03-03 10:23:21 +01:00
2016-04-04 10:41:08 -07:00
2017-05-08 07:47:54 +02:00
2017-12-20 10:07:18 +01:00
2016-10-08 11:06:08 -04:00
2018-10-10 08:53:22 +02:00