diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2013-03-21 11:01:38 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2013-04-09 14:13:01 -0400 |
commit | 6447a3cf19da8c4653283d1c491e2e775633f348 (patch) | |
tree | 9fda0088125df81c816b5cce416e5d010c9de498 | |
parent | ebec73f4752b777b79b384bd52e5240203cb9b00 (diff) | |
download | linux-stable-6447a3cf19da8c4653283d1c491e2e775633f348.tar.gz linux-stable-6447a3cf19da8c4653283d1c491e2e775633f348.tar.bz2 linux-stable-6447a3cf19da8c4653283d1c491e2e775633f348.zip |
get rid of pipe->inode
it's used only as a flag to distinguish normal pipes/FIFOs from the
internal per-task one used by file-to-file splice. And pipe->files
would work just as well for that purpose...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r-- | fs/fuse/dev.c | 2 | ||||
-rw-r--r-- | fs/pipe.c | 5 | ||||
-rw-r--r-- | fs/splice.c | 4 | ||||
-rw-r--r-- | include/linux/pipe_fs_i.h | 2 |
4 files changed, 5 insertions, 8 deletions
diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c index 11dfa0c3fb46..9bfd1a3214e6 100644 --- a/fs/fuse/dev.c +++ b/fs/fuse/dev.c @@ -1319,7 +1319,7 @@ static ssize_t fuse_dev_splice_read(struct file *in, loff_t *ppos, page_nr++; ret += buf->len; - if (pipe->inode) + if (pipe->files) do_wakeup = 1; } diff --git a/fs/pipe.c b/fs/pipe.c index e2fc5ccb0d49..39bdec06fe2b 100644 --- a/fs/pipe.c +++ b/fs/pipe.c @@ -55,7 +55,7 @@ unsigned int pipe_min_size = PAGE_SIZE; static void pipe_lock_nested(struct pipe_inode_info *pipe, int subclass) { - if (pipe->inode) + if (pipe->files) mutex_lock_nested(&pipe->mutex, subclass); } @@ -70,7 +70,7 @@ EXPORT_SYMBOL(pipe_lock); void pipe_unlock(struct pipe_inode_info *pipe) { - if (pipe->inode) + if (pipe->files) mutex_unlock(&pipe->mutex); } EXPORT_SYMBOL(pipe_unlock); @@ -785,7 +785,6 @@ struct pipe_inode_info * alloc_pipe_info(struct inode *inode) if (pipe->bufs) { init_waitqueue_head(&pipe->wait); pipe->r_counter = pipe->w_counter = 1; - pipe->inode = inode; pipe->buffers = PIPE_DEF_BUFFERS; mutex_init(&pipe->mutex); return pipe; diff --git a/fs/splice.c b/fs/splice.c index 7efc2f5057fb..9f2a4447da50 100644 --- a/fs/splice.c +++ b/fs/splice.c @@ -218,7 +218,7 @@ ssize_t splice_to_pipe(struct pipe_inode_info *pipe, page_nr++; ret += buf->len; - if (pipe->inode) + if (pipe->files) do_wakeup = 1; if (!--spd->nr_pages) @@ -828,7 +828,7 @@ int splice_from_pipe_feed(struct pipe_inode_info *pipe, struct splice_desc *sd, ops->release(pipe, buf); pipe->curbuf = (pipe->curbuf + 1) & (pipe->buffers - 1); pipe->nrbufs--; - if (pipe->inode) + if (pipe->files) sd->need_wakeup = true; } diff --git a/include/linux/pipe_fs_i.h b/include/linux/pipe_fs_i.h index d803a85a64b6..ed8eeeb10811 100644 --- a/include/linux/pipe_fs_i.h +++ b/include/linux/pipe_fs_i.h @@ -41,7 +41,6 @@ struct pipe_buffer { * @w_counter: writer counter * @fasync_readers: reader side fasync * @fasync_writers: writer side fasync - * @inode: inode this pipe is attached to * @bufs: the circular array of pipe buffers **/ struct pipe_inode_info { @@ -57,7 +56,6 @@ struct pipe_inode_info { struct page *tmp_page; struct fasync_struct *fasync_readers; struct fasync_struct *fasync_writers; - struct inode *inode; struct pipe_buffer *bufs; }; |