mirror of https://gitee.com/openkylin/linux.git
switch create_read_pipe() to alloc_file()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
2c48b9c455
commit
d231412db6
12
fs/pipe.c
12
fs/pipe.c
|
@ -1029,20 +1029,14 @@ void free_write_pipe(struct file *f)
|
||||||
|
|
||||||
struct file *create_read_pipe(struct file *wrf, int flags)
|
struct file *create_read_pipe(struct file *wrf, int flags)
|
||||||
{
|
{
|
||||||
struct file *f = get_empty_filp();
|
/* Grab pipe from the writer */
|
||||||
|
struct file *f = alloc_file(&wrf->f_path, FMODE_READ,
|
||||||
|
&read_pipefifo_fops);
|
||||||
if (!f)
|
if (!f)
|
||||||
return ERR_PTR(-ENFILE);
|
return ERR_PTR(-ENFILE);
|
||||||
|
|
||||||
/* Grab pipe from the writer */
|
|
||||||
f->f_path = wrf->f_path;
|
|
||||||
path_get(&wrf->f_path);
|
path_get(&wrf->f_path);
|
||||||
f->f_mapping = wrf->f_path.dentry->d_inode->i_mapping;
|
|
||||||
|
|
||||||
f->f_pos = 0;
|
|
||||||
f->f_flags = O_RDONLY | (flags & O_NONBLOCK);
|
f->f_flags = O_RDONLY | (flags & O_NONBLOCK);
|
||||||
f->f_op = &read_pipefifo_fops;
|
|
||||||
f->f_mode = FMODE_READ;
|
|
||||||
f->f_version = 0;
|
|
||||||
|
|
||||||
return f;
|
return f;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue