Commit f1084bc6 authored by David Sterba's avatar David Sterba

Revert "fs: remove dio_end_io()"

This reverts commit b75b7ca7.

The patch restores a helper that was not necessary after direct IO port
to iomap infrastructure, which gets reverted.
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 8e0fa5d7
...@@ -386,6 +386,25 @@ static void dio_bio_end_io(struct bio *bio) ...@@ -386,6 +386,25 @@ static void dio_bio_end_io(struct bio *bio)
spin_unlock_irqrestore(&dio->bio_lock, flags); spin_unlock_irqrestore(&dio->bio_lock, flags);
} }
/**
* dio_end_io - handle the end io action for the given bio
* @bio: The direct io bio thats being completed
*
* This is meant to be called by any filesystem that uses their own dio_submit_t
* so that the DIO specific endio actions are dealt with after the filesystem
* has done it's completion work.
*/
void dio_end_io(struct bio *bio)
{
struct dio *dio = bio->bi_private;
if (dio->is_async)
dio_bio_end_aio(bio);
else
dio_bio_end_io(bio);
}
EXPORT_SYMBOL_GPL(dio_end_io);
static inline void static inline void
dio_bio_alloc(struct dio *dio, struct dio_submit *sdio, dio_bio_alloc(struct dio *dio, struct dio_submit *sdio,
struct block_device *bdev, struct block_device *bdev,
......
...@@ -3187,6 +3187,8 @@ enum { ...@@ -3187,6 +3187,8 @@ enum {
DIO_SKIP_HOLES = 0x02, DIO_SKIP_HOLES = 0x02,
}; };
void dio_end_io(struct bio *bio);
ssize_t __blockdev_direct_IO(struct kiocb *iocb, struct inode *inode, ssize_t __blockdev_direct_IO(struct kiocb *iocb, struct inode *inode,
struct block_device *bdev, struct iov_iter *iter, struct block_device *bdev, struct iov_iter *iter,
get_block_t get_block, get_block_t get_block,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment