| From: Phillip Lougher <phillip@squashfs.org.uk> |
| Subject: squashfs: always build "file direct" version of page actor |
| Date: Fri, 17 Jun 2022 16:38:11 +0800 |
| |
| Squashfs_readahead uses the "file direct" version of the page actor, and |
| so build it unconditionally. |
| |
| Link: https://lkml.kernel.org/r/20220617083810.337573-3-hsinyi@chromium.org |
| Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk> |
| Signed-off-by: Hsin-Yi Wang <hsinyi@chromium.org> |
| Reported-by: kernel test robot <lkp@intel.com> |
| Cc: Hou Tao <houtao1@huawei.com> |
| Cc: Marek Szyprowski <m.szyprowski@samsung.com> |
| Cc: Matthew Wilcox <willy@infradead.org> |
| Cc: Miao Xie <miaoxie@huawei.com> |
| Cc: Xiongwei Song <Xiongwei.Song@windriver.com> |
| Cc: Zhang Yi <yi.zhang@huawei.com> |
| Cc: Zheng Liang <zhengliang6@huawei.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| fs/squashfs/Makefile | 4 +-- |
| fs/squashfs/page_actor.h | 46 ------------------------------------- |
| 2 files changed, 2 insertions(+), 48 deletions(-) |
| |
| --- a/fs/squashfs/Makefile~squashfs-always-build-file-direct-version-of-page-actor |
| +++ a/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 |
| --- a/fs/squashfs/page_actor.h~squashfs-always-build-file-direct-version-of-page-actor |
| +++ a/fs/squashfs/page_actor.h |
| @@ -6,51 +6,6 @@ |
| * Phillip Lougher <phillip@squashfs.org.uk> |
| */ |
| |
| -#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 */ |
| -} |
| - |
| -static inline void squashfs_actor_nobuff(struct squashfs_page_actor *actor) |
| -{ |
| - /* empty */ |
| -} |
| -#else |
| struct squashfs_page_actor { |
| union { |
| void **buffer; |
| @@ -91,4 +46,3 @@ static inline void squashfs_actor_nobuff |
| actor->alloc_buffer = 0; |
| } |
| #endif |
| -#endif |
| _ |