diff options
| author | Jan Kara <[email protected]> | 2013-06-04 16:22:15 +0000 |
|---|---|---|
| committer | Theodore Ts'o <[email protected]> | 2013-06-04 16:22:15 +0000 |
| commit | fe1e8db598b259eafdffbe3dd5fe849cd2ad97d5 (patch) | |
| tree | a5f7f35d95ab0737457f3ab6ea3a0234c3009df8 /fs/jbd2/commit.c | |
| parent | jbd2: cleanup needed free block estimates when starting a transaction (diff) | |
| download | kernel-fe1e8db598b259eafdffbe3dd5fe849cd2ad97d5.tar.gz kernel-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 <[email protected]>
Signed-off-by: Jan Kara <[email protected]>
Signed-off-by: "Theodore Ts'o" <[email protected]>
Diffstat (limited to 'fs/jbd2/commit.c')
0 files changed, 0 insertions, 0 deletions
