--- novfs-2.0.0/src/vfs.h.orig 2007-02-18 13:09:59.000000000 +0100 +++ novfs-2.0.0/src/vfs.h 2007-02-18 13:07:14.000000000 +0100 @@ -70,7 +70,7 @@ #define IOC_SESSION 0x4a540003 #define IOC_DEBUGPRINT 0x4a540004 -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,15) +#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15) #define D_CHILD d_u.d_child #define AS_TREE_LOCK(l) read_lock_irq(l) #define AS_TREE_UNLOCK(l) read_unlock_irq(l) --- novfs-2.0.0/src/daemon.c.orig 2007-02-18 13:06:44.000000000 +0100 +++ novfs-2.0.0/src/daemon.c 2007-02-18 13:12:00.000000000 +0100 @@ -2769,7 +2769,7 @@ error = -EISDIR; if (nd.last_type == LAST_NORM) { - mutex_lock(&nd.dentry->d_inode->i_mutex); + down(&nd.dentry->d_inode->i_sem); dentry = lookup_create( &nd, 1); DbgPrint("local_unlink: lookup_hash 0x%p\n", dentry); @@ -2792,7 +2792,7 @@ } dput(dentry); } - mutex_unlock(&nd.dentry->d_inode->i_mutex); + up(&nd.dentry->d_inode->i_sem); } path_release(&nd);