splice: add block device specific splice buffered write method
Block device write procedure is different from regular file:
- Actual write performed without i_mutex.
- It has no metadata, so generic_osync_inode(O_SYNCMETEDATA) can not livelock.
- We do not have to worry about S_ISUID/S_ISGID bits.
Modified by Jens to better conform with the splice helpers and to apply
on top of the splice branch.
Signed-off-by: Dmitri Monakhov <dmonakhov@openvz.org>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>