diff options
author | Dmitry Monakhov <dmonakhov@openvz.org> | 2012-09-28 23:36:25 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2012-09-28 23:36:25 -0400 |
commit | 82e54229118785badffb4ef5ba4803df25fe007f (patch) | |
tree | 270d0afb27dce342b7508cd05bb0db45cdad089d /fs/ext4/fsync.c | |
parent | e27f41e1b789e60e7d8cc9c81fd93ca49ef31f13 (diff) |
ext4: fix unwritten counter leakage
ext4_set_io_unwritten_flag() will increment i_unwritten counter, so
once we mark end_io with EXT4_END_IO_UNWRITTEN we have to revert it back
on error path.
- add missed error checks to prevent counter leakage
- ext4_end_io_nolock() will clear EXT4_END_IO_UNWRITTEN flag to signal
that conversion finished.
- add BUG_ON to ext4_free_end_io() to prevent similar leakage in future.
Visible effect of this bug is that unaligned aio_stress may deadlock
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/ext4/fsync.c')
0 files changed, 0 insertions, 0 deletions