#include <linux/module.h>
#include <linux/errno.h>
#include <linux/fs.h>
#include <linux/filelock.h>
#include <linux/sched.h>
#include <linux/file.h>
#include <linux/stat.h>
#include <linux/string.h>
#include <linux/list.h>
#include <linux/pagemap.h>
#include <linux/utsname.h>
#include <linux/uaccess.h>
#include <linux/uio.h>
#include <linux/slab.h>
#include <net/9p/9p.h>
#include <net/9p/client.h>
#include "v9fs.h"
#include "v9fs_vfs.h"
#include "fid.h"
#include "cache.h"
static const struct vm_operations_struct v9fs_mmap_file_vm_ops;
int v9fs_file_open(struct inode *inode, struct file *file)
{ … }
static int v9fs_file_lock(struct file *filp, int cmd, struct file_lock *fl)
{ … }
static int v9fs_file_do_lock(struct file *filp, int cmd, struct file_lock *fl)
{ … }
static int v9fs_file_getlock(struct file *filp, struct file_lock *fl)
{ … }
static int v9fs_file_lock_dotl(struct file *filp, int cmd, struct file_lock *fl)
{ … }
static int v9fs_file_flock_dotl(struct file *filp, int cmd,
struct file_lock *fl)
{ … }
static ssize_t
v9fs_file_read_iter(struct kiocb *iocb, struct iov_iter *to)
{ … }
static ssize_t v9fs_file_splice_read(struct file *in, loff_t *ppos,
struct pipe_inode_info *pipe,
size_t len, unsigned int flags)
{ … }
static ssize_t
v9fs_file_write_iter(struct kiocb *iocb, struct iov_iter *from)
{ … }
static int v9fs_file_fsync(struct file *filp, loff_t start, loff_t end,
int datasync)
{ … }
int v9fs_file_fsync_dotl(struct file *filp, loff_t start, loff_t end,
int datasync)
{ … }
static int
v9fs_file_mmap(struct file *filp, struct vm_area_struct *vma)
{ … }
static vm_fault_t
v9fs_vm_page_mkwrite(struct vm_fault *vmf)
{ … }
static void v9fs_mmap_vm_close(struct vm_area_struct *vma)
{ … }
static const struct vm_operations_struct v9fs_mmap_file_vm_ops = …;
const struct file_operations v9fs_file_operations = …;
const struct file_operations v9fs_file_operations_dotl = …;