Message ID | b608329aef0841544f380acede9252caf10a48c6.1728071257.git.rgoldwyn@suse.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | btrfs reads through iomap | expand |
On Fri, Oct 04, 2024 at 04:04:31PM -0400, Goldwyn Rodrigues wrote: > From: Goldwyn Rodrigues <rgoldwyn@suse.com> > > iomap_read_end_io() will be used BTRFS after it has completed the reads > to handle control back to iomap to finish reads on all folios. That probably needs EXPORT_SYMBOL_GPL if btrfs is going to use it, right? --D > Signed-off-by: Goldwyn Rodrigues <rgoldwyn@suse.com> > --- > fs/iomap/buffered-io.c | 2 +- > include/linux/iomap.h | 1 + > 2 files changed, 2 insertions(+), 1 deletion(-) > > diff --git a/fs/iomap/buffered-io.c b/fs/iomap/buffered-io.c > index d007b4a8307c..0e682ff84e4a 100644 > --- a/fs/iomap/buffered-io.c > +++ b/fs/iomap/buffered-io.c > @@ -326,7 +326,7 @@ static void iomap_finish_folio_read(struct folio *folio, size_t off, > folio_end_read(folio, uptodate); > } > > -static void iomap_read_end_io(struct bio *bio) > +void iomap_read_end_io(struct bio *bio) > { > int error = blk_status_to_errno(bio->bi_status); > struct folio_iter fi; > diff --git a/include/linux/iomap.h b/include/linux/iomap.h > index f876d16353c6..7b757bea8455 100644 > --- a/include/linux/iomap.h > +++ b/include/linux/iomap.h > @@ -280,6 +280,7 @@ int iomap_read_folio(struct folio *folio, const struct iomap_ops *ops, > const struct iomap_read_folio_ops *); > void iomap_readahead(struct readahead_control *, const struct iomap_ops *ops, > const struct iomap_read_folio_ops *); > +void iomap_read_end_io(struct bio *bio); > bool iomap_is_partially_uptodate(struct folio *, size_t from, size_t count); > struct folio *iomap_get_folio(struct iomap_iter *iter, loff_t pos, size_t len); > bool iomap_release_folio(struct folio *folio, gfp_t gfp_flags); > -- > 2.46.1 > >
On 10:02 07/10, Darrick J. Wong wrote: > On Fri, Oct 04, 2024 at 04:04:31PM -0400, Goldwyn Rodrigues wrote: > > From: Goldwyn Rodrigues <rgoldwyn@suse.com> > > > > iomap_read_end_io() will be used BTRFS after it has completed the reads > > to handle control back to iomap to finish reads on all folios. > > That probably needs EXPORT_SYMBOL_GPL if btrfs is going to use it, > right? Yes! I got a warning from kernel test robot as well! Note to self: Stop building all modules in the kernel for testing.
diff --git a/fs/iomap/buffered-io.c b/fs/iomap/buffered-io.c index d007b4a8307c..0e682ff84e4a 100644 --- a/fs/iomap/buffered-io.c +++ b/fs/iomap/buffered-io.c @@ -326,7 +326,7 @@ static void iomap_finish_folio_read(struct folio *folio, size_t off, folio_end_read(folio, uptodate); } -static void iomap_read_end_io(struct bio *bio) +void iomap_read_end_io(struct bio *bio) { int error = blk_status_to_errno(bio->bi_status); struct folio_iter fi; diff --git a/include/linux/iomap.h b/include/linux/iomap.h index f876d16353c6..7b757bea8455 100644 --- a/include/linux/iomap.h +++ b/include/linux/iomap.h @@ -280,6 +280,7 @@ int iomap_read_folio(struct folio *folio, const struct iomap_ops *ops, const struct iomap_read_folio_ops *); void iomap_readahead(struct readahead_control *, const struct iomap_ops *ops, const struct iomap_read_folio_ops *); +void iomap_read_end_io(struct bio *bio); bool iomap_is_partially_uptodate(struct folio *, size_t from, size_t count); struct folio *iomap_get_folio(struct iomap_iter *iter, loff_t pos, size_t len); bool iomap_release_folio(struct folio *folio, gfp_t gfp_flags);