Daeho Jeong
c8585c6fca
ext4: fix races between changing inode journal mode and ext4_writepages
...
In ext4, there is a race condition between changing inode journal mode
and ext4_writepages(). While ext4_writepages() is executed on a
non-journalled mode inode, the inode's journal mode could be enabled
by ioctl() and then, some pages dirtied after switching the journal
mode will be still exposed to ext4_writepages() in non-journaled mode.
To resolve this problem, we use fs-wide per-cpu rw semaphore by Jan
Kara's suggestion because we don't want to waste ext4_inode_info's
space for this extra rare case.
Signed-off-by: Daeho Jeong <daeho.jeong@samsung.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Jan Kara <jack@suse.cz>
2016-04-25 23:22:35 -04:00
..
2016-03-25 11:36:41 -04:00
2016-02-22 08:51:37 +01:00
2016-04-04 10:50:24 -07:00
2015-12-04 22:46:25 +01:00
2016-03-22 15:36:02 -07:00
2016-03-17 09:45:10 +01:00
2016-04-25 23:22:35 -04:00
2016-03-24 22:59:58 -07:00
2016-03-17 15:09:34 -07:00
2016-03-22 15:36:02 -07:00
2016-03-29 11:52:11 +02:00
2016-03-29 11:52:11 +02:00
2016-03-25 16:37:42 -07:00
2015-11-19 17:51:48 +01:00
2016-01-22 18:04:28 -05:00
2016-03-19 17:52:49 -07:00
2016-03-19 17:52:49 -07:00
2015-12-24 11:09:39 -05:00
2016-02-08 11:25:39 -05:00
2016-03-22 15:36:02 -07:00
2015-12-03 10:24:08 -05:00
2015-12-14 14:54:37 -05:00
2016-03-21 10:05:13 -07:00
2015-11-24 09:56:43 +01:00
2016-03-12 20:57:38 +01:00
2016-03-21 10:05:13 -07:00
2016-01-14 16:00:49 -08:00
2016-01-14 16:00:49 -08:00
2016-03-25 16:37:42 -07:00
2016-03-22 15:36:02 -07:00
2016-01-20 17:09:18 -08:00
2016-03-08 17:04:02 +01:00
2016-03-22 15:36:02 -07:00
2015-11-23 09:44:58 +01:00
2015-11-23 09:44:58 +01:00
2016-03-15 16:55:16 -07:00
2016-01-20 17:09:18 -08:00
2016-03-22 15:36:02 -07:00
2016-01-30 09:49:57 +01:00
2016-03-17 11:33:45 -07:00
2016-01-20 17:09:18 -08:00
2016-01-20 17:09:18 -08:00
2015-12-07 16:59:37 -08:00
2016-02-09 11:54:23 +01:00
2016-03-22 15:36:02 -07:00
2016-03-22 15:36:02 -07:00
2016-03-03 21:49:27 +00:00
2016-03-17 21:46:32 -07:00
2016-02-16 13:04:58 -05:00
2016-03-22 15:36:02 -07:00
2015-11-09 15:53:39 -08:00
2016-01-31 15:44:04 -08:00
2016-03-22 15:36:02 -07:00
2016-03-22 15:36:02 -07:00
2016-01-22 18:04:28 -05:00
2016-04-14 12:56:09 -07:00
2016-03-22 15:36:02 -07:00
2016-03-22 15:36:02 -07:00
2016-03-15 13:50:29 -07:00
2016-03-01 20:36:56 +01:00
2016-03-01 20:36:56 +01:00
2016-03-25 16:37:42 -07:00
2016-01-16 11:17:24 -08:00
2015-12-01 14:00:53 -05:00
2016-03-17 15:09:34 -07:00
2016-03-22 15:36:02 -07:00
2016-03-17 15:09:34 -07:00
2016-03-22 15:36:02 -07:00
2016-02-29 09:53:09 +01:00
2016-01-04 10:27:55 -05:00
2016-03-17 15:09:34 -07:00
2016-03-02 10:28:47 -05:00
2016-03-18 20:05:39 -07:00