On Tue, May 17, 2022 at 11:36 AM Phillip Lougher <phillip@xxxxxxxxxxxxxxx> wrote: > > Squashfs_readahead uses the "file direct" version of the page > actor, and so build it unconditionally. > > Reported-by: kernel test robot <lkp@xxxxxxxxx> > Signed-off-by: Phillip Lougher <phillip@xxxxxxxxxxxxxxx> Tested-by: Hsin-Yi Wang <hsinyi@xxxxxxxxxxxx> Tested with CONFIG_SQUASHFS_FILE_DIRECT unselected. I'll pick this patch to the series. Thanks > --- > fs/squashfs/Makefile | 4 ++-- > fs/squashfs/page_actor.h | 41 ---------------------------------------- > 2 files changed, 2 insertions(+), 43 deletions(-) > > diff --git a/fs/squashfs/Makefile b/fs/squashfs/Makefile > index 7bd9b8b856d0..477c89a519ee 100644 > --- a/fs/squashfs/Makefile > +++ b/fs/squashfs/Makefile > @@ -5,9 +5,9 @@ > > obj-$(CONFIG_SQUASHFS) += squashfs.o > squashfs-y += block.o cache.o dir.o export.o file.o fragment.o id.o inode.o > -squashfs-y += namei.o super.o symlink.o decompressor.o > +squashfs-y += namei.o super.o symlink.o decompressor.o page_actor.o > squashfs-$(CONFIG_SQUASHFS_FILE_CACHE) += file_cache.o > -squashfs-$(CONFIG_SQUASHFS_FILE_DIRECT) += file_direct.o page_actor.o > +squashfs-$(CONFIG_SQUASHFS_FILE_DIRECT) += file_direct.o > squashfs-$(CONFIG_SQUASHFS_DECOMP_SINGLE) += decompressor_single.o > squashfs-$(CONFIG_SQUASHFS_DECOMP_MULTI) += decompressor_multi.o > squashfs-$(CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU) += decompressor_multi_percpu.o > diff --git a/fs/squashfs/page_actor.h b/fs/squashfs/page_actor.h > index 2e3073ace009..26e07373af8a 100644 > --- a/fs/squashfs/page_actor.h > +++ b/fs/squashfs/page_actor.h > @@ -6,46 +6,6 @@ > * Phillip Lougher <phillip@xxxxxxxxxxxxxxx> > */ > > -#ifndef CONFIG_SQUASHFS_FILE_DIRECT > -struct squashfs_page_actor { > - void **page; > - int pages; > - int length; > - int next_page; > -}; > - > -static inline struct squashfs_page_actor *squashfs_page_actor_init(void **page, > - int pages, int length) > -{ > - struct squashfs_page_actor *actor = kmalloc(sizeof(*actor), GFP_KERNEL); > - > - if (actor == NULL) > - return NULL; > - > - actor->length = length ? : pages * PAGE_SIZE; > - actor->page = page; > - actor->pages = pages; > - actor->next_page = 0; > - return actor; > -} > - > -static inline void *squashfs_first_page(struct squashfs_page_actor *actor) > -{ > - actor->next_page = 1; > - return actor->page[0]; > -} > - > -static inline void *squashfs_next_page(struct squashfs_page_actor *actor) > -{ > - return actor->next_page == actor->pages ? NULL : > - actor->page[actor->next_page++]; > -} > - > -static inline void squashfs_finish_page(struct squashfs_page_actor *actor) > -{ > - /* empty */ > -} > -#else > struct squashfs_page_actor { > union { > void **buffer; > @@ -76,4 +36,3 @@ static inline void squashfs_finish_page(struct squashfs_page_actor *actor) > actor->squashfs_finish_page(actor); > } > #endif > -#endif > -- > 2.34.1 >