int retval = -EIO;
        loff_t offset = page_offset(page);
        int count = PAGE_CACHE_SIZE;
-       struct inode *inode = filp->f_dentry->d_inode;
+       struct inode *inode = filp->f_path.dentry->d_inode;
        struct v9fs_session_info *v9ses = v9fs_inode2v9ses(inode);
        int rsize = v9ses->maxdata - V9FS_IOHDRSZ;
        struct v9fs_fid *v9f = filp->private_data;
 
 static int v9fs_dir_readdir(struct file *filp, void *dirent, filldir_t filldir)
 {
        struct v9fs_fcall *fcall = NULL;
-       struct inode *inode = filp->f_dentry->d_inode;
+       struct inode *inode = filp->f_path.dentry->d_inode;
        struct v9fs_session_info *v9ses = v9fs_inode2v9ses(inode);
        struct v9fs_fid *file = filp->private_data;
        unsigned int i, n, s;
        struct v9fs_stat stat;
        int over = 0;
 
-       dprintk(DEBUG_VFS, "name %s\n", filp->f_dentry->d_name.name);
+       dprintk(DEBUG_VFS, "name %s\n", filp->f_path.dentry->d_name.name);
 
        fid = file->fid;
 
 
 
        dprintk(DEBUG_VFS, "inode: %p file: %p \n", inode, file);
 
-       vfid = v9fs_fid_lookup(file->f_dentry);
+       vfid = v9fs_fid_lookup(file->f_path.dentry);
        if (!vfid) {
                dprintk(DEBUG_ERROR, "Couldn't resolve fid from dentry\n");
                return -EBADF;
 static int v9fs_file_lock(struct file *filp, int cmd, struct file_lock *fl)
 {
        int res = 0;
-       struct inode *inode = filp->f_dentry->d_inode;
+       struct inode *inode = filp->f_path.dentry->d_inode;
 
        dprintk(DEBUG_VFS, "filp: %p lock: %p\n", filp, fl);
 
 v9fs_file_read(struct file *filp, char __user * data, size_t count,
               loff_t * offset)
 {
-       struct inode *inode = filp->f_dentry->d_inode;
+       struct inode *inode = filp->f_path.dentry->d_inode;
        struct v9fs_session_info *v9ses = v9fs_inode2v9ses(inode);
        struct v9fs_fid *v9f = filp->private_data;
        struct v9fs_fcall *fcall = NULL;
 v9fs_file_write(struct file *filp, const char __user * data,
                size_t count, loff_t * offset)
 {
-       struct inode *inode = filp->f_dentry->d_inode;
+       struct inode *inode = filp->f_path.dentry->d_inode;
        struct v9fs_session_info *v9ses = v9fs_inode2v9ses(inode);
        struct v9fs_fid *v9fid = filp->private_data;
        struct v9fs_fcall *fcall;