linux/fs/erofs/fscache.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * Copyright (C) 2022, Alibaba Cloud
 * Copyright (C) 2022, Bytedance Inc. All rights reserved.
 */
#include <linux/pseudo_fs.h>
#include <linux/fscache.h>
#include "internal.h"

static DEFINE_MUTEX(erofs_domain_list_lock);
static DEFINE_MUTEX(erofs_domain_cookies_lock);
static LIST_HEAD(erofs_domain_list);
static LIST_HEAD(erofs_domain_cookies_list);
static struct vfsmount *erofs_pseudo_mnt;

static int erofs_anon_init_fs_context(struct fs_context *fc)
{}

static struct file_system_type erofs_anon_fs_type =;

struct erofs_fscache_io {};

struct erofs_fscache_rq {};

static bool erofs_fscache_io_put(struct erofs_fscache_io *io)
{}

static void erofs_fscache_req_complete(struct erofs_fscache_rq *req)
{}

static void erofs_fscache_req_put(struct erofs_fscache_rq *req)
{}

static struct erofs_fscache_rq *erofs_fscache_req_alloc(struct address_space *mapping,
						loff_t start, size_t len)
{}

static void erofs_fscache_req_io_put(struct erofs_fscache_io *io)
{}

static void erofs_fscache_req_end_io(void *priv,
		ssize_t transferred_or_error, bool was_async)
{}

static struct erofs_fscache_io *erofs_fscache_req_io_alloc(struct erofs_fscache_rq *req)
{}

/*
 * Read data from fscache described by cookie at pstart physical address
 * offset, and fill the read data into buffer described by io->iter.
 */
static int erofs_fscache_read_io_async(struct fscache_cookie *cookie,
		loff_t pstart, struct erofs_fscache_io *io)
{}

struct erofs_fscache_bio {};

static void erofs_fscache_bio_endio(void *priv,
		ssize_t transferred_or_error, bool was_async)
{}

struct bio *erofs_fscache_bio_alloc(struct erofs_map_dev *mdev)
{}

void erofs_fscache_submit_bio(struct bio *bio)
{}

static int erofs_fscache_meta_read_folio(struct file *data, struct folio *folio)
{}

static int erofs_fscache_data_read_slice(struct erofs_fscache_rq *req)
{}

static int erofs_fscache_data_read(struct erofs_fscache_rq *req)
{}

static int erofs_fscache_read_folio(struct file *file, struct folio *folio)
{}

static void erofs_fscache_readahead(struct readahead_control *rac)
{}

static const struct address_space_operations erofs_fscache_meta_aops =;

const struct address_space_operations erofs_fscache_access_aops =;

static void erofs_fscache_domain_put(struct erofs_domain *domain)
{}

static int erofs_fscache_register_volume(struct super_block *sb)
{}

static int erofs_fscache_init_domain(struct super_block *sb)
{}

static int erofs_fscache_register_domain(struct super_block *sb)
{}

static struct erofs_fscache *erofs_fscache_acquire_cookie(struct super_block *sb,
						char *name, unsigned int flags)
{}

static void erofs_fscache_relinquish_cookie(struct erofs_fscache *ctx)
{}

static struct erofs_fscache *erofs_domain_init_cookie(struct super_block *sb,
						char *name, unsigned int flags)
{}

static struct erofs_fscache *erofs_domain_register_cookie(struct super_block *sb,
						char *name, unsigned int flags)
{}

struct erofs_fscache *erofs_fscache_register_cookie(struct super_block *sb,
						    char *name,
						    unsigned int flags)
{}

void erofs_fscache_unregister_cookie(struct erofs_fscache *ctx)
{}

int erofs_fscache_register_fs(struct super_block *sb)
{}

void erofs_fscache_unregister_fs(struct super_block *sb)
{}