Skip to content

Commit ddd402b

Browse files
Christoph Hellwigbrauner
authored andcommitted
iomap: pass private data to iomap_truncate_page
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> Link: https://lore.kernel.org/r/20250206064035.2323428-12-hch@lst.de Reviewed-by: "Darrick J. Wong" <djwong@kernel.org> Signed-off-by: Christian Brauner <brauner@kernel.org>
1 parent c6d1b8d commit ddd402b

3 files changed

Lines changed: 4 additions & 4 deletions

File tree

fs/iomap/buffered-io.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1458,7 +1458,7 @@ EXPORT_SYMBOL_GPL(iomap_zero_range);
14581458

14591459
int
14601460
iomap_truncate_page(struct inode *inode, loff_t pos, bool *did_zero,
1461-
const struct iomap_ops *ops)
1461+
const struct iomap_ops *ops, void *private)
14621462
{
14631463
unsigned int blocksize = i_blocksize(inode);
14641464
unsigned int off = pos & (blocksize - 1);
@@ -1467,7 +1467,7 @@ iomap_truncate_page(struct inode *inode, loff_t pos, bool *did_zero,
14671467
if (!off)
14681468
return 0;
14691469
return iomap_zero_range(inode, pos, blocksize - off, did_zero, ops,
1470-
NULL);
1470+
private);
14711471
}
14721472
EXPORT_SYMBOL_GPL(iomap_truncate_page);
14731473

fs/xfs/xfs_iomap.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1512,5 +1512,5 @@ xfs_truncate_page(
15121512
return dax_truncate_page(inode, pos, did_zero,
15131513
&xfs_dax_write_iomap_ops);
15141514
return iomap_truncate_page(inode, pos, did_zero,
1515-
&xfs_buffered_write_iomap_ops);
1515+
&xfs_buffered_write_iomap_ops, NULL);
15161516
}

include/linux/iomap.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ int iomap_file_unshare(struct inode *inode, loff_t pos, loff_t len,
315315
int iomap_zero_range(struct inode *inode, loff_t pos, loff_t len,
316316
bool *did_zero, const struct iomap_ops *ops, void *private);
317317
int iomap_truncate_page(struct inode *inode, loff_t pos, bool *did_zero,
318-
const struct iomap_ops *ops);
318+
const struct iomap_ops *ops, void *private);
319319
vm_fault_t iomap_page_mkwrite(struct vm_fault *vmf, const struct iomap_ops *ops,
320320
void *private);
321321
typedef void (*iomap_punch_t)(struct inode *inode, loff_t offset, loff_t length,

0 commit comments

Comments
 (0)