version 1.8, 1994/12/27 19:55:24 |
version 1.9, 1995/01/03 01:23:50 |
|
|
error = EINVAL; |
error = EINVAL; |
goto abortit; |
goto abortit; |
} |
} |
VOP_ABORTOP(fdvp, fcnp); |
|
vrele(fdvp); |
/* Release destination completely. */ |
vrele(fvp); |
VOP_ABORTOP(tdvp, tcnp); |
vput(tdvp); |
vput(tdvp); |
vput(tvp); |
vput(tvp); |
tcnp->cn_flags &= ~MODMASK; |
|
tcnp->cn_flags |= LOCKPARENT | LOCKLEAF; |
/* Delete source. */ |
if ((tcnp->cn_flags & SAVESTART) == 0) |
vrele(fdvp); |
|
vrele(fvp); |
|
fcnp->cn_flags &= ~MODMASK; |
|
fcnp->cn_flags |= LOCKPARENT | LOCKLEAF; |
|
if ((fcnp->cn_flags & SAVESTART) == 0) |
panic("ufs_rename: lost from startdir"); |
panic("ufs_rename: lost from startdir"); |
tcnp->cn_nameiop = DELETE; |
fcnp->cn_nameiop = DELETE; |
(void) relookup(tdvp, &tvp, tcnp); |
(void) relookup(fdvp, &fvp, fcnp); |
return (VOP_REMOVE(tdvp, tvp, tcnp)); |
return (VOP_REMOVE(fdvp, fvp, fcnp)); |
} |
} |
if (error = VOP_LOCK(fvp)) |
if (error = VOP_LOCK(fvp)) |
goto abortit; |
goto abortit; |