Message ID | 20241211085420.1380396-9-hch@lst.de (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [1/8] iomap: allow the file system to submit the writeback bios | expand |
On Wed, Dec 11, 2024 at 09:53:48AM +0100, Christoph Hellwig wrote: > Allow the file system to pass private data which can be used by the > iomap_begin and iomap_end methods through the private pointer in the > iomap_iter structure. > > Signed-off-by: Christoph Hellwig <hch@lst.de> Patches 6-8 look obviously correct to me, so for those three: Reviewed-by: "Darrick J. Wong" <djwong@kernel.org> --D > --- > fs/iomap/buffered-io.c | 4 ++-- > fs/xfs/xfs_iomap.c | 2 +- > include/linux/iomap.h | 2 +- > 3 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/fs/iomap/buffered-io.c b/fs/iomap/buffered-io.c > index 6bfee1c7aedb..ccb2c6cbb18e 100644 > --- a/fs/iomap/buffered-io.c > +++ b/fs/iomap/buffered-io.c > @@ -1464,7 +1464,7 @@ EXPORT_SYMBOL_GPL(iomap_zero_range); > > int > iomap_truncate_page(struct inode *inode, loff_t pos, bool *did_zero, > - const struct iomap_ops *ops) > + const struct iomap_ops *ops, void *private) > { > unsigned int blocksize = i_blocksize(inode); > unsigned int off = pos & (blocksize - 1); > @@ -1473,7 +1473,7 @@ iomap_truncate_page(struct inode *inode, loff_t pos, bool *did_zero, > if (!off) > return 0; > return iomap_zero_range(inode, pos, blocksize - off, did_zero, ops, > - NULL); > + private); > } > EXPORT_SYMBOL_GPL(iomap_truncate_page); > > diff --git a/fs/xfs/xfs_iomap.c b/fs/xfs/xfs_iomap.c > index 3410c55f544a..5dd0922fe2d1 100644 > --- a/fs/xfs/xfs_iomap.c > +++ b/fs/xfs/xfs_iomap.c > @@ -1512,5 +1512,5 @@ xfs_truncate_page( > return dax_truncate_page(inode, pos, did_zero, > &xfs_dax_write_iomap_ops); > return iomap_truncate_page(inode, pos, did_zero, > - &xfs_buffered_write_iomap_ops); > + &xfs_buffered_write_iomap_ops, NULL); > } > diff --git a/include/linux/iomap.h b/include/linux/iomap.h > index 2a88dfa6ec55..19a2554622e6 100644 > --- a/include/linux/iomap.h > +++ b/include/linux/iomap.h > @@ -315,7 +315,7 @@ int iomap_file_unshare(struct inode *inode, loff_t pos, loff_t len, > int iomap_zero_range(struct inode *inode, loff_t pos, loff_t len, > bool *did_zero, const struct iomap_ops *ops, void *private); > int iomap_truncate_page(struct inode *inode, loff_t pos, bool *did_zero, > - const struct iomap_ops *ops); > + const struct iomap_ops *ops, void *private); > vm_fault_t iomap_page_mkwrite(struct vm_fault *vmf, const struct iomap_ops *ops, > void *private); > typedef void (*iomap_punch_t)(struct inode *inode, loff_t offset, loff_t length, > -- > 2.45.2 > >
diff --git a/fs/iomap/buffered-io.c b/fs/iomap/buffered-io.c index 6bfee1c7aedb..ccb2c6cbb18e 100644 --- a/fs/iomap/buffered-io.c +++ b/fs/iomap/buffered-io.c @@ -1464,7 +1464,7 @@ EXPORT_SYMBOL_GPL(iomap_zero_range); int iomap_truncate_page(struct inode *inode, loff_t pos, bool *did_zero, - const struct iomap_ops *ops) + const struct iomap_ops *ops, void *private) { unsigned int blocksize = i_blocksize(inode); unsigned int off = pos & (blocksize - 1); @@ -1473,7 +1473,7 @@ iomap_truncate_page(struct inode *inode, loff_t pos, bool *did_zero, if (!off) return 0; return iomap_zero_range(inode, pos, blocksize - off, did_zero, ops, - NULL); + private); } EXPORT_SYMBOL_GPL(iomap_truncate_page); diff --git a/fs/xfs/xfs_iomap.c b/fs/xfs/xfs_iomap.c index 3410c55f544a..5dd0922fe2d1 100644 --- a/fs/xfs/xfs_iomap.c +++ b/fs/xfs/xfs_iomap.c @@ -1512,5 +1512,5 @@ xfs_truncate_page( return dax_truncate_page(inode, pos, did_zero, &xfs_dax_write_iomap_ops); return iomap_truncate_page(inode, pos, did_zero, - &xfs_buffered_write_iomap_ops); + &xfs_buffered_write_iomap_ops, NULL); } diff --git a/include/linux/iomap.h b/include/linux/iomap.h index 2a88dfa6ec55..19a2554622e6 100644 --- a/include/linux/iomap.h +++ b/include/linux/iomap.h @@ -315,7 +315,7 @@ int iomap_file_unshare(struct inode *inode, loff_t pos, loff_t len, int iomap_zero_range(struct inode *inode, loff_t pos, loff_t len, bool *did_zero, const struct iomap_ops *ops, void *private); int iomap_truncate_page(struct inode *inode, loff_t pos, bool *did_zero, - const struct iomap_ops *ops); + const struct iomap_ops *ops, void *private); vm_fault_t iomap_page_mkwrite(struct vm_fault *vmf, const struct iomap_ops *ops, void *private); typedef void (*iomap_punch_t)(struct inode *inode, loff_t offset, loff_t length,
Allow the file system to pass private data which can be used by the iomap_begin and iomap_end methods through the private pointer in the iomap_iter structure. Signed-off-by: Christoph Hellwig <hch@lst.de> --- fs/iomap/buffered-io.c | 4 ++-- fs/xfs/xfs_iomap.c | 2 +- include/linux/iomap.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-)