Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 22 Nov 2008 13:11:11 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/ufs/ufs ufs_lookup.c
Message-ID:  <200811221311.mAMDBHHF028927@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
kib         2008-11-22 13:11:11 UTC

  FreeBSD src repository

  Modified files:
    sys/ufs/ufs          ufs_lookup.c 
  Log:
  SVN rev 185170 on 2008-11-22 13:11:11Z by kib
  
  Busy ufs filesystem around block of code that does ".." lookup. Since
  mnt_lock is before lock of any vnode on the mp, it uses LK_NOWAIT. Since
  MNTK_UNMOUNT may be transient, pdp lock is dropped when vfs_busy()
  failed, and operation is retried after some time. This way, ffs_vget()
  is not called on the mp that may be in the process of being destroyed by
  unmount.
  
  Check for the VI_DOOMED flag on pdp after its lock is reacquired, to
  better detect some situations where directory containing ".."
  entry is removed during the lookup.
  
  Reviewed by:    tegge, attilio (previous version)
  Tested by:      pho
  MFC after:      1 month
  
  Revision  Changes    Path
  1.93      +26 -1     src/sys/ufs/ufs/ufs_lookup.c



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