When new device node is created or destroyed, kernel sends notify to devctl in this form: !system=DEVFS subsystem=CDEV type=DESTROY cdev=<DEVICE NAME> where <DEVICE NAME> is being substituted with the name of device. If device name contains whitespaces, devd scraps out everything but the part before the first space in cdev parameter, so we can not correctly handle device name in devd. Fix: See attached patch. It wraps <DEVICE NAME> in double quotes so that devd ignores spaces in it. Patch attached with submission follows: How-To-Repeat: I found out the problem when I was looking into what happens in devd when I insert my USB flash drive. System eventually creates "msdosfs/ADATA UFD" device, but devd handles it as "msdosfs/ADATA" device.
State Changed From-To: open->patched Patched in head. http://svnweb.freebsd.org/changeset/base/244584 http://svnweb.freebsd.org/changeset/base/244585
Responsible Changed From-To: freebsd-bugs->jh Take.
Fixed in all supported releases.