···354354 unsigned int offset;355355 ssize_t ret;356356 void *ptr;357357+ int more;357358358359 /*359360 * sub-optimal, but we are limited by the pipe ->map. we don't···367366 return PTR_ERR(ptr);368367369368 offset = pos & ~PAGE_CACHE_MASK;369369+ more = (sd->flags & SPLICE_F_MORE) || sd->len < sd->total_len;370370371371- ret = file->f_op->sendpage(file, buf->page, offset, sd->len, &pos,372372- sd->len < sd->total_len);371371+ ret = file->f_op->sendpage(file, buf->page, offset, sd->len, &pos,more);373372374373 buf->ops->unmap(info, buf);375374 if (ret == sd->len)
+1
include/linux/pipe_fs_i.h
···6262#define SPLICE_F_NONBLOCK (0x02) /* don't block on the pipe splicing (but */6363 /* we may still block on the fd we splice */6464 /* from/to, of course */6565+#define SPLICE_F_MORE (0x04) /* expect more data */65666667#endif