diff options
Diffstat (limited to 'fs/ocfs2/aops.c')
-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 356e976772bf..96337a4fbbdf 100644 --- a/fs/ocfs2/aops.c +++ b/fs/ocfs2/aops.c | |||
@@ -578,7 +578,9 @@ bail: | |||
578 | static void ocfs2_dio_end_io(struct kiocb *iocb, | 578 | static void ocfs2_dio_end_io(struct kiocb *iocb, |
579 | loff_t offset, | 579 | loff_t offset, |
580 | ssize_t bytes, | 580 | ssize_t bytes, |
581 | void *private) | 581 | void *private, |
582 | int ret, | ||
583 | bool is_async) | ||
582 | { | 584 | { |
583 | struct inode *inode = iocb->ki_filp->f_path.dentry->d_inode; | 585 | struct inode *inode = iocb->ki_filp->f_path.dentry->d_inode; |
584 | int level; | 586 | int level; |
@@ -592,6 +594,9 @@ static void ocfs2_dio_end_io(struct kiocb *iocb, | |||
592 | if (!level) | 594 | if (!level) |
593 | up_read(&inode->i_alloc_sem); | 595 | up_read(&inode->i_alloc_sem); |
594 | ocfs2_rw_unlock(inode, level); | 596 | ocfs2_rw_unlock(inode, level); |
597 | |||
598 | if (is_async) | ||
599 | aio_complete(iocb, ret, 0); | ||
595 | } | 600 | } |
596 | 601 | ||
597 | /* | 602 | /* |