dma: mv_xor: Add spinlock in mv_xor_status()

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
dmaengine: Use memcpy in operations smaller than 128 bytes

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
dma: Add dma_pin_kernel_iovec_pages()

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
net: core: datagram: Add skb_copy_datagram_to_kernel_iovec()

TODO: It's not clear to me why what's the benefit of this.

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
net: Support new MSG_KERNSPACE and MSG_NOCATCHSIG flags

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
splice: Introduce common pool manager

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
splice: Implement generic splice, from socket to file

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
fs: do_sendfile: Require sendpage to be defined

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
ext4: Support splice from socket

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
xfs: Support splice from socket

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Attempt at fixing 'splice optimization' when using sendfile()

When using splice to receive a file through a socket, a possible
implementation is to call splice() until there's nothing more to
to transfer (i.e. until we get a broken pipe?).

In such case, kernel_recvmsg() reports an error (or incomplete transfer)
and the correct way of completing the write to the filesystem is by
calling write_end() with copied=0. This should unlock the pages,
but avoid writing any of them to the file (?).

Not sure if any of the above makes any sense, but it fixed my
test case :-)

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>