diff options
author | Jan Kara <[email protected]> | 2016-10-30 11:42:04 -0500 |
---|---|---|
committer | Al Viro <[email protected]> | 2016-10-30 13:09:42 -0400 |
commit | 70fe2f48152e60664809e2fed76bbb50c9fa2aa3 (patch) | |
tree | c5797bacdc9175af6658c9548387b52749cda6ee /tools/perf/util/trace-event-scripting.c | |
parent | 89319d31d2d097da8e27fb0e0ae9d532f4f16827 (diff) |
aio: fix freeze protection of aio writes
Currently we dropped freeze protection of aio writes just after IO was
submitted. Thus aio write could be in flight while the filesystem was
frozen and that could result in unexpected situation like aio completion
wanting to convert extent type on frozen filesystem. Testcase from
Dmitry triggering this is like:
for ((i=0;i<60;i++));do fsfreeze -f /mnt ;sleep 1;fsfreeze -u /mnt;done &
fio --bs=4k --ioengine=libaio --iodepth=128 --size=1g --direct=1 \
--runtime=60 --filename=/mnt/file --name=rand-write --rw=randwrite
Fix the problem by dropping freeze protection only once IO is completed
in aio_complete().
Reported-by: Dmitry Monakhov <[email protected]>
Signed-off-by: Jan Kara <[email protected]>
[hch: forward ported on top of various VFS and aio changes]
Signed-off-by: Christoph Hellwig <[email protected]>
Signed-off-by: Al Viro <[email protected]>
Diffstat (limited to 'tools/perf/util/trace-event-scripting.c')
0 files changed, 0 insertions, 0 deletions