linux/fs/sysv/itree.c

// SPDX-License-Identifier: GPL-2.0
/*
 *  linux/fs/sysv/itree.c
 *
 *  Handling of indirect blocks' trees.
 *  AV, Sep--Dec 2000
 */

#include <linux/buffer_head.h>
#include <linux/mount.h>
#include <linux/mpage.h>
#include <linux/string.h>
#include "sysv.h"

enum {};	/* Have triple indirect */

static inline void dirty_indirect(struct buffer_head *bh, struct inode *inode)
{}

static int block_to_path(struct inode *inode, long block, int offsets[DEPTH])
{}

static inline int block_to_cpu(struct sysv_sb_info *sbi, sysv_zone_t nr)
{}

Indirect;

static DEFINE_RWLOCK(pointers_lock);

static inline void add_chain(Indirect *p, struct buffer_head *bh, sysv_zone_t *v)
{}

static inline int verify_chain(Indirect *from, Indirect *to)
{}

static inline sysv_zone_t *block_end(struct buffer_head *bh)
{}

static Indirect *get_branch(struct inode *inode,
			    int depth,
			    int offsets[],
			    Indirect chain[],
			    int *err)
{}

static int alloc_branch(struct inode *inode,
			int num,
			int *offsets,
			Indirect *branch)
{}

static inline int splice_branch(struct inode *inode,
				Indirect chain[],
				Indirect *where,
				int num)
{}

static int get_block(struct inode *inode, sector_t iblock, struct buffer_head *bh_result, int create)
{}

static inline int all_zeroes(sysv_zone_t *p, sysv_zone_t *q)
{}

static Indirect *find_shared(struct inode *inode,
				int depth,
				int offsets[],
				Indirect chain[],
				sysv_zone_t *top)
{}

static inline void free_data(struct inode *inode, sysv_zone_t *p, sysv_zone_t *q)
{}

static void free_branches(struct inode *inode, sysv_zone_t *p, sysv_zone_t *q, int depth)
{}

void sysv_truncate (struct inode * inode)
{}

static unsigned sysv_nblocks(struct super_block *s, loff_t size)
{}

int sysv_getattr(struct mnt_idmap *idmap, const struct path *path,
		 struct kstat *stat, u32 request_mask, unsigned int flags)
{}

static int sysv_writepages(struct address_space *mapping,
		struct writeback_control *wbc)
{}

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

int sysv_prepare_chunk(struct page *page, loff_t pos, unsigned len)
{}

static void sysv_write_failed(struct address_space *mapping, loff_t to)
{}

static int sysv_write_begin(struct file *file, struct address_space *mapping,
			loff_t pos, unsigned len,
			struct page **pagep, void **fsdata)
{}

static sector_t sysv_bmap(struct address_space *mapping, sector_t block)
{}

const struct address_space_operations sysv_aops =;