&version->desc))
                return -EFAULT;
 
-       err = drm_ioctl(file->f_dentry->d_inode, file,
+       err = drm_ioctl(file->f_path.dentry->d_inode, file,
                        DRM_IOCTL_VERSION, (unsigned long)version);
        if (err)
                return err;
                          &u->unique))
                return -EFAULT;
 
-       err = drm_ioctl(file->f_dentry->d_inode, file,
+       err = drm_ioctl(file->f_path.dentry->d_inode, file,
                        DRM_IOCTL_GET_UNIQUE, (unsigned long)u);
        if (err)
                return err;
                          &u->unique))
                return -EFAULT;
 
-       return drm_ioctl(file->f_dentry->d_inode, file,
+       return drm_ioctl(file->f_path.dentry->d_inode, file,
                         DRM_IOCTL_SET_UNIQUE, (unsigned long)u);
 }
 
        if (__put_user(idx, &map->offset))
                return -EFAULT;
 
-       err = drm_ioctl(file->f_dentry->d_inode, file,
+       err = drm_ioctl(file->f_path.dentry->d_inode, file,
                        DRM_IOCTL_GET_MAP, (unsigned long)map);
        if (err)
                return err;
            || __put_user(m32.flags, &map->flags))
                return -EFAULT;
 
-       err = drm_ioctl(file->f_dentry->d_inode, file,
+       err = drm_ioctl(file->f_path.dentry->d_inode, file,
                        DRM_IOCTL_ADD_MAP, (unsigned long)map);
        if (err)
                return err;
        if (__put_user((void *)(unsigned long)handle, &map->handle))
                return -EFAULT;
 
-       return drm_ioctl(file->f_dentry->d_inode, file,
+       return drm_ioctl(file->f_path.dentry->d_inode, file,
                         DRM_IOCTL_RM_MAP, (unsigned long)map);
 }
 
        if (__put_user(idx, &client->idx))
                return -EFAULT;
 
-       err = drm_ioctl(file->f_dentry->d_inode, file,
+       err = drm_ioctl(file->f_path.dentry->d_inode, file,
                        DRM_IOCTL_GET_CLIENT, (unsigned long)client);
        if (err)
                return err;
        if (!access_ok(VERIFY_WRITE, stats, sizeof(*stats)))
                return -EFAULT;
 
-       err = drm_ioctl(file->f_dentry->d_inode, file,
+       err = drm_ioctl(file->f_path.dentry->d_inode, file,
                        DRM_IOCTL_GET_STATS, (unsigned long)stats);
        if (err)
                return err;
            || __put_user(agp_start, &buf->agp_start))
                return -EFAULT;
 
-       err = drm_ioctl(file->f_dentry->d_inode, file,
+       err = drm_ioctl(file->f_path.dentry->d_inode, file,
                        DRM_IOCTL_ADD_BUFS, (unsigned long)buf);
        if (err)
                return err;
            || __put_user(b32.high_mark, &buf->high_mark))
                return -EFAULT;
 
-       return drm_ioctl(file->f_dentry->d_inode, file,
+       return drm_ioctl(file->f_path.dentry->d_inode, file,
                         DRM_IOCTL_MARK_BUFS, (unsigned long)buf);
 }
 
            || __put_user(list, &request->list))
                return -EFAULT;
 
-       err = drm_ioctl(file->f_dentry->d_inode, file,
+       err = drm_ioctl(file->f_path.dentry->d_inode, file,
                        DRM_IOCTL_INFO_BUFS, (unsigned long)request);
        if (err)
                return err;
            || __put_user(list, &request->list))
                return -EFAULT;
 
-       err = drm_ioctl(file->f_dentry->d_inode, file,
+       err = drm_ioctl(file->f_path.dentry->d_inode, file,
                        DRM_IOCTL_MAP_BUFS, (unsigned long)request);
        if (err)
                return err;
                          &request->list))
                return -EFAULT;
 
-       return drm_ioctl(file->f_dentry->d_inode, file,
+       return drm_ioctl(file->f_path.dentry->d_inode, file,
                         DRM_IOCTL_FREE_BUFS, (unsigned long)request);
 }
 
                          &request->handle))
                return -EFAULT;
 
-       return drm_ioctl(file->f_dentry->d_inode, file,
+       return drm_ioctl(file->f_path.dentry->d_inode, file,
                         DRM_IOCTL_SET_SAREA_CTX, (unsigned long)request);
 }
 
        if (__put_user(ctx_id, &request->ctx_id))
                return -EFAULT;
 
-       err = drm_ioctl(file->f_dentry->d_inode, file,
+       err = drm_ioctl(file->f_path.dentry->d_inode, file,
                        DRM_IOCTL_GET_SAREA_CTX, (unsigned long)request);
        if (err)
                return err;
                          &res->contexts))
                return -EFAULT;
 
-       err = drm_ioctl(file->f_dentry->d_inode, file,
+       err = drm_ioctl(file->f_path.dentry->d_inode, file,
                        DRM_IOCTL_RES_CTX, (unsigned long)res);
        if (err)
                return err;
                          &d->request_sizes))
                return -EFAULT;
 
-       err = drm_ioctl(file->f_dentry->d_inode, file,
+       err = drm_ioctl(file->f_path.dentry->d_inode, file,
                        DRM_IOCTL_DMA, (unsigned long)d);
        if (err)
                return err;
        if (put_user(m32.mode, &mode->mode))
                return -EFAULT;
 
-       return drm_ioctl(file->f_dentry->d_inode, file,
+       return drm_ioctl(file->f_path.dentry->d_inode, file,
                         DRM_IOCTL_AGP_ENABLE, (unsigned long)mode);
 }
 
        if (!access_ok(VERIFY_WRITE, info, sizeof(*info)))
                return -EFAULT;
 
-       err = drm_ioctl(file->f_dentry->d_inode, file,
+       err = drm_ioctl(file->f_path.dentry->d_inode, file,
                        DRM_IOCTL_AGP_INFO, (unsigned long)info);
        if (err)
                return err;
            || __put_user(req32.type, &request->type))
                return -EFAULT;
 
-       err = drm_ioctl(file->f_dentry->d_inode, file,
+       err = drm_ioctl(file->f_path.dentry->d_inode, file,
                        DRM_IOCTL_AGP_ALLOC, (unsigned long)request);
        if (err)
                return err;
        if (__get_user(req32.handle, &request->handle)
            || __get_user(req32.physical, &request->physical)
            || copy_to_user(argp, &req32, sizeof(req32))) {
-               drm_ioctl(file->f_dentry->d_inode, file,
+               drm_ioctl(file->f_path.dentry->d_inode, file,
                          DRM_IOCTL_AGP_FREE, (unsigned long)request);
                return -EFAULT;
        }
            || __put_user(handle, &request->handle))
                return -EFAULT;
 
-       return drm_ioctl(file->f_dentry->d_inode, file,
+       return drm_ioctl(file->f_path.dentry->d_inode, file,
                         DRM_IOCTL_AGP_FREE, (unsigned long)request);
 }
 
            || __put_user(req32.offset, &request->offset))
                return -EFAULT;
 
-       return drm_ioctl(file->f_dentry->d_inode, file,
+       return drm_ioctl(file->f_path.dentry->d_inode, file,
                         DRM_IOCTL_AGP_BIND, (unsigned long)request);
 }
 
            || __put_user(handle, &request->handle))
                return -EFAULT;
 
-       return drm_ioctl(file->f_dentry->d_inode, file,
+       return drm_ioctl(file->f_path.dentry->d_inode, file,
                         DRM_IOCTL_AGP_UNBIND, (unsigned long)request);
 }
 #endif                         /* __OS_HAS_AGP */
            || __put_user(x, &request->size))
                return -EFAULT;
 
-       err = drm_ioctl(file->f_dentry->d_inode, file,
+       err = drm_ioctl(file->f_path.dentry->d_inode, file,
                        DRM_IOCTL_SG_ALLOC, (unsigned long)request);
        if (err)
                return err;
            || __put_user(x << PAGE_SHIFT, &request->handle))
                return -EFAULT;
 
-       return drm_ioctl(file->f_dentry->d_inode, file,
+       return drm_ioctl(file->f_path.dentry->d_inode, file,
                         DRM_IOCTL_SG_FREE, (unsigned long)request);
 }
 
            || __put_user(req32.request.signal, &request->request.signal))
                return -EFAULT;
 
-       err = drm_ioctl(file->f_dentry->d_inode, file,
+       err = drm_ioctl(file->f_path.dentry->d_inode, file,
                        DRM_IOCTL_WAIT_VBLANK, (unsigned long)request);
        if (err)
                return err;
        if (fn != NULL)
                ret = (*fn) (filp, cmd, arg);
        else
-               ret = drm_ioctl(filp->f_dentry->d_inode, filp, cmd, arg);
+               ret = drm_ioctl(filp->f_path.dentry->d_inode, filp, cmd, arg);
        unlock_kernel();
 
        return ret;
 
                          &batchbuffer->cliprects))
                return -EFAULT;
 
-       return drm_ioctl(file->f_dentry->d_inode, file,
+       return drm_ioctl(file->f_path.dentry->d_inode, file,
                         DRM_IOCTL_I915_BATCHBUFFER,
                         (unsigned long)batchbuffer);
 }
                          &cmdbuffer->cliprects))
                return -EFAULT;
 
-       return drm_ioctl(file->f_dentry->d_inode, file,
+       return drm_ioctl(file->f_path.dentry->d_inode, file,
                         DRM_IOCTL_I915_CMDBUFFER, (unsigned long)cmdbuffer);
 }
 
                          &request->irq_seq))
                return -EFAULT;
 
-       return drm_ioctl(file->f_dentry->d_inode, file,
+       return drm_ioctl(file->f_path.dentry->d_inode, file,
                         DRM_IOCTL_I915_IRQ_EMIT, (unsigned long)request);
 }
 typedef struct drm_i915_getparam32 {
                          &request->value))
                return -EFAULT;
 
-       return drm_ioctl(file->f_dentry->d_inode, file,
+       return drm_ioctl(file->f_path.dentry->d_inode, file,
                         DRM_IOCTL_I915_GETPARAM, (unsigned long)request);
 }
 
                          &request->region_offset))
                return -EFAULT;
 
-       return drm_ioctl(file->f_dentry->d_inode, file,
+       return drm_ioctl(file->f_path.dentry->d_inode, file,
                         DRM_IOCTL_I915_ALLOC, (unsigned long)request);
 }
 
        if (fn != NULL)
                ret = (*fn) (filp, cmd, arg);
        else
-               ret = drm_ioctl(filp->f_dentry->d_inode, filp, cmd, arg);
+               ret = drm_ioctl(filp->f_path.dentry->d_inode, filp, cmd, arg);
        unlock_kernel();
 
        return ret;
 
                          &init->gart_textures_offset))
                return -EFAULT;
 
-       return drm_ioctl(file->f_dentry->d_inode, file,
+       return drm_ioctl(file->f_path.dentry->d_inode, file,
                         DRM_IOCTL_RADEON_CP_INIT, (unsigned long)init);
 }
 
                          &clr->depth_boxes))
                return -EFAULT;
 
-       return drm_ioctl(file->f_dentry->d_inode, file,
+       return drm_ioctl(file->f_path.dentry->d_inode, file,
                         DRM_IOCTL_RADEON_CLEAR, (unsigned long)clr);
 }
 
                          &request->mask))
                return -EFAULT;
 
-       return drm_ioctl(file->f_dentry->d_inode, file,
+       return drm_ioctl(file->f_path.dentry->d_inode, file,
                         DRM_IOCTL_RADEON_STIPPLE, (unsigned long)request);
 }
 
                          &image->data))
                return -EFAULT;
 
-       return drm_ioctl(file->f_dentry->d_inode, file,
+       return drm_ioctl(file->f_path.dentry->d_inode, file,
                         DRM_IOCTL_RADEON_TEXTURE, (unsigned long)request);
 }
 
                          &request->prim))
                return -EFAULT;
 
-       return drm_ioctl(file->f_dentry->d_inode, file,
+       return drm_ioctl(file->f_path.dentry->d_inode, file,
                         DRM_IOCTL_RADEON_VERTEX2, (unsigned long)request);
 }
 
                          &request->boxes))
                return -EFAULT;
 
-       return drm_ioctl(file->f_dentry->d_inode, file,
+       return drm_ioctl(file->f_path.dentry->d_inode, file,
                         DRM_IOCTL_RADEON_CMDBUF, (unsigned long)request);
 }
 
                          &request->value))
                return -EFAULT;
 
-       return drm_ioctl(file->f_dentry->d_inode, file,
+       return drm_ioctl(file->f_path.dentry->d_inode, file,
                         DRM_IOCTL_RADEON_GETPARAM, (unsigned long)request);
 }
 
                          &request->region_offset))
                return -EFAULT;
 
-       return drm_ioctl(file->f_dentry->d_inode, file,
+       return drm_ioctl(file->f_path.dentry->d_inode, file,
                         DRM_IOCTL_RADEON_ALLOC, (unsigned long)request);
 }
 
                          &request->irq_seq))
                return -EFAULT;
 
-       return drm_ioctl(file->f_dentry->d_inode, file,
+       return drm_ioctl(file->f_path.dentry->d_inode, file,
                         DRM_IOCTL_RADEON_IRQ_EMIT, (unsigned long)request);
 }
 
        if (fn != NULL)
                ret = (*fn) (filp, cmd, arg);
        else
-               ret = drm_ioctl(filp->f_dentry->d_inode, filp, cmd, arg);
+               ret = drm_ioctl(filp->f_path.dentry->d_inode, filp, cmd, arg);
        unlock_kernel();
 
        return ret;