From 8f0d99d7907aab7e2502b08623a9180fac59edad Mon Sep 17 00:00:00 2001 From: Robert Watson Date: Tue, 3 Jan 2006 09:49:10 +0000 Subject: [PATCH] When returning EIO from DEVFSIO_RADD ioctl, drop the exclusive rule lock. Otherwise the system comes to a rather sudden and grinding halt. MFC after: 1 week --- sys/fs/devfs/devfs_rule.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/fs/devfs/devfs_rule.c b/sys/fs/devfs/devfs_rule.c index 840f9f970e7..bfd23b7ec22 100644 --- a/sys/fs/devfs/devfs_rule.c +++ b/sys/fs/devfs/devfs_rule.c @@ -186,8 +186,10 @@ devfs_rules_ioctl(struct devfs_mount *dm, u_long cmd, caddr_t data, struct threa error = EEXIST; break; } - if (rid2rsn(dr->dr_id) == 0) - return (EIO); + if (rid2rsn(dr->dr_id) == 0) { + error = EIO; + break; + } error = devfs_rule_insert(dr); break; case DEVFSIO_RAPPLY: