Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions | Variables
xfs_aops.c File Reference
#include "xfs.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_dinode.h"
#include "xfs_inode.h"
#include "xfs_inode_item.h"
#include "xfs_alloc.h"
#include "xfs_error.h"
#include "xfs_iomap.h"
#include "xfs_vnodeops.h"
#include "xfs_trace.h"
#include "xfs_bmap.h"
#include <linux/gfp.h>
#include <linux/mpage.h>
#include <linux/pagevec.h>
#include <linux/writeback.h>

Go to the source code of this file.

Functions

void xfs_count_page_state (struct page *page, int *delalloc, int *unwritten)
 
STATIC struct block_devicexfs_find_bdev_for_inode (struct inode *inode)
 
STATIC void xfs_destroy_ioend (xfs_ioend_t *ioend)
 
STATIC int xfs_setfilesize_trans_alloc (struct xfs_ioend *ioend)
 
STATIC int xfs_setfilesize (struct xfs_ioend *ioend)
 
STATIC void xfs_finish_ioend (struct xfs_ioend *ioend)
 
STATIC void xfs_end_io (struct work_struct *work)
 
STATIC void xfs_finish_ioend_sync (struct xfs_ioend *ioend)
 
STATIC xfs_ioend_txfs_alloc_ioend (struct inode *inode, unsigned int type)
 
STATIC int xfs_map_blocks (struct inode *inode, loff_t offset, struct xfs_bmbt_irec *imap, int type, int nonblocking)
 
STATIC int xfs_imap_valid (struct inode *inode, struct xfs_bmbt_irec *imap, xfs_off_t offset)
 
STATIC void xfs_end_bio (struct bio *bio, int error)
 
STATIC void xfs_submit_ioend_bio (struct writeback_control *wbc, xfs_ioend_t *ioend, struct bio *bio)
 
STATIC struct bio * xfs_alloc_ioend_bio (struct buffer_head *bh)
 
STATIC void xfs_start_buffer_writeback (struct buffer_head *bh)
 
STATIC void xfs_start_page_writeback (struct page *page, int clear_dirty, int buffers)
 
STATIC void xfs_submit_ioend (struct writeback_control *wbc, xfs_ioend_t *ioend, int fail)
 
STATIC void xfs_cancel_ioend (xfs_ioend_t *ioend)
 
STATIC void xfs_add_to_ioend (struct inode *inode, struct buffer_head *bh, xfs_off_t offset, unsigned int type, xfs_ioend_t **result, int need_ioend)
 
STATIC void xfs_map_buffer (struct inode *inode, struct buffer_head *bh, struct xfs_bmbt_irec *imap, xfs_off_t offset)
 
STATIC void xfs_map_at_offset (struct inode *inode, struct buffer_head *bh, struct xfs_bmbt_irec *imap, xfs_off_t offset)
 
STATIC int xfs_check_page_type (struct page *page, unsigned int type)
 
STATIC int xfs_convert_page (struct inode *inode, struct page *page, loff_t tindex, struct xfs_bmbt_irec *imap, xfs_ioend_t **ioendp, struct writeback_control *wbc)
 
STATIC void xfs_cluster_write (struct inode *inode, pgoff_t tindex, struct xfs_bmbt_irec *imap, xfs_ioend_t **ioendp, struct writeback_control *wbc, pgoff_t tlast)
 
STATIC void xfs_vm_invalidatepage (struct page *page, unsigned long offset)
 
STATIC void xfs_aops_discard_page (struct page *page)
 
STATIC int xfs_vm_writepage (struct page *page, struct writeback_control *wbc)
 
STATIC int xfs_vm_writepages (struct address_space *mapping, struct writeback_control *wbc)
 
STATIC int xfs_vm_releasepage (struct page *page, gfp_t gfp_mask)
 
STATIC int __xfs_get_blocks (struct inode *inode, sector_t iblock, struct buffer_head *bh_result, int create, int direct)
 
int xfs_get_blocks (struct inode *inode, sector_t iblock, struct buffer_head *bh_result, int create)
 
STATIC int xfs_get_blocks_direct (struct inode *inode, sector_t iblock, struct buffer_head *bh_result, int create)
 
STATIC void xfs_end_io_direct_write (struct kiocb *iocb, loff_t offset, ssize_t size, void *private, int ret, bool is_async)
 
STATIC ssize_t xfs_vm_direct_IO (int rw, struct kiocb *iocb, const struct iovec *iov, loff_t offset, unsigned long nr_segs)
 
STATIC void xfs_vm_kill_delalloc_range (struct inode *inode, loff_t start, loff_t end)
 
STATIC void xfs_vm_write_failed (struct inode *inode, struct page *page, loff_t pos, unsigned len)
 
STATIC int xfs_vm_write_begin (struct file *file, struct address_space *mapping, loff_t pos, unsigned len, unsigned flags, struct page **pagep, void **fsdata)
 
STATIC int xfs_vm_write_end (struct file *file, struct address_space *mapping, loff_t pos, unsigned len, unsigned copied, struct page *page, void *fsdata)
 
STATIC sector_t xfs_vm_bmap (struct address_space *mapping, sector_t block)
 
STATIC int xfs_vm_readpage (struct file *unused, struct page *page)
 
STATIC int xfs_vm_readpages (struct file *unused, struct address_space *mapping, struct list_head *pages, unsigned nr_pages)
 

Variables

struct address_space_operations xfs_address_space_operations
 

Function Documentation

STATIC int __xfs_get_blocks ( struct inode inode,
sector_t  iblock,
struct buffer_head *  bh_result,
int  create,
int  direct 
)

Definition at line 1177 of file xfs_aops.c.

STATIC void xfs_add_to_ioend ( struct inode inode,
struct buffer_head *  bh,
xfs_off_t  offset,
unsigned int  type,
xfs_ioend_t **  result,
int  need_ioend 
)

Definition at line 582 of file xfs_aops.c.

STATIC xfs_ioend_t* xfs_alloc_ioend ( struct inode inode,
unsigned int  type 
)

Definition at line 279 of file xfs_aops.c.

STATIC struct bio* xfs_alloc_ioend_bio ( struct buffer_head *  bh)
read

Definition at line 420 of file xfs_aops.c.

STATIC void xfs_aops_discard_page ( struct page page)

Definition at line 859 of file xfs_aops.c.

STATIC void xfs_cancel_ioend ( xfs_ioend_t ioend)

Definition at line 556 of file xfs_aops.c.

STATIC int xfs_check_page_type ( struct page page,
unsigned int  type 
)

Definition at line 656 of file xfs_aops.c.

STATIC void xfs_cluster_write ( struct inode inode,
pgoff_t  tindex,
struct xfs_bmbt_irec imap,
xfs_ioend_t **  ioendp,
struct writeback_control wbc,
pgoff_t  tlast 
)

Definition at line 803 of file xfs_aops.c.

STATIC int xfs_convert_page ( struct inode inode,
struct page page,
loff_t  tindex,
struct xfs_bmbt_irec imap,
xfs_ioend_t **  ioendp,
struct writeback_control wbc 
)

Definition at line 693 of file xfs_aops.c.

void xfs_count_page_state ( struct page page,
int delalloc,
int unwritten 
)

Definition at line 40 of file xfs_aops.c.

STATIC void xfs_destroy_ioend ( xfs_ioend_t ioend)

Definition at line 78 of file xfs_aops.c.

STATIC void xfs_end_bio ( struct bio *  bio,
int  error 
)

Definition at line 390 of file xfs_aops.c.

STATIC void xfs_end_io ( struct work_struct work)

Definition at line 201 of file xfs_aops.c.

STATIC void xfs_end_io_direct_write ( struct kiocb iocb,
loff_t  offset,
ssize_t  size,
void private,
int  ret,
bool  is_async 
)

Definition at line 1377 of file xfs_aops.c.

STATIC struct block_device* xfs_find_bdev_for_inode ( struct inode inode)
read

Definition at line 59 of file xfs_aops.c.

STATIC void xfs_finish_ioend ( struct xfs_ioend ioend)

Definition at line 182 of file xfs_aops.c.

STATIC void xfs_finish_ioend_sync ( struct xfs_ioend ioend)

Definition at line 265 of file xfs_aops.c.

int xfs_get_blocks ( struct inode inode,
sector_t  iblock,
struct buffer_head *  bh_result,
int  create 
)

Definition at line 1346 of file xfs_aops.c.

STATIC int xfs_get_blocks_direct ( struct inode inode,
sector_t  iblock,
struct buffer_head *  bh_result,
int  create 
)

Definition at line 1356 of file xfs_aops.c.

STATIC int xfs_imap_valid ( struct inode inode,
struct xfs_bmbt_irec imap,
xfs_off_t  offset 
)

Definition at line 375 of file xfs_aops.c.

STATIC void xfs_map_at_offset ( struct inode inode,
struct buffer_head *  bh,
struct xfs_bmbt_irec imap,
xfs_off_t  offset 
)

Definition at line 636 of file xfs_aops.c.

STATIC int xfs_map_blocks ( struct inode inode,
loff_t  offset,
struct xfs_bmbt_irec imap,
int  type,
int  nonblocking 
)

Definition at line 312 of file xfs_aops.c.

STATIC void xfs_map_buffer ( struct inode inode,
struct buffer_head *  bh,
struct xfs_bmbt_irec imap,
xfs_off_t  offset 
)

Definition at line 612 of file xfs_aops.c.

STATIC int xfs_setfilesize ( struct xfs_ioend ioend)

Definition at line 144 of file xfs_aops.c.

STATIC int xfs_setfilesize_trans_alloc ( struct xfs_ioend ioend)

Definition at line 109 of file xfs_aops.c.

STATIC void xfs_start_buffer_writeback ( struct buffer_head *  bh)

Definition at line 433 of file xfs_aops.c.

STATIC void xfs_start_page_writeback ( struct page page,
int  clear_dirty,
int  buffers 
)

Definition at line 447 of file xfs_aops.c.

STATIC void xfs_submit_ioend ( struct writeback_control wbc,
xfs_ioend_t ioend,
int  fail 
)

Definition at line 491 of file xfs_aops.c.

STATIC void xfs_submit_ioend_bio ( struct writeback_control wbc,
xfs_ioend_t ioend,
struct bio *  bio 
)

Definition at line 408 of file xfs_aops.c.

STATIC sector_t xfs_vm_bmap ( struct address_space mapping,
sector_t  block 
)

Definition at line 1635 of file xfs_aops.c.

STATIC ssize_t xfs_vm_direct_IO ( int  rw,
struct kiocb iocb,
const struct iovec iov,
loff_t  offset,
unsigned long  nr_segs 
)

Definition at line 1419 of file xfs_aops.c.

STATIC void xfs_vm_invalidatepage ( struct page page,
unsigned long  offset 
)

Definition at line 834 of file xfs_aops.c.

STATIC void xfs_vm_kill_delalloc_range ( struct inode inode,
loff_t  start,
loff_t  end 
)

Definition at line 1484 of file xfs_aops.c.

STATIC int xfs_vm_readpage ( struct file unused,
struct page page 
)

Definition at line 1650 of file xfs_aops.c.

STATIC int xfs_vm_readpages ( struct file unused,
struct address_space mapping,
struct list_head pages,
unsigned  nr_pages 
)

Definition at line 1658 of file xfs_aops.c.

STATIC int xfs_vm_releasepage ( struct page page,
gfp_t  gfp_mask 
)

Definition at line 1158 of file xfs_aops.c.

STATIC int xfs_vm_write_begin ( struct file file,
struct address_space mapping,
loff_t  pos,
unsigned  len,
unsigned  flags,
struct page **  pagep,
void **  fsdata 
)

Definition at line 1563 of file xfs_aops.c.

STATIC int xfs_vm_write_end ( struct file file,
struct address_space mapping,
loff_t  pos,
unsigned  len,
unsigned  copied,
struct page page,
void fsdata 
)

Definition at line 1607 of file xfs_aops.c.

STATIC void xfs_vm_write_failed ( struct inode inode,
struct page page,
loff_t  pos,
unsigned  len 
)

Definition at line 1514 of file xfs_aops.c.

STATIC int xfs_vm_writepage ( struct page page,
struct writeback_control wbc 
)

Definition at line 916 of file xfs_aops.c.

STATIC int xfs_vm_writepages ( struct address_space mapping,
struct writeback_control wbc 
)

Definition at line 1142 of file xfs_aops.c.

Variable Documentation

struct address_space_operations xfs_address_space_operations
Initial value:
= {
.readpage = xfs_vm_readpage,
.readpages = xfs_vm_readpages,
.writepage = xfs_vm_writepage,
.writepages = xfs_vm_writepages,
.releasepage = xfs_vm_releasepage,
.invalidatepage = xfs_vm_invalidatepage,
.write_begin = xfs_vm_write_begin,
.write_end = xfs_vm_write_end,
.bmap = xfs_vm_bmap,
.direct_IO = xfs_vm_direct_IO,
.migratepage = buffer_migrate_page,
.is_partially_uptodate = block_is_partially_uptodate,
.error_remove_page = generic_error_remove_page,
}

Definition at line 1667 of file xfs_aops.c.