kernel-ark/fs/jbd2
Jan Kara fe1e8db598 jbd2: fix race in t_outstanding_credits update in jbd2_journal_extend()
jbd2_journal_extend() first checked whether transaction can accept
extending handle with more credits and then added credits to
t_outstanding_credits.  This can race with start_this_handle() adding
another handle to a transaction and thus overbooking a transaction.
Make jbd2_journal_extend() use atomic_add_return() to close the race.

Reviewed-by: Zheng Liu <wenqing.lz@taobao.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2013-06-04 12:22:15 -04:00
..
checkpoint.c jbd2: cleanup needed free block estimates when starting a transaction 2013-06-04 12:12:57 -04:00
commit.c jbd2: refine waiting for shadow buffers 2013-06-04 12:08:56 -04:00
journal.c jbd2: cleanup needed free block estimates when starting a transaction 2013-06-04 12:12:57 -04:00
Kconfig jbd2: Grab a reference to the crc32c driver if necessary 2012-05-27 07:50:56 -04:00
Makefile
recovery.c jbd2: fix block tag checksum verification brokenness 2013-05-28 07:31:59 -04:00
revoke.c jbd2: remove journal_head from descriptor buffers 2013-06-04 12:06:01 -04:00
transaction.c jbd2: fix race in t_outstanding_credits update in jbd2_journal_extend() 2013-06-04 12:22:15 -04:00