diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2009-08-08 17:01:37 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2009-12-16 12:16:43 -0500 |
commit | d231412db66355e72d606f8403ee8b6bd8ad4f9a (patch) | |
tree | d27282bbe879c2b0d0977594990c8e0701509df1 /fs/pipe.c | |
parent | 2c48b9c45579a9b5e3e74694eebf3d2451f3dbd3 (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.c | 12 |
1 files changed, 3 insertions, 9 deletions
@@ -1029,20 +1029,14 @@ void free_write_pipe(struct file *f) | |||
1029 | 1029 | ||
1030 | struct file *create_read_pipe(struct file *wrf, int flags) | 1030 | struct 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 | } |