aboutsummaryrefslogtreecommitdiffstats
path: root/fs/pipe.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2009-08-08 17:01:37 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2009-12-16 12:16:43 -0500
commitd231412db66355e72d606f8403ee8b6bd8ad4f9a (patch)
treed27282bbe879c2b0d0977594990c8e0701509df1 /fs/pipe.c
parent2c48b9c45579a9b5e3e74694eebf3d2451f3dbd3 (diff)
switch create_read_pipe() to alloc_file()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/pipe.c')
-rw-r--r--fs/pipe.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/fs/pipe.c b/fs/pipe.c
index 81288bc2bcbb..43d79da5c57e 100644
--- a/fs/pipe.c
+++ b/fs/pipe.c
@@ -1029,20 +1029,14 @@ void free_write_pipe(struct file *f)
1029 1029
1030struct file *create_read_pipe(struct file *wrf, int flags) 1030struct file *create_read_pipe(struct file *wrf, int flags)
1031{ 1031{
1032 struct file *f = get_empty_filp(); 1032 /* Grab pipe from the writer */
1033 struct file *f = alloc_file(&wrf->f_path, FMODE_READ,
1034 &read_pipefifo_fops);
1033 if (!f) 1035 if (!f)
1034 return ERR_PTR(-ENFILE); 1036 return ERR_PTR(-ENFILE);
1035 1037
1036 /* Grab pipe from the writer */
1037 f->f_path = wrf->f_path;
1038 path_get(&wrf->f_path); 1038 path_get(&wrf->f_path);
1039 f->f_mapping = wrf->f_path.dentry->d_inode->i_mapping;
1040
1041 f->f_pos = 0;
1042 f->f_flags = O_RDONLY | (flags & O_NONBLOCK); 1039 f->f_flags = O_RDONLY | (flags & O_NONBLOCK);
1043 f->f_op = &read_pipefifo_fops;
1044 f->f_mode = FMODE_READ;
1045 f->f_version = 0;
1046 1040
1047 return f; 1041 return f;
1048} 1042}