On Mon 02-02-26 07:06:32, Christoph Hellwig wrote: > Keep all the read into pagecache code in a single file. > > Signed-off-by: Christoph Hellwig <[email protected]>
Whatever :). Feel free to add: Reviewed-by: Jan Kara <[email protected]> Honza > --- > fs/ext4/ext4.h | 4 ++-- > fs/ext4/inode.c | 27 --------------------------- > fs/ext4/readpage.c | 31 ++++++++++++++++++++++++++++++- > 3 files changed, 32 insertions(+), 30 deletions(-) > > diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h > index 56112f201cac..a8a448e20ef8 100644 > --- a/fs/ext4/ext4.h > +++ b/fs/ext4/ext4.h > @@ -3735,8 +3735,8 @@ static inline void ext4_set_de_type(struct super_block > *sb, > } > > /* readpages.c */ > -extern int ext4_mpage_readpages(struct inode *inode, > - struct readahead_control *rac, struct folio *folio); > +int ext4_read_folio(struct file *file, struct folio *folio); > +void ext4_readahead(struct readahead_control *rac); > extern int __init ext4_init_post_read_processing(void); > extern void ext4_exit_post_read_processing(void); > > diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c > index 8c2ef98fa530..e98954e7d0b3 100644 > --- a/fs/ext4/inode.c > +++ b/fs/ext4/inode.c > @@ -3380,33 +3380,6 @@ static sector_t ext4_bmap(struct address_space > *mapping, sector_t block) > return ret; > } > > -static int ext4_read_folio(struct file *file, struct folio *folio) > -{ > - int ret = -EAGAIN; > - struct inode *inode = folio->mapping->host; > - > - trace_ext4_read_folio(inode, folio); > - > - if (ext4_has_inline_data(inode)) > - ret = ext4_readpage_inline(inode, folio); > - > - if (ret == -EAGAIN) > - return ext4_mpage_readpages(inode, NULL, folio); > - > - return ret; > -} > - > -static void ext4_readahead(struct readahead_control *rac) > -{ > - struct inode *inode = rac->mapping->host; > - > - /* If the file has inline data, no need to do readahead. */ > - if (ext4_has_inline_data(inode)) > - return; > - > - ext4_mpage_readpages(inode, rac, NULL); > -} > - > static void ext4_invalidate_folio(struct folio *folio, size_t offset, > size_t length) > { > diff --git a/fs/ext4/readpage.c b/fs/ext4/readpage.c > index 267594ef0b2c..bf84952ebf94 100644 > --- a/fs/ext4/readpage.c > +++ b/fs/ext4/readpage.c > @@ -45,6 +45,7 @@ > #include <linux/pagevec.h> > > #include "ext4.h" > +#include <trace/events/ext4.h> > > #define NUM_PREALLOC_POST_READ_CTXS 128 > > @@ -209,7 +210,7 @@ static inline loff_t ext4_readpage_limit(struct inode > *inode) > return i_size_read(inode); > } > > -int ext4_mpage_readpages(struct inode *inode, > +static int ext4_mpage_readpages(struct inode *inode, > struct readahead_control *rac, struct folio *folio) > { > struct bio *bio = NULL; > @@ -394,6 +395,34 @@ int ext4_mpage_readpages(struct inode *inode, > return 0; > } > > +int ext4_read_folio(struct file *file, struct folio *folio) > +{ > + int ret = -EAGAIN; > + struct inode *inode = folio->mapping->host; > + > + trace_ext4_read_folio(inode, folio); > + > + if (ext4_has_inline_data(inode)) > + ret = ext4_readpage_inline(inode, folio); > + > + if (ret == -EAGAIN) > + return ext4_mpage_readpages(inode, NULL, folio); > + > + return ret; > +} > + > +void ext4_readahead(struct readahead_control *rac) > +{ > + struct inode *inode = rac->mapping->host; > + > + /* If the file has inline data, no need to do readahead. */ > + if (ext4_has_inline_data(inode)) > + return; > + > + ext4_mpage_readpages(inode, rac, NULL); > +} > + > + > int __init ext4_init_post_read_processing(void) > { > bio_post_read_ctx_cache = KMEM_CACHE(bio_post_read_ctx, > SLAB_RECLAIM_ACCOUNT); > -- > 2.47.3 > -- Jan Kara <[email protected]> SUSE Labs, CR _______________________________________________ Linux-f2fs-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
