diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-03 17:33:38 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-03 17:33:38 -0400 |
| commit | 51102ee5b8853d230e534cbcd0d888f0134738a3 (patch) | |
| tree | 5a34844b3040dbc099dd0d3ebc2e6fca0bc65855 /fs/ocfs2/aops.c | |
| parent | 54161df1fb1469d66bce3a3b14d8281adbb69263 (diff) | |
| parent | 6b0a2996a0c023d84bc27ec7528a6e54cb5ea264 (diff) | |
Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs
* 'for-linus' of git://oss.sgi.com/xfs/xfs: (49 commits)
xfs simplify and speed up direct I/O completions
xfs: move aio completion after unwritten extent conversion
direct-io: move aio_complete into ->end_io
xfs: fix big endian build
xfs: clean up xfs_bmap_get_bp
xfs: simplify xfs_truncate_file
xfs: kill the b_strat callback in xfs_buf
xfs: remove obsolete osyncisosync mount option
xfs: clean up filestreams helpers
xfs: fix gcc 4.6 set but not read and unused statement warnings
xfs: Fix build when CONFIG_XFS_POSIX_ACL=n
xfs: fix unsigned underflow in xfs_free_eofblocks
xfs: use GFP_NOFS for page cache allocation
xfs: fix memory reclaim recursion deadlock on locked inode buffer
xfs: fix xfs_trans_add_item() lockdep warnings
xfs: simplify and remove xfs_ireclaim
xfs: don't block on buffer read errors
xfs: move inode shrinker unregister even earlier
xfs: remove a dmapi leftover
xfs: writepage always has buffers
...
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 | /* |
