--- src/daemon.c +++ src/daemon.c @@ -2783,7 +2783,7 @@ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20) // Version of 2.6.20 changed the number of // parameters passed to vfs_unlink. - error = vfs_unlink(nd.dentry->d_inode, dentry, nd.mnt); + error = vfs_unlink(nd.path.dentry->d_inode, dentry, nd.path.mnt); #else error = vfs_unlink(nd.dentry->d_inode, dentry); #endif @@ -2791,10 +2791,10 @@ } dput(dentry); } - mutex_unlock(&nd.dentry->d_inode->i_mutex); + mutex_unlock(&nd.path.dentry->d_inode->i_mutex); } - path_release(&nd); + path_put(&nd.path); } if (inode) --- src/inode.c +++ src/inode.c @@ -376,7 +376,6 @@ }; static struct super_operations Novfs_ops = { - .read_inode = Novfs_read_inode, .statfs = Novfs_statfs, .clear_inode = Novfs_clear_inode, .drop_inode = generic_delete_inode, @@ -4596,7 +4595,10 @@ buf = (char *)Novfs_Malloc(PATH_LENGTH_BUFFER, GFP_KERNEL); if (buf) { - path = d_path(m->mnt_root, m, buf, PATH_LENGTH_BUFFER); + struct path my_path; + my_path.mnt = m; + my_path.dentry= m->mnt_root; + path = d_path(&my_path, buf, PATH_LENGTH_BUFFER); if (path) { if ( !Novfs_CurrentMount || (Novfs_CurrentMount && strcmp(Novfs_CurrentMount, path)))