Commit d4cc948b authored by Chuck Lever's avatar Chuck Lever Committed by Trond Myklebust

NFS: update comments and function definitions in fs/nfs/direct.c

Update to latest coding style standards.  Remove block comments on
statically defined functions, and place function definitions all on
one line.

Test plan:
Compile kernel with CONFIG_NFS and CONFIG_NFS_DIRECTIO.
Signed-off-by: default avatarChuck Lever <cel@netapp.com>
Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
parent b8a32e2b
...@@ -101,16 +101,7 @@ ssize_t nfs_direct_IO(int rw, struct kiocb *iocb, const struct iovec *iov, loff_ ...@@ -101,16 +101,7 @@ ssize_t nfs_direct_IO(int rw, struct kiocb *iocb, const struct iovec *iov, loff_
return -EINVAL; return -EINVAL;
} }
/** static inline int nfs_get_user_pages(int rw, unsigned long user_addr, size_t size, struct page ***pages)
* nfs_get_user_pages - find and set up pages underlying user's buffer
* rw: direction (read or write)
* user_addr: starting address of this segment of user's buffer
* count: size of this segment
* @pages: returned array of page struct pointers underlying user's buffer
*/
static inline int
nfs_get_user_pages(int rw, unsigned long user_addr, size_t size,
struct page ***pages)
{ {
int result = -ENOMEM; int result = -ENOMEM;
unsigned long page_count; unsigned long page_count;
...@@ -147,14 +138,7 @@ nfs_get_user_pages(int rw, unsigned long user_addr, size_t size, ...@@ -147,14 +138,7 @@ nfs_get_user_pages(int rw, unsigned long user_addr, size_t size,
return result; return result;
} }
/** static void nfs_free_user_pages(struct page **pages, int npages, int do_dirty)
* nfs_free_user_pages - tear down page struct array
* @pages: array of page struct pointers underlying target buffer
* @npages: number of pages in the array
* @do_dirty: dirty the pages as we release them
*/
static void
nfs_free_user_pages(struct page **pages, int npages, int do_dirty)
{ {
int i; int i;
for (i = 0; i < npages; i++) { for (i = 0; i < npages; i++) {
...@@ -166,22 +150,13 @@ nfs_free_user_pages(struct page **pages, int npages, int do_dirty) ...@@ -166,22 +150,13 @@ nfs_free_user_pages(struct page **pages, int npages, int do_dirty)
kfree(pages); kfree(pages);
} }
/**
* nfs_direct_req_release - release nfs_direct_req structure for direct read
* @kref: kref object embedded in an nfs_direct_req structure
*
*/
static void nfs_direct_req_release(struct kref *kref) static void nfs_direct_req_release(struct kref *kref)
{ {
struct nfs_direct_req *dreq = container_of(kref, struct nfs_direct_req, kref); struct nfs_direct_req *dreq = container_of(kref, struct nfs_direct_req, kref);
kmem_cache_free(nfs_direct_cachep, dreq); kmem_cache_free(nfs_direct_cachep, dreq);
} }
/** /*
* nfs_direct_read_alloc - allocate nfs_read_data structures for direct read
* @count: count of bytes for the read request
* @rsize: local rsize setting
*
* Note we also set the number of requests we have in the dreq when we are * Note we also set the number of requests we have in the dreq when we are
* done. This prevents races with I/O completion so we will always wait * done. This prevents races with I/O completion so we will always wait
* until all requests have been dispatched and completed. * until all requests have been dispatched and completed.
...@@ -232,11 +207,7 @@ static struct nfs_direct_req *nfs_direct_read_alloc(size_t nbytes, unsigned int ...@@ -232,11 +207,7 @@ static struct nfs_direct_req *nfs_direct_read_alloc(size_t nbytes, unsigned int
return dreq; return dreq;
} }
/** /*
* nfs_direct_read_result - handle a read reply for a direct read request
* @data: address of NFS READ operation control block
* @status: status of this NFS READ operation
*
* We must hold a reference to all the pages in this direct read request * We must hold a reference to all the pages in this direct read request
* until the RPCs complete. This could be long *after* we are woken up in * until the RPCs complete. This could be long *after* we are woken up in
* nfs_direct_read_wait (for instance, if someone hits ^C on a slow server). * nfs_direct_read_wait (for instance, if someone hits ^C on a slow server).
...@@ -265,21 +236,11 @@ static const struct rpc_call_ops nfs_read_direct_ops = { ...@@ -265,21 +236,11 @@ static const struct rpc_call_ops nfs_read_direct_ops = {
.rpc_release = nfs_readdata_release, .rpc_release = nfs_readdata_release,
}; };
/** /*
* nfs_direct_read_schedule - dispatch NFS READ operations for a direct read
* @dreq: address of nfs_direct_req struct for this request
* @inode: target inode
* @ctx: target file open context
* @user_addr: starting address of this segment of user's buffer
* @count: size of this segment
* @file_offset: offset in file to begin the operation
*
* For each nfs_read_data struct that was allocated on the list, dispatch * For each nfs_read_data struct that was allocated on the list, dispatch
* an NFS READ operation * an NFS READ operation
*/ */
static void nfs_direct_read_schedule(struct nfs_direct_req *dreq, static void nfs_direct_read_schedule(struct nfs_direct_req *dreq, struct inode *inode, struct nfs_open_context *ctx, unsigned long user_addr, size_t count, loff_t file_offset)
struct inode *inode, struct nfs_open_context *ctx,
unsigned long user_addr, size_t count, loff_t file_offset)
{ {
struct list_head *list = &dreq->list; struct list_head *list = &dreq->list;
struct page **pages = dreq->pages; struct page **pages = dreq->pages;
...@@ -337,11 +298,7 @@ static void nfs_direct_read_schedule(struct nfs_direct_req *dreq, ...@@ -337,11 +298,7 @@ static void nfs_direct_read_schedule(struct nfs_direct_req *dreq,
} while (count != 0); } while (count != 0);
} }
/** /*
* nfs_direct_read_wait - wait for I/O completion for direct reads
* @dreq: request on which we are to wait
* @intr: whether or not this wait can be interrupted
*
* Collects and returns the final error value/byte-count. * Collects and returns the final error value/byte-count.
*/ */
static ssize_t nfs_direct_read_wait(struct nfs_direct_req *dreq, int intr) static ssize_t nfs_direct_read_wait(struct nfs_direct_req *dreq, int intr)
...@@ -364,22 +321,7 @@ static ssize_t nfs_direct_read_wait(struct nfs_direct_req *dreq, int intr) ...@@ -364,22 +321,7 @@ static ssize_t nfs_direct_read_wait(struct nfs_direct_req *dreq, int intr)
return (ssize_t) result; return (ssize_t) result;
} }
/** static ssize_t nfs_direct_read_seg(struct inode *inode, struct nfs_open_context *ctx, unsigned long user_addr, size_t count, loff_t file_offset, struct page **pages, unsigned int nr_pages)
* nfs_direct_read_seg - Read in one iov segment. Generate separate
* read RPCs for each "rsize" bytes.
* @inode: target inode
* @ctx: target file open context
* @user_addr: starting address of this segment of user's buffer
* @count: size of this segment
* @file_offset: offset in file to begin the operation
* @pages: array of addresses of page structs defining user's buffer
* @nr_pages: number of pages in the array
*
*/
static ssize_t nfs_direct_read_seg(struct inode *inode,
struct nfs_open_context *ctx, unsigned long user_addr,
size_t count, loff_t file_offset, struct page **pages,
unsigned int nr_pages)
{ {
ssize_t result; ssize_t result;
sigset_t oldset; sigset_t oldset;
...@@ -404,22 +346,11 @@ static ssize_t nfs_direct_read_seg(struct inode *inode, ...@@ -404,22 +346,11 @@ static ssize_t nfs_direct_read_seg(struct inode *inode,
return result; return result;
} }
/** /*
* nfs_direct_read - For each iov segment, map the user's buffer
* then generate read RPCs.
* @inode: target inode
* @ctx: target file open context
* @iov: array of vectors that define I/O buffer
* file_offset: offset in file to begin the operation
* nr_segs: size of iovec array
*
* We've already pushed out any non-direct writes so that this read * We've already pushed out any non-direct writes so that this read
* will see them when we read from the server. * will see them when we read from the server.
*/ */
static ssize_t static ssize_t nfs_direct_read(struct inode *inode, struct nfs_open_context *ctx, const struct iovec *iov, loff_t file_offset, unsigned long nr_segs)
nfs_direct_read(struct inode *inode, struct nfs_open_context *ctx,
const struct iovec *iov, loff_t file_offset,
unsigned long nr_segs)
{ {
ssize_t tot_bytes = 0; ssize_t tot_bytes = 0;
unsigned long seg = 0; unsigned long seg = 0;
...@@ -457,21 +388,7 @@ nfs_direct_read(struct inode *inode, struct nfs_open_context *ctx, ...@@ -457,21 +388,7 @@ nfs_direct_read(struct inode *inode, struct nfs_open_context *ctx,
return tot_bytes; return tot_bytes;
} }
/** static ssize_t nfs_direct_write_seg(struct inode *inode, struct nfs_open_context *ctx, unsigned long user_addr, size_t count, loff_t file_offset, struct page **pages, int nr_pages)
* nfs_direct_write_seg - Write out one iov segment. Generate separate
* write RPCs for each "wsize" bytes, then commit.
* @inode: target inode
* @ctx: target file open context
* user_addr: starting address of this segment of user's buffer
* count: size of this segment
* file_offset: offset in file to begin the operation
* @pages: array of addresses of page structs defining user's buffer
* nr_pages: size of pages array
*/
static ssize_t nfs_direct_write_seg(struct inode *inode,
struct nfs_open_context *ctx, unsigned long user_addr,
size_t count, loff_t file_offset, struct page **pages,
int nr_pages)
{ {
const unsigned int wsize = NFS_SERVER(inode)->wsize; const unsigned int wsize = NFS_SERVER(inode)->wsize;
size_t request; size_t request;
...@@ -573,22 +490,12 @@ static ssize_t nfs_direct_write_seg(struct inode *inode, ...@@ -573,22 +490,12 @@ static ssize_t nfs_direct_write_seg(struct inode *inode,
goto retry; goto retry;
} }
/** /*
* nfs_direct_write - For each iov segment, map the user's buffer
* then generate write and commit RPCs.
* @inode: target inode
* @ctx: target file open context
* @iov: array of vectors that define I/O buffer
* file_offset: offset in file to begin the operation
* nr_segs: size of iovec array
*
* Upon return, generic_file_direct_IO invalidates any cached pages * Upon return, generic_file_direct_IO invalidates any cached pages
* that non-direct readers might access, so they will pick up these * that non-direct readers might access, so they will pick up these
* writes immediately. * writes immediately.
*/ */
static ssize_t nfs_direct_write(struct inode *inode, static ssize_t nfs_direct_write(struct inode *inode, struct nfs_open_context *ctx, const struct iovec *iov, loff_t file_offset, unsigned long nr_segs)
struct nfs_open_context *ctx, const struct iovec *iov,
loff_t file_offset, unsigned long nr_segs)
{ {
ssize_t tot_bytes = 0; ssize_t tot_bytes = 0;
unsigned long seg = 0; unsigned long seg = 0;
...@@ -649,8 +556,7 @@ static ssize_t nfs_direct_write(struct inode *inode, ...@@ -649,8 +556,7 @@ static ssize_t nfs_direct_write(struct inode *inode,
* client must read the updated atime from the server back into its * client must read the updated atime from the server back into its
* cache. * cache.
*/ */
ssize_t ssize_t nfs_file_direct_read(struct kiocb *iocb, char __user *buf, size_t count, loff_t pos)
nfs_file_direct_read(struct kiocb *iocb, char __user *buf, size_t count, loff_t pos)
{ {
ssize_t retval = -EINVAL; ssize_t retval = -EINVAL;
loff_t *ppos = &iocb->ki_pos; loff_t *ppos = &iocb->ki_pos;
...@@ -717,8 +623,7 @@ nfs_file_direct_read(struct kiocb *iocb, char __user *buf, size_t count, loff_t ...@@ -717,8 +623,7 @@ nfs_file_direct_read(struct kiocb *iocb, char __user *buf, size_t count, loff_t
* Note that O_APPEND is not supported for NFS direct writes, as there * Note that O_APPEND is not supported for NFS direct writes, as there
* is no atomic O_APPEND write facility in the NFS protocol. * is no atomic O_APPEND write facility in the NFS protocol.
*/ */
ssize_t ssize_t nfs_file_direct_write(struct kiocb *iocb, const char __user *buf, size_t count, loff_t pos)
nfs_file_direct_write(struct kiocb *iocb, const char __user *buf, size_t count, loff_t pos)
{ {
ssize_t retval; ssize_t retval;
struct file *file = iocb->ki_filp; struct file *file = iocb->ki_filp;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment