• David Howells's avatar
    netfs: Add iov_iters to (sub)requests to describe various buffers · 92b6cc5d
    David Howells authored
    Add three iov_iter structs:
    
     (1) Add an iov_iter (->iter) to the I/O request to describe the
         unencrypted-side buffer.
    
     (2) Add an iov_iter (->io_iter) to the I/O request to describe the
         encrypted-side I/O buffer.  This may be a different size to the buffer
         in (1).
    
     (3) Add an iov_iter (->io_iter) to the I/O subrequest to describe the part
         of the I/O buffer for that subrequest.
    
    This will allow future patches to point to a bounce buffer instead for
    purposes of handling oversize writes, decryption (where we want to save the
    encrypted data to the cache) and decompression.
    
    These iov_iters persist for the lifetime of the (sub)request, and so can be
    accessed multiple times without worrying about them being deallocated upon
    return to the caller.
    
    The network filesystem must appropriately advance the iterator before
    terminating the request.
    Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
    cc: Jeff Layton <jlayton@kernel.org>
    cc: linux-cachefs@redhat.com
    cc: linux-fsdevel@vger.kernel.org
    cc: linux-mm@kvack.org
    92b6cc5d
buffered_read.c 13.3 KB