Message ID | b41412dae42389fc1db9d6cb37810cae5d943c0f.1688188958.git.ritesh.list@gmail.com (mailing list archive) |
---|---|
State | Deferred, archived |
Headers | show |
Series | iomap: Add support for per-block dirty state to improve write performance | expand |
On Sat, Jul 01, 2023 at 01:04:38PM +0530, Ritesh Harjani (IBM) wrote: > It makes it much easier if we have iomap_punch_t typedef for "punch" > function pointer in all delalloc related punch, scan and release > functions. It will be useful in later patches when we will factor out > iomap_write_delalloc_punch() function. > > Suggested-by: Matthew Wilcox <willy@infradead.org> > Signed-off-by: Ritesh Harjani (IBM) <ritesh.list@gmail.com> Thank goodness Reviewed-by: Darrick J. Wong <djwong@kernel.org> --D > --- > fs/iomap/buffered-io.c | 9 ++++----- > 1 file changed, 4 insertions(+), 5 deletions(-) > > diff --git a/fs/iomap/buffered-io.c b/fs/iomap/buffered-io.c > index cddf01b96d8a..33fc5ed0049f 100644 > --- a/fs/iomap/buffered-io.c > +++ b/fs/iomap/buffered-io.c > @@ -23,6 +23,7 @@ > > #define IOEND_BATCH_SIZE 4096 > > +typedef int (*iomap_punch_t)(struct inode *inode, loff_t offset, loff_t length); > /* > * Structure allocated for each folio to track per-block uptodate state > * and I/O completions. > @@ -900,7 +901,7 @@ EXPORT_SYMBOL_GPL(iomap_file_buffered_write); > */ > static int iomap_write_delalloc_scan(struct inode *inode, > loff_t *punch_start_byte, loff_t start_byte, loff_t end_byte, > - int (*punch)(struct inode *inode, loff_t offset, loff_t length)) > + iomap_punch_t punch) > { > while (start_byte < end_byte) { > struct folio *folio; > @@ -978,8 +979,7 @@ static int iomap_write_delalloc_scan(struct inode *inode, > * the code to subtle off-by-one bugs.... > */ > static int iomap_write_delalloc_release(struct inode *inode, > - loff_t start_byte, loff_t end_byte, > - int (*punch)(struct inode *inode, loff_t pos, loff_t length)) > + loff_t start_byte, loff_t end_byte, iomap_punch_t punch) > { > loff_t punch_start_byte = start_byte; > loff_t scan_end_byte = min(i_size_read(inode), end_byte); > @@ -1072,8 +1072,7 @@ static int iomap_write_delalloc_release(struct inode *inode, > */ > int iomap_file_buffered_write_punch_delalloc(struct inode *inode, > struct iomap *iomap, loff_t pos, loff_t length, > - ssize_t written, > - int (*punch)(struct inode *inode, loff_t pos, loff_t length)) > + ssize_t written, iomap_punch_t punch) > { > loff_t start_byte; > loff_t end_byte; > -- > 2.40.1 >
diff --git a/fs/iomap/buffered-io.c b/fs/iomap/buffered-io.c index cddf01b96d8a..33fc5ed0049f 100644 --- a/fs/iomap/buffered-io.c +++ b/fs/iomap/buffered-io.c @@ -23,6 +23,7 @@ #define IOEND_BATCH_SIZE 4096 +typedef int (*iomap_punch_t)(struct inode *inode, loff_t offset, loff_t length); /* * Structure allocated for each folio to track per-block uptodate state * and I/O completions. @@ -900,7 +901,7 @@ EXPORT_SYMBOL_GPL(iomap_file_buffered_write); */ static int iomap_write_delalloc_scan(struct inode *inode, loff_t *punch_start_byte, loff_t start_byte, loff_t end_byte, - int (*punch)(struct inode *inode, loff_t offset, loff_t length)) + iomap_punch_t punch) { while (start_byte < end_byte) { struct folio *folio; @@ -978,8 +979,7 @@ static int iomap_write_delalloc_scan(struct inode *inode, * the code to subtle off-by-one bugs.... */ static int iomap_write_delalloc_release(struct inode *inode, - loff_t start_byte, loff_t end_byte, - int (*punch)(struct inode *inode, loff_t pos, loff_t length)) + loff_t start_byte, loff_t end_byte, iomap_punch_t punch) { loff_t punch_start_byte = start_byte; loff_t scan_end_byte = min(i_size_read(inode), end_byte); @@ -1072,8 +1072,7 @@ static int iomap_write_delalloc_release(struct inode *inode, */ int iomap_file_buffered_write_punch_delalloc(struct inode *inode, struct iomap *iomap, loff_t pos, loff_t length, - ssize_t written, - int (*punch)(struct inode *inode, loff_t pos, loff_t length)) + ssize_t written, iomap_punch_t punch) { loff_t start_byte; loff_t end_byte;
It makes it much easier if we have iomap_punch_t typedef for "punch" function pointer in all delalloc related punch, scan and release functions. It will be useful in later patches when we will factor out iomap_write_delalloc_punch() function. Suggested-by: Matthew Wilcox <willy@infradead.org> Signed-off-by: Ritesh Harjani (IBM) <ritesh.list@gmail.com> --- fs/iomap/buffered-io.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-)