squashfs: always build "file direct" version of page actor
authorPhillip Lougher <phillip@squashfs.org.uk>
Fri, 17 Jun 2022 08:38:11 +0000 (16:38 +0800)
committerakpm <akpm@linux-foundation.org>
Sat, 30 Jul 2022 01:12:34 +0000 (18:12 -0700)
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
fs/squashfs/page_actor.h

index 7bd9b8b..477c89a 100644 (file)
@@ -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
index 37523c5..24841d2 100644 (file)
@@ -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(struct squashfs_page_actor *actor)
        actor->alloc_buffer = 0;
 }
 #endif
-#endif