diff options
author | phk <phk@FreeBSD.org> | 2005-09-15 08:36:37 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2005-09-15 08:36:37 +0000 |
commit | 1a7de63bbb6ec885b914b9b3d077642dd4350220 (patch) | |
tree | 4ba8568596d276b1a3189e49af8cdb1f3f6765d3 /sys/fs/devfs/devfs_vnops.c | |
parent | 4583eb76103532bc386b6c8047ed52500bd62473 (diff) | |
download | FreeBSD-src-1a7de63bbb6ec885b914b9b3d077642dd4350220.zip FreeBSD-src-1a7de63bbb6ec885b914b9b3d077642dd4350220.tar.gz |
Absolve devfs_rule.c from locking responsibility and call it with
all necessary locking held.
Diffstat (limited to 'sys/fs/devfs/devfs_vnops.c')
-rw-r--r-- | sys/fs/devfs/devfs_vnops.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/fs/devfs/devfs_vnops.c b/sys/fs/devfs/devfs_vnops.c index 196e577..30c2c21 100644 --- a/sys/fs/devfs/devfs_vnops.c +++ b/sys/fs/devfs/devfs_vnops.c @@ -979,11 +979,11 @@ devfs_rioctl(struct vop_ioctl_args *ap) struct devfs_mount *dmp; dmp = VFSTODEVFS(ap->a_vp->v_mount); - lockmgr(&dmp->dm_lock, LK_SHARED, 0, curthread); + lockmgr(&dmp->dm_lock, LK_EXCLUSIVE, 0, curthread); devfs_populate(dmp); - lockmgr(&dmp->dm_lock, LK_RELEASE, 0, curthread); - error = devfs_rules_ioctl(ap->a_vp->v_mount, ap->a_command, ap->a_data, + error = devfs_rules_ioctl(dmp, ap->a_command, ap->a_data, ap->a_td); + lockmgr(&dmp->dm_lock, LK_RELEASE, 0, curthread); return (error); } |