Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions
pagelist.c File Reference
#include <linux/slab.h>
#include <linux/file.h>
#include <linux/sched.h>
#include <linux/sunrpc/clnt.h>
#include <linux/nfs.h>
#include <linux/nfs3.h>
#include <linux/nfs4.h>
#include <linux/nfs_page.h>
#include <linux/nfs_fs.h>
#include <linux/nfs_mount.h>
#include <linux/export.h>
#include "internal.h"
#include "pnfs.h"

Go to the source code of this file.

Functions

bool nfs_pgarray_set (struct nfs_page_array *p, unsigned int pagecount)
 
void nfs_pgheader_init (struct nfs_pageio_descriptor *desc, struct nfs_pgio_header *hdr, void(*release)(struct nfs_pgio_header *hdr))
 
 EXPORT_SYMBOL_GPL (nfs_pgheader_init)
 
void nfs_set_pgio_error (struct nfs_pgio_header *hdr, int error, loff_t pos)
 
struct nfs_pagenfs_create_request (struct nfs_open_context *ctx, struct inode *inode, struct page *page, unsigned int offset, unsigned int count)
 
void nfs_unlock_request (struct nfs_page *req)
 
void nfs_unlock_and_release_request (struct nfs_page *req)
 
void nfs_release_request (struct nfs_page *req)
 
int nfs_wait_on_request (struct nfs_page *req)
 
bool nfs_generic_pg_test (struct nfs_pageio_descriptor *desc, struct nfs_page *prev, struct nfs_page *req)
 
 EXPORT_SYMBOL_GPL (nfs_generic_pg_test)
 
void nfs_pageio_init (struct nfs_pageio_descriptor *desc, struct inode *inode, const struct nfs_pageio_ops *pg_ops, const struct nfs_pgio_completion_ops *compl_ops, size_t bsize, int io_flags)
 
 EXPORT_SYMBOL_GPL (nfs_pageio_init)
 
int nfs_pageio_add_request (struct nfs_pageio_descriptor *desc, struct nfs_page *req)
 
 EXPORT_SYMBOL_GPL (nfs_pageio_add_request)
 
void nfs_pageio_complete (struct nfs_pageio_descriptor *desc)
 
 EXPORT_SYMBOL_GPL (nfs_pageio_complete)
 
void nfs_pageio_cond_complete (struct nfs_pageio_descriptor *desc, pgoff_t index)
 
int __init nfs_init_nfspagecache (void)
 
void nfs_destroy_nfspagecache (void)
 

Function Documentation

EXPORT_SYMBOL_GPL ( nfs_pgheader_init  )
EXPORT_SYMBOL_GPL ( nfs_generic_pg_test  )
EXPORT_SYMBOL_GPL ( nfs_pageio_init  )
EXPORT_SYMBOL_GPL ( nfs_pageio_add_request  )
EXPORT_SYMBOL_GPL ( nfs_pageio_complete  )
struct nfs_page* nfs_create_request ( struct nfs_open_context ctx,
struct inode inode,
struct page page,
unsigned int  offset,
unsigned int  count 
)
read

Definition at line 100 of file pagelist.c.

void nfs_destroy_nfspagecache ( void  )

Definition at line 470 of file pagelist.c.

bool nfs_generic_pg_test ( struct nfs_pageio_descriptor desc,
struct nfs_page prev,
struct nfs_page req 
)

Definition at line 229 of file pagelist.c.

int __init nfs_init_nfspagecache ( void  )

Definition at line 458 of file pagelist.c.

int nfs_pageio_add_request ( struct nfs_pageio_descriptor desc,
struct nfs_page req 
)

Definition at line 405 of file pagelist.c.

void nfs_pageio_complete ( struct nfs_pageio_descriptor desc)

nfs_pageio_complete - Complete I/O on an nfs_pageio_descriptor : pointer to io descriptor

Definition at line 426 of file pagelist.c.

void nfs_pageio_cond_complete ( struct nfs_pageio_descriptor desc,
pgoff_t  index 
)

nfs_pageio_cond_complete - Conditional I/O completion : pointer to io descriptor : page index

It is important to ensure that processes don't try to take locks on non-contiguous ranges of pages as that might deadlock. This function should be called before attempting to wait on a locked nfs_page. It will complete the I/O if the page index 'index' is not contiguous with the existing list of pages in 'desc'.

Definition at line 449 of file pagelist.c.

void nfs_pageio_init ( struct nfs_pageio_descriptor desc,
struct inode inode,
const struct nfs_pageio_ops pg_ops,
const struct nfs_pgio_completion_ops compl_ops,
size_t  bsize,
int  io_flags 
)

nfs_pageio_init - initialise a page io descriptor : pointer to descriptor : pointer to inode : pointer to io function : io block size : extra parameters for the io function

Definition at line 253 of file pagelist.c.

bool nfs_pgarray_set ( struct nfs_page_array p,
unsigned int  pagecount 
)

Definition at line 29 of file pagelist.c.

void nfs_pgheader_init ( struct nfs_pageio_descriptor desc,
struct nfs_pgio_header hdr,
void(*)(struct nfs_pgio_header *hdr release 
)

Definition at line 42 of file pagelist.c.

void nfs_release_request ( struct nfs_page req)

Definition at line 203 of file pagelist.c.

void nfs_set_pgio_error ( struct nfs_pgio_header hdr,
int  error,
loff_t  pos 
)

Definition at line 60 of file pagelist.c.

void nfs_unlock_and_release_request ( struct nfs_page req)

nfs_unlock_and_release_request - Unlock request and release the nfs_page :

Definition at line 154 of file pagelist.c.

void nfs_unlock_request ( struct nfs_page req)

nfs_unlock_request - Unlock request and wake up sleepers. :

Definition at line 138 of file pagelist.c.

int nfs_wait_on_request ( struct nfs_page req)

nfs_wait_on_request - Wait for a request to complete. : request to wait upon.

Interruptible by fatal signals only. The user is responsible for holding a count on the request.

Definition at line 222 of file pagelist.c.