Ticket #5262: vfs.patch

File vfs.patch, 889 bytes (added by haxworx, 12 years ago)

DUPLICATE, Attempt Fix 5753.

  • vfs.cpp

    old new  
    36213621
    36223622    // file system integrity check:
    36233623    // test if the vnode already exists and bail out if this is the case!
    3624     if (!nodeCreated) {
     3624   
     3625    if (nodeCreated) {
     3626        vnode->private_node = privateNode;
     3627        vnode->ops = ops;
     3628        vnode->SetUnpublished(true);
     3629    } else if (vnode->IsBusy() && vnode->IsUnpublished()
     3630        && vnode->private_node == privateNode && vnode->ops == ops) {
     3631        // already known, but not published
     3632    } else
     3633        return B_BAD_VALUE;
     3634
     3635   
     3636    /* if (!nodeCreated) {
     3637        Note: accessing vnode here would SEGFAULT from create_new_vnode_and_lock()
    36253638        panic("vnode %ld:%Ld already exists (node = %p, vnode->node = %p)!",
    36263639            volume->id, vnodeID, privateNode, vnode->private_node);
    36273640        return B_ERROR;
    3628     }
     3641    } */
    36293642
    36303643    vnode->private_node = privateNode;
    36313644    vnode->ops = ops;