summaryrefslogtreecommitdiffstats
path: root/sys/fs/devfs
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2005-02-17 10:49:51 +0000
committerphk <phk@FreeBSD.org>2005-02-17 10:49:51 +0000
commitaf1fa2025c1adbd3aa43852fd421e5de95e7e48a (patch)
treec6ca1c2d787f19fc07fe230b8960fbd1ed235cbb /sys/fs/devfs
parentb6768ad7ab5e57fa2022ae70c6a59bf4b89bdfb8 (diff)
downloadFreeBSD-src-af1fa2025c1adbd3aa43852fd421e5de95e7e48a.zip
FreeBSD-src-af1fa2025c1adbd3aa43852fd421e5de95e7e48a.tar.gz
Introduce vx_wait{l}() and use it instead of home-rolled versions.
Diffstat (limited to 'sys/fs/devfs')
-rw-r--r--sys/fs/devfs/devfs_vnops.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/sys/fs/devfs/devfs_vnops.c b/sys/fs/devfs/devfs_vnops.c
index 96fc730..dc20a60 100644
--- a/sys/fs/devfs/devfs_vnops.c
+++ b/sys/fs/devfs/devfs_vnops.c
@@ -1109,17 +1109,13 @@ devfs_revoke(ap)
de = vp->v_data;
de->de_vnode = NULL;
- VI_LOCK(vp);
/*
* If a vgone (or vclean) is already in progress,
* wait until it is done and return.
*/
- if (vp->v_iflag & VI_XLOCK) {
- vp->v_iflag |= VI_XWANT;
- msleep(vp, VI_MTX(vp), PINOD | PDROP, "vop_revokeall", 0);
+ if (vx_wait(vp))
return (0);
- }
- VI_UNLOCK(vp);
+
dev = vp->v_rdev;
for (;;) {
dev_lock();
OpenPOWER on IntegriCloud