|
@@ -706,7 +706,7 @@ static ssize_t ocfs2_direct_IO_write(struct kiocb *iocb,
|
|
|
}
|
|
|
|
|
|
if (append_write) {
|
|
|
- ret = ocfs2_inode_lock(inode, &di_bh, 1);
|
|
|
+ ret = ocfs2_inode_lock(inode, NULL, 1);
|
|
|
if (ret < 0) {
|
|
|
mlog_errno(ret);
|
|
|
goto clean_orphan;
|
|
@@ -720,7 +720,6 @@ static ssize_t ocfs2_direct_IO_write(struct kiocb *iocb,
|
|
|
if (ret < 0) {
|
|
|
mlog_errno(ret);
|
|
|
ocfs2_inode_unlock(inode, 1);
|
|
|
- brelse(di_bh);
|
|
|
goto clean_orphan;
|
|
|
}
|
|
|
|
|
@@ -728,13 +727,10 @@ static ssize_t ocfs2_direct_IO_write(struct kiocb *iocb,
|
|
|
if (is_overwrite < 0) {
|
|
|
mlog_errno(is_overwrite);
|
|
|
ocfs2_inode_unlock(inode, 1);
|
|
|
- brelse(di_bh);
|
|
|
goto clean_orphan;
|
|
|
}
|
|
|
|
|
|
ocfs2_inode_unlock(inode, 1);
|
|
|
- brelse(di_bh);
|
|
|
- di_bh = NULL;
|
|
|
}
|
|
|
|
|
|
written = __blockdev_direct_IO(WRITE, iocb, inode, inode->i_sb->s_bdev,
|