diff options
Diffstat (limited to 'fs/ocfs2')
-rw-r--r-- | fs/ocfs2/aops.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/fs/ocfs2/aops.c b/fs/ocfs2/aops.c index 3623ca20cc18..1d2b1f156bcf 100644 --- a/fs/ocfs2/aops.c +++ b/fs/ocfs2/aops.c | |||
@@ -609,7 +609,9 @@ bail: | |||
609 | static void ocfs2_dio_end_io(struct kiocb *iocb, | 609 | static void ocfs2_dio_end_io(struct kiocb *iocb, |
610 | loff_t offset, | 610 | loff_t offset, |
611 | ssize_t bytes, | 611 | ssize_t bytes, |
612 | void *private) | 612 | void *private, |
613 | int ret, | ||
614 | bool is_async) | ||
613 | { | 615 | { |
614 | struct inode *inode = iocb->ki_filp->f_path.dentry->d_inode; | 616 | struct inode *inode = iocb->ki_filp->f_path.dentry->d_inode; |
615 | int level; | 617 | int level; |
@@ -623,6 +625,9 @@ static void ocfs2_dio_end_io(struct kiocb *iocb, | |||
623 | if (!level) | 625 | if (!level) |
624 | up_read(&inode->i_alloc_sem); | 626 | up_read(&inode->i_alloc_sem); |
625 | ocfs2_rw_unlock(inode, level); | 627 | ocfs2_rw_unlock(inode, level); |
628 | |||
629 | if (is_async) | ||
630 | aio_complete(iocb, ret, 0); | ||
626 | } | 631 | } |
627 | 632 | ||
628 | /* | 633 | /* |