aboutsummaryrefslogtreecommitdiffstats
path: root/fs/9p
diff options
context:
space:
mode:
authorEric Van Hensbergen <ericvh@gmail.com>2008-10-13 21:36:17 -0400
committerEric Van Hensbergen <ericvh@gmail.com>2008-10-17 12:04:42 -0400
commit0fc9655ec67ec5d4dfd08e469e0e9f0a494bf5bc (patch)
treefc67e000acb43601a0dcb9c0288a94a3d737b6a2 /fs/9p
parent95820a36516d12dcb49d066dd3d5b187a2557612 (diff)
9p: consolidate read/write functions
Currently there are two separate versions of read and write. One for dealing with user buffers and the other for dealing with kernel buffers. There is a tremendous amount of code duplication in the otherwise identical versions of these functions. This patch adds an additional user buffer parameter to read and write and conditionalizes handling of the buffer on whether the kernel buffer or the user buffer is populated. Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
Diffstat (limited to 'fs/9p')
-rw-r--r--fs/9p/vfs_file.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/9p/vfs_file.c b/fs/9p/vfs_file.c
index 52944d2249a..3819a195de8 100644
--- a/fs/9p/vfs_file.c
+++ b/fs/9p/vfs_file.c
@@ -136,7 +136,7 @@ v9fs_file_read(struct file *filp, char __user * data, size_t count,
136 136
137 P9_DPRINTK(P9_DEBUG_VFS, "\n"); 137 P9_DPRINTK(P9_DEBUG_VFS, "\n");
138 fid = filp->private_data; 138 fid = filp->private_data;
139 ret = p9_client_uread(fid, data, *offset, count); 139 ret = p9_client_read(fid, NULL, data, *offset, count);
140 if (ret > 0) 140 if (ret > 0)
141 *offset += ret; 141 *offset += ret;
142 142
@@ -164,7 +164,7 @@ v9fs_file_write(struct file *filp, const char __user * data,
164 (int)count, (int)*offset); 164 (int)count, (int)*offset);
165 165
166 fid = filp->private_data; 166 fid = filp->private_data;
167 ret = p9_client_uwrite(fid, data, *offset, count); 167 ret = p9_client_write(fid, NULL, data, *offset, count);
168 if (ret > 0) { 168 if (ret > 0) {
169 invalidate_inode_pages2_range(inode->i_mapping, *offset, 169 invalidate_inode_pages2_range(inode->i_mapping, *offset,
170 *offset+ret); 170 *offset+ret);