we MUST wait for writeback to finish before file->f_op->fsync. https://jira.sw.ru/browse/PSBM-18049
Signed-off-by: Dmitry Monakhov <dmonak...@openvz.org> Acked-by: Maxim V. Patlasov <mpatla...@parallels.com> --- drivers/block/ploop/io_direct.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/drivers/block/ploop/io_direct.c b/drivers/block/ploop/io_direct.c index cbb7edc..a9910ba 100644 --- a/drivers/block/ploop/io_direct.c +++ b/drivers/block/ploop/io_direct.c @@ -774,16 +774,13 @@ static int dio_fsync(struct file * file) int err, ret; struct address_space *mapping = file->f_mapping; - ret = filemap_fdatawrite(mapping); + ret = filemap_write_and_wait(mapping); err = 0; if (file->f_op && file->f_op->fsync) { err = file->f_op->FOP_FSYNC(file, 0); if (!ret) ret = err; } - err = filemap_fdatawait(mapping); - if (!ret) - ret = err; return ret; } -- 1.9.3 _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel