Jens Axboe <[EMAIL PROTECTED]> writes: >> nfsd_vfs_read() path. >> >> nfsd_vfs_read() >> splice_direct_to_actor() >> while(len) { >> do_splice_to() [update sd->pos] >> -> generic_file_splice_read() [read from sd->pos] >> nfsd_direct_splice_actor() >> -> __splice_from_pipe() [update sd->pos] >> } >> >> do_splice_to() updates sd->pos for read, and pass updated sd to >> __splice_from_pipe(), and __splice_from_pipe() updates sd->pos for >> write. So, next do_splice_to() read from wrong position. > > Ah, I see. Copying the structure over would work, but it seems like a > big work-around for something that is essentially bad behaviour in the > splice core for direct splicing. > > Can you check if this works for you?
Simple test was done. The patch works for me. Thanks. -- OGAWA Hirofumi <[EMAIL PROTECTED]> - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/