• Jens Axboe's avatar
    splice: fix leak of pages on short splice to pipe · 00de00bd
    Jens Axboe authored
    If the destination pipe is full and we already transferred
    data, we break out instead of waiting for more pipe room.
    The exit logic looks at spd->nr_pages to see if we moved
    everything inside the spd container, but we decrement that
    variable in the loop to decide when spd has emptied.
    
    Instead we want to compare to the original page count in
    the spd, so cache that in a local variable.
    Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
    00de00bd
splice.c 35.4 KB