diff options
author | Christoph Hellwig <hch@lst.de> | 2016-02-08 14:40:51 +1100 |
---|---|---|
committer | Dave Chinner <david@fromorbit.com> | 2016-02-08 14:40:51 +1100 |
commit | 187372a3b9faff68ed61c291d0135e6739e0dbdf (patch) | |
tree | 7eeed8ee2944dbdcc60ec49cf08f1b1604400b3e /include/linux/fs.h | |
parent | 36f90b0a2ddd60823fe193a85e60ff1906c2a9b3 (diff) | |
download | lwn-187372a3b9faff68ed61c291d0135e6739e0dbdf.tar.gz lwn-187372a3b9faff68ed61c291d0135e6739e0dbdf.zip |
direct-io: always call ->end_io if non-NULL
This way we can pass back errors to the file system, and allow for
cleanup required for all direct I/O invocations.
Also allow the ->end_io handlers to return errors on their own, so that
I/O completion errors can be passed on to the callers.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Diffstat (limited to 'include/linux/fs.h')
-rw-r--r-- | include/linux/fs.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h index 1a2046275cdf..d7f37bfcbdce 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -70,7 +70,7 @@ extern int sysctl_protected_hardlinks; struct buffer_head; typedef int (get_block_t)(struct inode *inode, sector_t iblock, struct buffer_head *bh_result, int create); -typedef void (dio_iodone_t)(struct kiocb *iocb, loff_t offset, +typedef int (dio_iodone_t)(struct kiocb *iocb, loff_t offset, ssize_t bytes, void *private); typedef void (dax_iodone_t)(struct buffer_head *bh_map, int uptodate); |