aboutsummaryrefslogtreecommitdiffstats
path: root/fs/splice.c
diff options
context:
space:
mode:
authorJosef "Jeff" Sipek <jsipek@cs.sunysb.edu>2006-12-08 05:36:35 -0500
committerLinus Torvalds <torvalds@woody.osdl.org>2006-12-08 11:28:41 -0500
commit0f7fc9e4d03987fe29f6dd4aa67e4c56eb7ecb05 (patch)
tree51763269e44eb9bf4d0f8c529577489902850cf9 /fs/splice.c
parentb65d34fd465f19fbe2f32f2205a9a06ca7c2bdeb (diff)
[PATCH] VFS: change struct file to use struct path
This patch changes struct file to use struct path instead of having independent pointers to struct dentry and struct vfsmount, and converts all users of f_{dentry,vfsmnt} in fs/ to use f_path.{dentry,mnt}. Additionally, it adds two #define's to make the transition easier for users of the f_dentry and f_vfsmnt. Signed-off-by: Josef "Jeff" Sipek <jsipek@cs.sunysb.edu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/splice.c')
-rw-r--r--fs/splice.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/fs/splice.c b/fs/splice.c
index da74583a00ee..bbd0aeb3f68e 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -844,7 +844,7 @@ generic_file_splice_write_nolock(struct pipe_inode_info *pipe, struct file *out,
844 ssize_t ret; 844 ssize_t ret;
845 int err; 845 int err;
846 846
847 err = remove_suid(out->f_dentry); 847 err = remove_suid(out->f_path.dentry);
848 if (unlikely(err)) 848 if (unlikely(err))
849 return err; 849 return err;
850 850
@@ -890,10 +890,10 @@ generic_file_splice_write(struct pipe_inode_info *pipe, struct file *out,
890 ssize_t ret; 890 ssize_t ret;
891 int err; 891 int err;
892 892
893 err = should_remove_suid(out->f_dentry); 893 err = should_remove_suid(out->f_path.dentry);
894 if (unlikely(err)) { 894 if (unlikely(err)) {
895 mutex_lock(&inode->i_mutex); 895 mutex_lock(&inode->i_mutex);
896 err = __remove_suid(out->f_dentry, err); 896 err = __remove_suid(out->f_path.dentry, err);
897 mutex_unlock(&inode->i_mutex); 897 mutex_unlock(&inode->i_mutex);
898 if (err) 898 if (err)
899 return err; 899 return err;
@@ -1008,7 +1008,7 @@ long do_splice_direct(struct file *in, loff_t *ppos, struct file *out,
1008 * randomly drop data for eg socket -> socket splicing. Use the 1008 * randomly drop data for eg socket -> socket splicing. Use the
1009 * piped splicing for that! 1009 * piped splicing for that!
1010 */ 1010 */
1011 i_mode = in->f_dentry->d_inode->i_mode; 1011 i_mode = in->f_path.dentry->d_inode->i_mode;
1012 if (unlikely(!S_ISREG(i_mode) && !S_ISBLK(i_mode))) 1012 if (unlikely(!S_ISREG(i_mode) && !S_ISBLK(i_mode)))
1013 return -EINVAL; 1013 return -EINVAL;
1014 1014
@@ -1132,7 +1132,7 @@ static long do_splice(struct file *in, loff_t __user *off_in,
1132 loff_t offset, *off; 1132 loff_t offset, *off;
1133 long ret; 1133 long ret;
1134 1134
1135 pipe = pipe_info(in->f_dentry->d_inode); 1135 pipe = pipe_info(in->f_path.dentry->d_inode);
1136 if (pipe) { 1136 if (pipe) {
1137 if (off_in) 1137 if (off_in)
1138 return -ESPIPE; 1138 return -ESPIPE;
@@ -1153,7 +1153,7 @@ static long do_splice(struct file *in, loff_t __user *off_in,
1153 return ret; 1153 return ret;
1154 } 1154 }
1155 1155
1156 pipe = pipe_info(out->f_dentry->d_inode); 1156 pipe = pipe_info(out->f_path.dentry->d_inode);
1157 if (pipe) { 1157 if (pipe) {
1158 if (off_out) 1158 if (off_out)
1159 return -ESPIPE; 1159 return -ESPIPE;
@@ -1321,7 +1321,7 @@ static long do_vmsplice(struct file *file, const struct iovec __user *iov,
1321 .ops = &user_page_pipe_buf_ops, 1321 .ops = &user_page_pipe_buf_ops,
1322 }; 1322 };
1323 1323
1324 pipe = pipe_info(file->f_dentry->d_inode); 1324 pipe = pipe_info(file->f_path.dentry->d_inode);
1325 if (!pipe) 1325 if (!pipe)
1326 return -EBADF; 1326 return -EBADF;
1327 if (unlikely(nr_segs > UIO_MAXIOV)) 1327 if (unlikely(nr_segs > UIO_MAXIOV))
@@ -1549,8 +1549,8 @@ static int link_pipe(struct pipe_inode_info *ipipe,
1549static long do_tee(struct file *in, struct file *out, size_t len, 1549static long do_tee(struct file *in, struct file *out, size_t len,
1550 unsigned int flags) 1550 unsigned int flags)
1551{ 1551{
1552 struct pipe_inode_info *ipipe = pipe_info(in->f_dentry->d_inode); 1552 struct pipe_inode_info *ipipe = pipe_info(in->f_path.dentry->d_inode);
1553 struct pipe_inode_info *opipe = pipe_info(out->f_dentry->d_inode); 1553 struct pipe_inode_info *opipe = pipe_info(out->f_path.dentry->d_inode);
1554 int ret = -EINVAL; 1554 int ret = -EINVAL;
1555 1555
1556 /* 1556 /*