aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/fs/jbd2/checkpoint.c
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2013-06-04 12:22:15 -0400
committerTheodore Ts'o <tytso@mit.edu>2013-06-04 12:22:15 -0400
commitfe1e8db598b259eafdffbe3dd5fe849cd2ad97d5 (patch)
treea5f7f35d95ab0737457f3ab6ea3a0234c3009df8 /fs/jbd2/checkpoint.c
parentjbd2: cleanup needed free block estimates when starting a transaction (diff)
downloadwireguard-linux-fe1e8db598b259eafdffbe3dd5fe849cd2ad97d5.tar.xz
wireguard-linux-fe1e8db598b259eafdffbe3dd5fe849cd2ad97d5.zip
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>
Diffstat (limited to 'fs/jbd2/checkpoint.c')
0 files changed, 0 insertions, 0 deletions