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>