From: Jens Axboe Date: Fri, 15 Jun 2007 11:16:13 +0000 (+0200) Subject: splice: only check do_wakeup in splice_to_pipe() for a real pipe X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=02676e5aee271c1f20d7d44249d26741aef1e846;p=openwrt%2Fstaging%2Fblogic.git splice: only check do_wakeup in splice_to_pipe() for a real pipe We only ever set do_wakeup to non-zero if the pipe has an inode backing, so it's pointless to check outside the pipe->inode check. Signed-off-by: Jens Axboe --- diff --git a/fs/splice.c b/fs/splice.c index 186fad463c43..e7d7080de2f9 100644 --- a/fs/splice.c +++ b/fs/splice.c @@ -245,14 +245,15 @@ static ssize_t splice_to_pipe(struct pipe_inode_info *pipe, pipe->waiting_writers--; } - if (pipe->inode) + if (pipe->inode) { mutex_unlock(&pipe->inode->i_mutex); - if (do_wakeup) { - smp_mb(); - if (waitqueue_active(&pipe->wait)) - wake_up_interruptible(&pipe->wait); - kill_fasync(&pipe->fasync_readers, SIGIO, POLL_IN); + if (do_wakeup) { + smp_mb(); + if (waitqueue_active(&pipe->wait)) + wake_up_interruptible(&pipe->wait); + kill_fasync(&pipe->fasync_readers, SIGIO, POLL_IN); + } } while (page_nr < spd_pages)