Page MenuHomeFreeBSD

D34109.id.diff
No OneTemporary

D34109.id.diff

diff --git a/sys/fs/unionfs/union_vnops.c b/sys/fs/unionfs/union_vnops.c
--- a/sys/fs/unionfs/union_vnops.c
+++ b/sys/fs/unionfs/union_vnops.c
@@ -76,8 +76,8 @@
#endif
#define KASSERT_UNIONFS_VNODE(vp) \
- KASSERT(((vp)->v_op == &unionfs_vnodeops), \
- ("unionfs: it is not unionfs-vnode"))
+ VNASSERT(((vp)->v_op == &unionfs_vnodeops), vp, \
+ ("%s: non-unionfs vnode", __func__))
static int
unionfs_lookup(struct vop_cachedlookup_args *ap)
@@ -1918,8 +1918,6 @@
int interlock;
int uhold;
- KASSERT_UNIONFS_VNODE(ap->a_vp);
-
/*
* TODO: rework the unionfs locking scheme.
* It's not guaranteed to be safe to blindly lock two vnodes on
@@ -1945,6 +1943,9 @@
unp = VTOUNIONFS(vp);
if (unp == NULL)
goto unionfs_lock_null_vnode;
+
+ KASSERT_UNIONFS_VNODE(ap->a_vp);
+
lvp = unp->un_lowervp;
uvp = unp->un_uppervp;

File Metadata

Mime Type
text/plain
Expires
Tue, Jun 9, 3:17 AM (28 m, 12 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33824026
Default Alt Text
D34109.id.diff (858 B)

Event Timeline