switch AF_UNIX to generic_file_splice_read()

The only obstacle to using generic_file_splice_read() in there is that
we need an equivalent of MSG_DONTWAIT with SPLICE_F_NONBLOCK in
splice flags.  Introduce IOCB_NDELAY, make sock_read_iter() honour it
(and generic_file_splice_read() set it when SPLICE_F_NONBLOCK is
present) and generic_file_splice_read() for AF_UNIX sockets will do
the right thing.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
4 files changed