mirror of
https://github.com/torvalds/linux.git
synced 2024-11-24 21:21:41 +00:00
squashfs: always build "file direct" version of page actor
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>
This commit is contained in:
parent
0c12185728
commit
db98b43086
@ -5,9 +5,9 @@
|
|||||||
|
|
||||||
obj-$(CONFIG_SQUASHFS) += squashfs.o
|
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 += 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_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_SINGLE) += decompressor_single.o
|
||||||
squashfs-$(CONFIG_SQUASHFS_DECOMP_MULTI) += decompressor_multi.o
|
squashfs-$(CONFIG_SQUASHFS_DECOMP_MULTI) += decompressor_multi.o
|
||||||
squashfs-$(CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU) += decompressor_multi_percpu.o
|
squashfs-$(CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU) += decompressor_multi_percpu.o
|
||||||
|
@ -6,51 +6,6 @@
|
|||||||
* Phillip Lougher <phillip@squashfs.org.uk>
|
* 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 {
|
struct squashfs_page_actor {
|
||||||
union {
|
union {
|
||||||
void **buffer;
|
void **buffer;
|
||||||
@ -91,4 +46,3 @@ static inline void squashfs_actor_nobuff(struct squashfs_page_actor *actor)
|
|||||||
actor->alloc_buffer = 0;
|
actor->alloc_buffer = 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
Loading…
Reference in New Issue
Block a user