summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjeff <jeff@FreeBSD.org>2006-03-19 20:14:46 +0000
committerjeff <jeff@FreeBSD.org>2006-03-19 20:14:46 +0000
commit1a9351b430b5dff12778dbdd564057d6120e6e15 (patch)
tree3231d884410aeec1b7b2311329c4f93a34656e52
parent9e7d2c38b6d9382f8c40752138c2aab2add24279 (diff)
downloadFreeBSD-src-1a9351b430b5dff12778dbdd564057d6120e6e15.zip
FreeBSD-src-1a9351b430b5dff12778dbdd564057d6120e6e15.tar.gz
- Correct an assert in vop_rename_pre. fdvp may be locked if it is either
the target directory or file. This case should fail in the filesystem anyway and perhaps kern_rename() should catch it. Sponsored by: Isilon Systems, Inc.
-rw-r--r--sys/kern/vfs_subr.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c
index c286f0b..4af051d 100644
--- a/sys/kern/vfs_subr.c
+++ b/sys/kern/vfs_subr.c
@@ -3391,7 +3391,7 @@ vop_rename_pre(void *ap)
ASSERT_VI_UNLOCKED(a->a_fdvp, "VOP_RENAME");
/* Check the source (from). */
- if (a->a_tdvp != a->a_fdvp)
+ if (a->a_tdvp != a->a_fdvp && a->a_tvp != a->a_fdvp)
ASSERT_VOP_UNLOCKED(a->a_fdvp, "vop_rename: fdvp locked");
if (a->a_tvp != a->a_fvp)
ASSERT_VOP_UNLOCKED(a->a_fvp, "vop_rename: tvp locked");
OpenPOWER on IntegriCloud