[Devel] [PATCH] ploop: force journal commit after dio_post_submit
Konstantin Khorenko
khorenko at virtuozzo.com
Fri Apr 29 08:47:06 PDT 2016
https://jira.sw.ru/browse/PSBM-45730
--
Best regards,
Konstantin Khorenko,
Virtuozzo Linux Kernel Team
On 04/27/2016 05:42 PM, Dmitry Monakhov wrote:
> Once we converted extent to initialized it can be part of uncompleted
> journal transaction, so we have to force transaction commit at some point.
> The easiest way to do it is to perform unconditional fsync.
> https://jira.sw.ru/browse/PSBM-45326
>
> TODO: This case and others can be optimized by deferring fsync.But this is
> subject of another patch.
>
> Signed-off-by: Dmitry Monakhov <dmonakhov at openvz.org>
> ---
> drivers/block/ploop/io_direct.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/block/ploop/io_direct.c b/drivers/block/ploop/io_direct.c
> index 8032999..5a2e12a 100644
> --- a/drivers/block/ploop/io_direct.c
> +++ b/drivers/block/ploop/io_direct.c
> @@ -523,6 +523,8 @@ dio_post_submit(struct ploop_io *io, struct ploop_request * preq)
> err = io->files.file->f_op->fallocate(io->files.file,
> FALLOC_FL_CONVERT_UNWRITTEN,
> (loff_t)sec << 9, clu_siz);
> + if (!err)
> + err = io->files.file->f_op->FOP_FSYNC(io->files.file, 0);
> file_end_write(io->files.file);
> if (err) {
> PLOOP_REQ_SET_ERROR(preq, err);
>
More information about the Devel
mailing list