]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - fs/ocfs2/aops.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[karo-tx-linux.git] / fs / ocfs2 / aops.c
index 9796330d8f04b3c46eb0e0c3150a3f9286415d37..20dfec72e90330a9b613e2a78ee5b59874870925 100644 (file)
@@ -569,7 +569,7 @@ static void ocfs2_dio_end_io(struct kiocb *iocb,
                             int ret,
                             bool is_async)
 {
-       struct inode *inode = iocb->ki_filp->f_path.dentry->d_inode;
+       struct inode *inode = file_inode(iocb->ki_filp);
        int level;
        wait_queue_head_t *wq = ocfs2_ioend_wq(inode);
 
@@ -593,9 +593,9 @@ static void ocfs2_dio_end_io(struct kiocb *iocb,
        level = ocfs2_iocb_rw_locked_level(iocb);
        ocfs2_rw_unlock(inode, level);
 
+       inode_dio_done(inode);
        if (is_async)
                aio_complete(iocb, ret, 0);
-       inode_dio_done(inode);
 }
 
 /*
@@ -626,7 +626,7 @@ static ssize_t ocfs2_direct_IO(int rw,
                               unsigned long nr_segs)
 {
        struct file *file = iocb->ki_filp;
-       struct inode *inode = file->f_path.dentry->d_inode->i_mapping->host;
+       struct inode *inode = file_inode(file)->i_mapping->host;
 
        /*
         * Fallback to buffered I/O if we see an inode without