Sorry, better late than never? He's right, Nick Piggin removed that flag (and promised to reinstate it, but a decade later I'm not holding my breath). On 12/17/19 2:12 PM, Leonardo Bras wrote: > On Fri, 2019-09-13 at 14:55 +0200, Michael Kerrisk (man-pages) wrote: >> Hello Jens, >> >> Would you be willing to take a look at this man-pages bug report >> relating to vmsplice()? > > Hello Jens, > > Could you please provide feedback on this patch? > > Thank you, > Leonardo Bras > > >> >> Thanks, >> >> Michael >> >> On 8/2/19 12:24 AM, Leonardo Bras wrote: >>> As explained in splice.2, SPLICE_F_MOVE became a no-op, and since it >>> is needed to use page gifting, it made SPLICE_F_GIFT a no-op too. >>> >>> I took a look in current code, and found no use of this flag: >>> When enabled, it sets PIPE_BUF_FLAG_GIFT,which is only checked in >>> user_page_pipe_buf_steal, which is only used on >>> user_page_pipe_buf_ops, as a .steal component. >>> >>> But, in the whole kernel code, there is no calling of a steal() >>> function, making me believe this flag is not used anymore. >>> >>> Signed-off-by: Leonardo Bras <leonardo@xxxxxxxxxxxxx> >>> --- >>> man2/vmsplice.2 | 5 +++++ >>> 1 file changed, 5 insertions(+) >>> >>> diff --git a/man2/vmsplice.2 b/man2/vmsplice.2 >>> index 17834607b..94fb86142 100644 >>> --- a/man2/vmsplice.2 >>> +++ b/man2/vmsplice.2 >>> @@ -123,6 +123,11 @@ if this flag is not specified, then a subsequent >>> .B SPLICE_F_MOVE >>> must copy the pages. >>> Data must also be properly page aligned, both in memory and length. >>> +Starting in Linux 2.6.21, it is a no-op, because the >>> +.B SPLICE_F_MOVE >>> +also became a no-op on >>> +.BR splice (2) >>> +. >>> .\" FIXME >>> .\" It looks like the page-alignment requirement went away with >>> .\" commit bd1a68b59c8e3bce45fb76632c64e1e063c3962d >>> >> >> -- Jens Axboe