-#if 0
-null_rename (ap)
- struct vop_rename_args *ap;
-{
- USES_VOP_RENAME;
- struct vnode *fvp, *tvp;
- struct vnode *tdvp;
-#if 0
- struct vnode *fsvp, *tsvp;
-#endif
- int error;
-
-#ifdef NULLFS_DIAGNOSTIC
- printf("null_rename(fdvp = %x->%x)\n", ap->a_fdvp, NULLTOLOWERVP(ap->a_fdvp));
- /*printf("null_rename(tdvp = %x->%x)\n", tndp->ni_dvp, NULLTOLOWERVP(tndp->ni_dvp));*/
-#endif
-
-#ifdef NULLFS_DIAGNOSTIC
- printf("null_rename - switch source dvp\n");
-#endif
- /*
- * Switch source directory to point to lofsed vnode
- */
- PUSHREF(fdvp, ap->a_fdvp);
- VREF(ap->a_fdvp);
-
-#ifdef NULLFS_DIAGNOSTIC
- printf("null_rename - switch source vp\n");
-#endif
- /*
- * And source object if it is lofsed...
- */
- fvp = ap->a_fvp;
- if (fvp && fvp->v_op == null_vnodeop_p) {
- ap->a_fvp = NULLTOLOWERVP(fvp);
- VREF(ap->a_fvp);
- } else {
- fvp = 0;
- }
-
-#if 0
-#ifdef NULLFS_DIAGNOSTIC
- printf("null_rename - switch source start vp\n");
-#endif
- /*
- * And source startdir object if it is lofsed...
- */
- fsvp = fndp->ni_startdir;
- if (fsvp && fsvp->v_op == null_vnodeop_p) {
- fndp->ni_startdir = NULLTOLOWERVP(fsvp);
- VREF(fndp->ni_startdir);
- } else {
- fsvp = 0;
- }
-#endif
-
-#ifdef NULLFS_DIAGNOSTIC
- printf("null_rename - switch target dvp\n");
-#endif
- /*
- * Switch target directory to point to lofsed vnode
- */
- tdvp = ap->a_tdvp;
- if (tdvp && tdvp->v_op == null_vnodeop_p) {
- ap->a_tdvp = NULLTOLOWERVP(tdvp);
- VREF(ap->a_tdvp);
- } else {
- tdvp = 0;
- }
-
-#ifdef NULLFS_DIAGNOSTIC
- printf("null_rename - switch target vp\n");
-#endif
- /*
- * And target object if it is lofsed...
- */
- tvp = ap->a_tvp;
- if (tvp && tvp->v_op == null_vnodeop_p) {
- ap->a_tvp = NULLTOLOWERVP(tvp);
- VREF(ap->a_tvp);
- } else {
- tvp = 0;
- }
-
-#if 0
-#ifdef NULLFS_DIAGNOSTIC
- printf("null_rename - switch target start vp\n");
-#endif
- /*
- * And target startdir object if it is lofsed...
- */
- tsvp = tndp->ni_startdir;
- if (tsvp && tsvp->v_op == null_vnodeop_p) {
- tndp->ni_startdir = NULLTOLOWERVP(fsvp);
- VREF(tndp->ni_startdir);
- } else {
- tsvp = 0;
- }
-#endif
-
-#ifdef NULLFS_DIAGNOSTIC
- printf("null_rename - VOP_RENAME(%x, %x, %x, %x)\n",
- ap->a_fdvp, ap->a_fvp, ap->a_tdvp, ap->a_tvp);
- vprint("ap->a_fdvp", ap->a_fdvp);
- vprint("ap->a_fvp", ap->a_fvp);
- vprint("ap->a_tdvp", ap->a_tdvp);
- if (ap->a_tvp) vprint("ap->a_tvp", ap->a_tvp);
- DELAY(16000000);
-#endif
-
- error = VOP_RENAME(ap->a_fdvp, ap->a_fvp, ap->a_fcnp, ap->a_tdvp, ap->a_tvp, ap->a_tcnp);
-
- /*
- * Put everything back...
- */
-
-#if 0
-#ifdef NULLFS_DIAGNOSTIC
- printf("null_rename - restore target startdir\n");
-#endif
-
- if (tsvp) {
- if (tndp->ni_startdir)
- vrele(tndp->ni_startdir);
- tndp->ni_startdir = tsvp;
- }
-#endif
-
-#ifdef NULLFS_DIAGNOSTIC
- printf("null_rename - restore target vp\n");
-#endif
-
- if (tvp) {
- ap->a_tvp = tvp;
- vrele(ap->a_tvp);
- }
-
-#ifdef NULLFS_DIAGNOSTIC
- printf("null_rename - restore target dvp\n");
-#endif
-
- if (tdvp) {
- ap->a_tdvp = tdvp;
- vrele(ap->a_tdvp);
- }
-
-#if 0
-#ifdef NULLFS_DIAGNOSTIC
- printf("null_rename - restore source startdir\n");
-#endif
-
- if (fsvp) {
- if (fndp->ni_startdir)
- vrele(fndp->ni_startdir);
- fndp->ni_startdir = fsvp;
- }
-#endif
-
-#ifdef NULLFS_DIAGNOSTIC
- printf("null_rename - restore source vp\n");
-#endif
-
-
- if (fvp) {
- ap->a_fvp = fvp;
- vrele(ap->a_fvp);
- }
-
-#ifdef NULLFS_DIAGNOSTIC
- printf("null_rename - restore source dvp\n");
-#endif
-
- POP(fdvp, ap->a_fdvp);
- vrele(ap->a_fdvp);
-
- return (error);
-}
-#endif
-
-