static ssize_t ixj_read(struct file * file_p, char __user *buf, size_t length, loff_t * ppos)
 {
        unsigned long i = *ppos;
-       IXJ * j = get_ixj(NUM(file_p->f_dentry->d_inode));
+       IXJ * j = get_ixj(NUM(file_p->f_path.dentry->d_inode));
 
        DECLARE_WAITQUEUE(wait, current);
 
 {
        int pre_retval;
        ssize_t read_retval = 0;
-       IXJ *j = get_ixj(NUM(file_p->f_dentry->d_inode));
+       IXJ *j = get_ixj(NUM(file_p->f_path.dentry->d_inode));
 
        pre_retval = ixj_PreRead(j, 0L);
        switch (pre_retval) {
        int pre_retval;
        ssize_t write_retval = 0;
 
-       IXJ *j = get_ixj(NUM(file_p->f_dentry->d_inode));
+       IXJ *j = get_ixj(NUM(file_p->f_path.dentry->d_inode));
 
        pre_retval = ixj_PreWrite(j, 0L);
        switch (pre_retval) {
 {
        unsigned int mask = 0;
 
-       IXJ *j = get_ixj(NUM(file_p->f_dentry->d_inode));
+       IXJ *j = get_ixj(NUM(file_p->f_path.dentry->d_inode));
 
        poll_wait(file_p, &(j->poll_q), wait);
        if (j->read_buffer_ready > 0)
 
 static int ixj_fasync(int fd, struct file *file_p, int mode)
 {
-       IXJ *j = get_ixj(NUM(file_p->f_dentry->d_inode));
+       IXJ *j = get_ixj(NUM(file_p->f_path.dentry->d_inode));
 
        return fasync_helper(fd, file_p, mode, &j->async_queue);
 }