freebsd-nq/sys/fs/devfs
Konstantin Belousov e7f9b74438 Resolve the devfs deadlock caused by LOR between devfs_mount->dm_lock and
vnode lock in devfs_allocv. Do this by temporary dropping dm_lock around
vnode locking.

For safe operation, add hold counters for both devfs_mount and devfs_dirent,
and DE_DOOMED flag for devfs_dirent. The facilities allow to continue after
dropping of the dm_lock, by making sure that referenced memory does not
disappear.

Reviewed by:	tegge
Tested by:	kris
Approved by:	kan (mentor)
PR:		kern/102335
2006-09-18 13:23:08 +00:00
..
devfs_devs.c Resolve the devfs deadlock caused by LOR between devfs_mount->dm_lock and 2006-09-18 13:23:08 +00:00
devfs_int.h Rewamp DEVFS internals pretty severely [1]. 2005-09-19 19:56:48 +00:00
devfs_rule.c Remove the NDEVFSINO and NDEVFSOVERFLOW options which no longer exists in 2006-07-17 09:07:02 +00:00
devfs_vfsops.c Resolve the devfs deadlock caused by LOR between devfs_mount->dm_lock and 2006-09-18 13:23:08 +00:00
devfs_vnops.c Resolve the devfs deadlock caused by LOR between devfs_mount->dm_lock and 2006-09-18 13:23:08 +00:00
devfs.h Resolve the devfs deadlock caused by LOR between devfs_mount->dm_lock and 2006-09-18 13:23:08 +00:00