diff options
Diffstat (limited to 'fs/ocfs2/aops.c')
| -rw-r--r-- | fs/ocfs2/aops.c | 7 | 
1 files changed, 3 insertions, 4 deletions
diff --git a/fs/ocfs2/aops.c b/fs/ocfs2/aops.c index ac97bca282d..de1d3953599 100644 --- a/fs/ocfs2/aops.c +++ b/fs/ocfs2/aops.c @@ -551,9 +551,8 @@ bail:  /*   * ocfs2_dio_end_io is called by the dio core when a dio is finished.  We're - * particularly interested in the aio/dio case.  Like the core uses - * i_alloc_sem, we use the rw_lock DLM lock to protect io on one node from - * truncation on another. + * particularly interested in the aio/dio case.  We use the rw_lock DLM lock + * to protect io on one node from truncation on another.   */  static void ocfs2_dio_end_io(struct kiocb *iocb,  			     loff_t offset, @@ -569,7 +568,7 @@ static void ocfs2_dio_end_io(struct kiocb *iocb,  	BUG_ON(!ocfs2_iocb_is_rw_locked(iocb));  	if (ocfs2_iocb_is_sem_locked(iocb)) { -		up_read(&inode->i_alloc_sem); +		inode_dio_done(inode);  		ocfs2_iocb_clear_sem_locked(iocb);  	}  |