static ssize_t bpp_read(struct file *f, char __user *c, size_t cnt, loff_t * ppos)
 {
       long rc;
-      unsigned minor = iminor(f->f_dentry->d_inode);
+      unsigned minor = iminor(f->f_path.dentry->d_inode);
       if (minor >= BPP_NO) return -ENODEV;
       if (!instances[minor].present) return -ENODEV;
 
 static ssize_t bpp_write(struct file *f, const char __user *c, size_t cnt, loff_t * ppos)
 {
       long errno = 0;
-      unsigned minor = iminor(f->f_dentry->d_inode);
+      unsigned minor = iminor(f->f_path.dentry->d_inode);
       if (minor >= BPP_NO) return -ENODEV;
       if (!instances[minor].present) return -ENODEV;
 
 
        case WIOCSTOP:
        case WIOCGSTAT:
                lock_kernel();
-               rval = wd_ioctl(file->f_dentry->d_inode, file, cmd, arg);
+               rval = wd_ioctl(file->f_path.dentry->d_inode, file, cmd, arg);
                unlock_kernel();
                break;
        /* everything else is handled by the generic compat layer */
 
        __u8 ireg = 0;
        int error = 0;
 
-       if (D7S_MINOR != iminor(file->f_dentry->d_inode))
+       if (D7S_MINOR != iminor(file->f_path.dentry->d_inode))
                return -ENODEV;
 
        lock_kernel();
 
        case OPROMSETCUR:
        case OPROMPCI2NODE:
        case OPROMPATH2NODE:
-               rval = openprom_ioctl(file->f_dentry->d_inode, file, cmd, arg);
+               rval = openprom_ioctl(file->f_path.dentry->d_inode, file, cmd, arg);
                break;
        }
 
 
        unsigned int map_size, ret, map_offset;
        struct vfc_dev *dev;
        
-       dev = vfc_get_dev_ptr(iminor(file->f_dentry->d_inode));
+       dev = vfc_get_dev_ptr(iminor(file->f_path.dentry->d_inode));
        if(dev == NULL)
                return -ENODEV;