Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Sep 2006 13:23:08 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/fs/devfs devfs.h devfs_devs.c devfs_vfsops.c devfs_vnops.c
Message-ID:  <200609181323.k8IDN8je097670@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
kib         2006-09-18 13:23:08 UTC

  FreeBSD src repository

  Modified files:
    sys/fs/devfs         devfs.h devfs_devs.c devfs_vfsops.c 
                         devfs_vnops.c 
  Log:
  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
  
  Revision  Changes    Path
  1.30      +11 -0     src/sys/fs/devfs/devfs.h
  1.47      +12 -1     src/sys/fs/devfs/devfs_devs.c
  1.51      +20 -4     src/sys/fs/devfs/devfs_vfsops.c
  1.134     +70 -11    src/sys/fs/devfs/devfs_vnops.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200609181323.k8IDN8je097670>