#include "protocol.h"
#include "orangefs-kernel.h"
#include "orangefs-bufmap.h"
#include <linux/fs.h>
#include <linux/filelock.h>
#include <linux/pagemap.h>
static int flush_racache(struct inode *inode)
{ … }
ssize_t wait_for_direct_io(enum ORANGEFS_io_type type, struct inode *inode,
loff_t *offset, struct iov_iter *iter, size_t total_size,
loff_t readahead_size, struct orangefs_write_range *wr,
int *index_return, struct file *file)
{ … }
int orangefs_revalidate_mapping(struct inode *inode)
{ … }
static ssize_t orangefs_file_read_iter(struct kiocb *iocb,
struct iov_iter *iter)
{ … }
static ssize_t orangefs_file_splice_read(struct file *in, loff_t *ppos,
struct pipe_inode_info *pipe,
size_t len, unsigned int flags)
{ … }
static ssize_t orangefs_file_write_iter(struct kiocb *iocb,
struct iov_iter *iter)
{ … }
static vm_fault_t orangefs_fault(struct vm_fault *vmf)
{ … }
static const struct vm_operations_struct orangefs_file_vm_ops = …;
static int orangefs_file_mmap(struct file *file, struct vm_area_struct *vma)
{ … }
#define mapping_nrpages(idata) …
static int orangefs_file_release(struct inode *inode, struct file *file)
{ … }
static int orangefs_fsync(struct file *file,
loff_t start,
loff_t end,
int datasync)
{ … }
static loff_t orangefs_file_llseek(struct file *file, loff_t offset, int origin)
{ … }
static int orangefs_lock(struct file *filp, int cmd, struct file_lock *fl)
{ … }
static int orangefs_flush(struct file *file, fl_owner_t id)
{ … }
const struct file_operations orangefs_file_operations = …;