[Devel] [vzlin-dev] [PATCH rh7 1/4] ploop: get rid of FOP_FSYNC
Dmitry Monakhov
dmonakhov at openvz.org
Fri May 20 05:59:34 PDT 2016
Maxim Patlasov <mpatlasov at virtuozzo.com> writes:
> We keep ploop sources as in-tree module of rhel7-based kernel. So we know
> for sure how fsync fop prototype looks like.
>
> Signed-off-by: Maxim Patlasov <mpatlasov at virtuozzo.com>
Acked-by:dmonakhov at openvz.org
> ---
> drivers/block/ploop/io_direct.c | 15 +++++++++------
> include/linux/ploop/compat.h | 6 ------
> 2 files changed, 9 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/block/ploop/io_direct.c b/drivers/block/ploop/io_direct.c
> index 5a2e12a..583b110 100644
> --- a/drivers/block/ploop/io_direct.c
> +++ b/drivers/block/ploop/io_direct.c
> @@ -406,7 +406,8 @@ try_again:
> }
>
> /* flush new i_size to disk */
> - err = io->files.file->f_op->FOP_FSYNC(io->files.file, 0);
> + err = io->files.file->f_op->fsync(io->files.file, 0,
> + LLONG_MAX, 0);
> if (err)
> goto end_write;
>
> @@ -524,7 +525,8 @@ dio_post_submit(struct ploop_io *io, struct ploop_request * preq)
> FALLOC_FL_CONVERT_UNWRITTEN,
> (loff_t)sec << 9, clu_siz);
> if (!err)
> - err = io->files.file->f_op->FOP_FSYNC(io->files.file, 0);
> + err = io->files.file->f_op->fsync(io->files.file, 0,
> + LLONG_MAX, 0);
> file_end_write(io->files.file);
> if (err) {
> PLOOP_REQ_SET_ERROR(preq, err);
> @@ -815,8 +817,8 @@ static int dio_fsync_thread(void * data)
>
> err = 0;
> if (io->files.file->f_op->fsync)
> - err = io->files.file->f_op->FOP_FSYNC(io->files.file,
> - 0);
> + err = io->files.file->f_op->fsync(io->files.file, 0,
> + LLONG_MAX, 0);
>
> /* Do we need to invalidate page cache? Not really,
> * because we use it only to create full new pages,
> @@ -853,7 +855,7 @@ static int dio_fsync(struct file * file)
> ret = filemap_write_and_wait(mapping);
> err = 0;
> if (file->f_op && file->f_op->fsync) {
> - err = file->f_op->FOP_FSYNC(file, 0);
> + err = file->f_op->fsync(file, 0, LLONG_MAX, 0);
> if (!ret)
> ret = err;
> }
> @@ -1385,7 +1387,8 @@ static int dio_alloc_sync(struct ploop_io * io, loff_t pos, loff_t len)
> goto fail;
>
> if (io->files.file->f_op && io->files.file->f_op->fsync) {
> - err = io->files.file->f_op->FOP_FSYNC(io->files.file, 0);
> + err = io->files.file->f_op->fsync(io->files.file, 0,
> + LLONG_MAX, 0);
> if (err)
> goto fail;
> }
> diff --git a/include/linux/ploop/compat.h b/include/linux/ploop/compat.h
> index 03c3ae3..8a36d81 100644
> --- a/include/linux/ploop/compat.h
> +++ b/include/linux/ploop/compat.h
> @@ -58,10 +58,4 @@ static void func(struct bio *bio, int err) {
>
> #endif
>
> -#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,32)
> -#define FOP_FSYNC(file, datasync) fsync(file, 0, LLONG_MAX, datasync)
> -#else
> -#define FOP_FSYNC(file, datasync) fsync(file, F_DENTRY(file), datasync)
> -#endif
> -
> #endif
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 472 bytes
Desc: not available
URL: <http://lists.openvz.org/pipermail/devel/attachments/20160520/c122c83a/attachment-0001.sig>
More information about the Devel
mailing list