On Mon, Sep 26, 2016 at 03:35:12PM +0200, Miklos Szeredi wrote: > > - if (spd.nr_pages <= 0) > > - ret = spd.nr_pages; > > - else > > - ret = splice_to_pipe(pipe, &spd); > > - > > + pipe_lock(pipe); > > + ret = wait_for_space(pipe, flags); > > + if (!ret) { > > + spd.nr_pages = get_iovec_page_array(&from, spd.pages, > > + spd.partial, > > + spd.nr_pages_max); > > + if (spd.nr_pages <= 0) > > + ret = spd.nr_pages; > > + else > > + ret = splice_to_pipe(pipe, &spd); > > + pipe_unlock(pipe); ^^^^^^^^^^^^^^^^ > > + if (ret > 0) > > + wakeup_pipe_readers(pipe); > > + } > > Unbalanced pipe_lock()? Reordering braindamage; fixed. > Also, while it doesn't hurt, the constification of the "from" argument > of get_iovec_page_array() looks only noise in this patch. Rudiment of earlier variant, when we did a non-trivial loop in the caller. Not needed anymore, removed. Fixed variant force-pushed to the same branch -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html