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>
index | next in thread | raw e-mail
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
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200811221311.mAMDBHHF028927>
