linux/fs/affs/file.c

// SPDX-License-Identifier: GPL-2.0
/*
 *  linux/fs/affs/file.c
 *
 *  (c) 1996  Hans-Joachim Widmaier - Rewritten
 *
 *  (C) 1993  Ray Burr - Modified for Amiga FFS filesystem.
 *
 *  (C) 1992  Eric Youngdale Modified for ISO 9660 filesystem.
 *
 *  (C) 1991  Linus Torvalds - minix filesystem
 *
 *  affs regular file handling primitives
 */

#include <linux/uio.h>
#include <linux/blkdev.h>
#include <linux/mpage.h>
#include "affs.h"

static struct buffer_head *affs_get_extblock_slow(struct inode *inode, u32 ext);

static int
affs_file_open(struct inode *inode, struct file *filp)
{}

static int
affs_file_release(struct inode *inode, struct file *filp)
{}

static int
affs_grow_extcache(struct inode *inode, u32 lc_idx)
{}

static struct buffer_head *
affs_alloc_extblock(struct inode *inode, struct buffer_head *bh, u32 ext)
{}

static inline struct buffer_head *
affs_get_extblock(struct inode *inode, u32 ext)
{}

static struct buffer_head *
affs_get_extblock_slow(struct inode *inode, u32 ext)
{}

static int
affs_get_block(struct inode *inode, sector_t block, struct buffer_head *bh_result, int create)
{}

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

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

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

static ssize_t
affs_direct_IO(struct kiocb *iocb, struct iov_iter *iter)
{}

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

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

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

const struct address_space_operations affs_aops =;

static inline struct buffer_head *
affs_bread_ino(struct inode *inode, int block, int create)
{}

static inline struct buffer_head *
affs_getzeroblk_ino(struct inode *inode, int block)
{}

static inline struct buffer_head *
affs_getemptyblk_ino(struct inode *inode, int block)
{}

static int affs_do_read_folio_ofs(struct folio *folio, size_t to, int create)
{}

static int
affs_extent_file_ofs(struct inode *inode, u32 newsize)
{}

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

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

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

const struct address_space_operations affs_aops_ofs =;

/* Free any preallocated blocks. */

void
affs_free_prealloc(struct inode *inode)
{}

/* Truncate (or enlarge) a file to the requested size. */

void
affs_truncate(struct inode *inode)
{}

int affs_file_fsync(struct file *filp, loff_t start, loff_t end, int datasync)
{}
const struct file_operations affs_file_operations =;

const struct inode_operations affs_file_inode_operations =;