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
..
lglock.c
sched/stop_machine: Fix deadlock between multiple stop_two_cpus()
2015-06-19 10:03:12 +02:00
lockdep.c
locking/lockdep: Fix print_collision() unused warning
2016-04-04 11:41:34 +02:00
lockdep_internals.h
lockdep_proc.c
treewide: Remove old email address
2015-11-23 09:44:58 +01:00
lockdep_states.h
locktorture.c
Merge branches 'doc.2015.10.06a', 'percpu-rwsem.2015.10.06a' and 'torture.2015.10.06a' into HEAD
2015-10-07 16:06:25 -07:00
Makefile
kernel: add kcov code coverage
2016-03-22 15:36:02 -07:00
mcs_spinlock.h
locking/mcs: Fix mcs_spin_lock() ordering
2016-02-29 10:02:41 +01:00
mutex-debug.c
mutex: Always clear owner field upon mutex_unlock()
2015-01-09 11:20:39 +01:00
mutex-debug.h
mutex.c
locking/mutex: Allow next waiter lockless wakeup
2016-02-29 10:02:42 +01:00
mutex.h
osq_lock.c
locking/osq: Fix ordering of node initialisation in osq_lock
2015-12-17 11:40:29 -08:00
percpu-rwsem.c
ext4: fix races between changing inode journal mode and ext4_writepages
2016-04-25 23:22:35 -04:00
qrwlock.c
locking/qrwlock: Rename ->lock to ->wait_lock
2015-09-18 09:27:29 +02:00
qspinlock.c
locking/qspinlock: Use smp_cond_acquire() in pending code
2016-02-29 10:02:42 +01:00
qspinlock_paravirt.h
locking/pvqspinlock: Enable slowpath locking count tracking
2016-02-29 10:02:42 +01:00
qspinlock_stat.h
locking/pvqspinlock: Enable slowpath locking count tracking
2016-02-29 10:02:42 +01:00
rtmutex-debug.c
rtmutex-debug.h
rtmutex.c
rtmutex: Make wait_lock irq safe
2016-01-26 11:08:35 +01:00
rtmutex.h
rtmutex_common.h
rtmutex: Delete scriptable tester
2015-07-20 11:45:45 +02:00
rwsem-spinlock.c
locking/rwsem: Document barrier need when waking tasks
2015-02-18 16:57:10 +01:00
rwsem-xadd.c
locking/rwsem: Use acquire/release semantics
2015-10-06 17:28:24 +02:00
rwsem.c
locking/rwsem: Set lock ownership ASAP
2015-02-18 16:57:13 +01:00
rwsem.h
locking/rwsem: Set lock ownership ASAP
2015-02-18 16:57:13 +01:00
semaphore.c
locking/semaphore: Resolve some shadow warnings
2014-09-04 07:17:24 +02:00
spinlock.c
spinlock: Add spin_lock_bh_nested()
2015-01-03 14:32:57 -05:00
spinlock_debug.c