Author: bonefish Date: 2010-07-19 12:48:44 +0200 (Mon, 19 Jul 2010) New Revision: 37581 Changeset: http://dev.haiku-os.org/changeset/37581 Modified: haiku/trunk/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Volume.cpp Log: Volume::Link(): Also unwrap the target vnode. The client FS would get a wrong vnode pointer. Modified: haiku/trunk/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Volume.cpp =================================================================== --- haiku/trunk/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Volume.cpp 2010-07-19 10:41:16 UTC (rev 37580) +++ haiku/trunk/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Volume.cpp 2010-07-19 10:48:44 UTC (rev 37581) @@ -1749,6 +1749,7 @@ Volume::Link(void* _dir, const char* name, void* node) { VNode* vnode = (VNode*)_dir; + VNode* targetVnode = (VNode*)node; // check capability if (!HasVNodeCapability(vnode, FS_VNODE_CAPABILITY_LINK)) @@ -1770,7 +1771,7 @@ request->volume = fUserlandVolume; request->node = vnode->clientNode; error = allocator.AllocateString(request->name, name); - request->target = node; + request->target = targetVnode->clientNode; if (error != B_OK) return error;