• Jens Axboe's avatar
    splice: fix offset mangling with direct splicing (sendfile) · 51a92c0f
    Jens Axboe authored
    If the output actor doesn't transfer the full amount of data, we will
    increment ppos too much. Two related bugs in there:
    
    - We need to break out and return actor() retval if it is shorted than
      what we spliced into the pipe.
    
    - Adjust ppos only according to actor() return.
    
    Also fix loop problem in generic_file_splice_read(), it should not keep
    going when data has already been transferred.
    Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
    51a92c0f
splice.c 39.9 KB