Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Enumerations | Functions | Variables
xfs_file.c File Reference
#include "xfs.h"
#include "xfs_fs.h"
#include "xfs_log.h"
#include "xfs_sb.h"
#include "xfs_ag.h"
#include "xfs_trans.h"
#include "xfs_mount.h"
#include "xfs_bmap_btree.h"
#include "xfs_alloc.h"
#include "xfs_dinode.h"
#include "xfs_inode.h"
#include "xfs_inode_item.h"
#include "xfs_bmap.h"
#include "xfs_error.h"
#include "xfs_vnodeops.h"
#include "xfs_da_btree.h"
#include "xfs_ioctl.h"
#include "xfs_trace.h"
#include <linux/dcache.h>
#include <linux/falloc.h>
#include <linux/pagevec.h>

Go to the source code of this file.

Enumerations

enum  { HOLE_OFF = 0, DATA_OFF }
 

Functions

STATIC int xfs_iozero (struct xfs_inode *ip, loff_t pos, size_t count)
 
STATIC int xfs_dir_fsync (struct file *file, loff_t start, loff_t end, int datasync)
 
STATIC int xfs_file_fsync (struct file *file, loff_t start, loff_t end, int datasync)
 
STATIC ssize_t xfs_file_aio_read (struct kiocb *iocb, const struct iovec *iovp, unsigned long nr_segs, loff_t pos)
 
STATIC ssize_t xfs_file_splice_read (struct file *infilp, loff_t *ppos, struct pipe_inode_info *pipe, size_t count, unsigned int flags)
 
STATIC ssize_t xfs_file_splice_write (struct pipe_inode_info *pipe, struct file *outfilp, loff_t *ppos, size_t count, unsigned int flags)
 
STATIC int xfs_zero_last_block (struct xfs_inode *ip, xfs_fsize_t offset, xfs_fsize_t isize)
 
int xfs_zero_eof (struct xfs_inode *ip, xfs_off_t offset, xfs_fsize_t isize)
 
STATIC ssize_t xfs_file_aio_write_checks (struct file *file, loff_t *pos, size_t *count, int *iolock)
 
STATIC ssize_t xfs_file_dio_aio_write (struct kiocb *iocb, const struct iovec *iovp, unsigned long nr_segs, loff_t pos, size_t ocount)
 
STATIC ssize_t xfs_file_buffered_aio_write (struct kiocb *iocb, const struct iovec *iovp, unsigned long nr_segs, loff_t pos, size_t ocount)
 
STATIC ssize_t xfs_file_aio_write (struct kiocb *iocb, const struct iovec *iovp, unsigned long nr_segs, loff_t pos)
 
STATIC long xfs_file_fallocate (struct file *file, int mode, loff_t offset, loff_t len)
 
STATIC int xfs_file_open (struct inode *inode, struct file *file)
 
STATIC int xfs_dir_open (struct inode *inode, struct file *file)
 
STATIC int xfs_file_release (struct inode *inode, struct file *filp)
 
STATIC int xfs_file_readdir (struct file *filp, void *dirent, filldir_t filldir)
 
STATIC int xfs_file_mmap (struct file *filp, struct vm_area_struct *vma)
 
STATIC int xfs_vm_page_mkwrite (struct vm_area_struct *vma, struct vm_fault *vmf)
 
STATIC bool xfs_lookup_buffer_offset (struct page *page, loff_t *offset, unsigned int type)
 
STATIC bool xfs_find_get_desired_pgoff (struct inode *inode, struct xfs_bmbt_irec *map, unsigned int type, loff_t *offset)
 
STATIC loff_t xfs_seek_data (struct file *file, loff_t start)
 
STATIC loff_t xfs_seek_hole (struct file *file, loff_t start)
 
STATIC loff_t xfs_file_llseek (struct file *file, loff_t offset, int origin)
 

Variables

struct file_operations xfs_file_operations
 
struct file_operations xfs_dir_file_operations
 

Enumeration Type Documentation

anonymous enum
Enumerator:
HOLE_OFF 
DATA_OFF 

Definition at line 966 of file xfs_file.c.

Function Documentation

STATIC int xfs_dir_fsync ( struct file file,
loff_t  start,
loff_t  end,
int  datasync 
)

Definition at line 133 of file xfs_file.c.

STATIC int xfs_dir_open ( struct inode inode,
struct file file 
)

Definition at line 874 of file xfs_file.c.

STATIC ssize_t xfs_file_aio_read ( struct kiocb iocb,
const struct iovec iovp,
unsigned long  nr_segs,
loff_t  pos 
)

Definition at line 226 of file xfs_file.c.

STATIC ssize_t xfs_file_aio_write ( struct kiocb iocb,
const struct iovec iovp,
unsigned long  nr_segs,
loff_t  pos 
)

Definition at line 750 of file xfs_file.c.

STATIC ssize_t xfs_file_aio_write_checks ( struct file file,
loff_t *  pos,
size_t count,
int iolock 
)

Definition at line 539 of file xfs_file.c.

STATIC ssize_t xfs_file_buffered_aio_write ( struct kiocb iocb,
const struct iovec iovp,
unsigned long  nr_segs,
loff_t  pos,
size_t  ocount 
)

Definition at line 703 of file xfs_file.c.

STATIC ssize_t xfs_file_dio_aio_write ( struct kiocb iocb,
const struct iovec iovp,
unsigned long  nr_segs,
loff_t  pos,
size_t  ocount 
)

Definition at line 619 of file xfs_file.c.

STATIC long xfs_file_fallocate ( struct file file,
int  mode,
loff_t  offset,
loff_t  len 
)

Definition at line 804 of file xfs_file.c.

STATIC int xfs_file_fsync ( struct file file,
loff_t  start,
loff_t  end,
int  datasync 
)

Definition at line 156 of file xfs_file.c.

STATIC loff_t xfs_file_llseek ( struct file file,
loff_t  offset,
int  origin 
)

Definition at line 1392 of file xfs_file.c.

STATIC int xfs_file_mmap ( struct file filp,
struct vm_area_struct vma 
)

Definition at line 938 of file xfs_file.c.

STATIC int xfs_file_open ( struct inode inode,
struct file file 
)

Definition at line 862 of file xfs_file.c.

STATIC int xfs_file_readdir ( struct file filp,
void dirent,
filldir_t  filldir 
)

Definition at line 906 of file xfs_file.c.

STATIC int xfs_file_release ( struct inode inode,
struct file filp 
)

Definition at line 898 of file xfs_file.c.

STATIC ssize_t xfs_file_splice_read ( struct file infilp,
loff_t *  ppos,
struct pipe_inode_info pipe,
size_t  count,
unsigned int  flags 
)

Definition at line 314 of file xfs_file.c.

STATIC ssize_t xfs_file_splice_write ( struct pipe_inode_info pipe,
struct file outfilp,
loff_t *  ppos,
size_t  count,
unsigned int  flags 
)

Definition at line 354 of file xfs_file.c.

STATIC bool xfs_find_get_desired_pgoff ( struct inode inode,
struct xfs_bmbt_irec map,
unsigned int  type,
loff_t *  offset 
)

Definition at line 1032 of file xfs_file.c.

STATIC int xfs_iozero ( struct xfs_inode *  ip,
loff_t  pos,
size_t  count 
)

Definition at line 88 of file xfs_file.c.

STATIC bool xfs_lookup_buffer_offset ( struct page page,
loff_t *  offset,
unsigned int  type 
)

Definition at line 979 of file xfs_file.c.

STATIC loff_t xfs_seek_data ( struct file file,
loff_t  start 
)

Definition at line 1181 of file xfs_file.c.

STATIC loff_t xfs_seek_hole ( struct file file,
loff_t  start 
)

Definition at line 1283 of file xfs_file.c.

STATIC int xfs_vm_page_mkwrite ( struct vm_area_struct vma,
struct vm_fault *  vmf 
)

Definition at line 955 of file xfs_file.c.

int xfs_zero_eof ( struct xfs_inode *  ip,
xfs_off_t  offset,
xfs_fsize_t  isize 
)

Definition at line 439 of file xfs_file.c.

STATIC int xfs_zero_last_block ( struct xfs_inode *  ip,
xfs_fsize_t  offset,
xfs_fsize_t  isize 
)

Definition at line 393 of file xfs_file.c.

Variable Documentation

struct file_operations xfs_dir_file_operations
Initial value:
= {
.open = xfs_dir_open,
.readdir = xfs_file_readdir,
.unlocked_ioctl = xfs_file_ioctl,
.fsync = xfs_dir_fsync,
}

Definition at line 1430 of file xfs_file.c.

struct file_operations xfs_file_operations
Initial value:
= {
.llseek = xfs_file_llseek,
.read = do_sync_read,
.write = do_sync_write,
.aio_read = xfs_file_aio_read,
.aio_write = xfs_file_aio_write,
.splice_read = xfs_file_splice_read,
.splice_write = xfs_file_splice_write,
.unlocked_ioctl = xfs_file_ioctl,
.mmap = xfs_file_mmap,
.open = xfs_file_open,
.release = xfs_file_release,
.fsync = xfs_file_fsync,
.fallocate = xfs_file_fallocate,
}

Definition at line 1411 of file xfs_file.c.