]> CyberLeo.Net >> Repos - FreeBSD/stable/9.git/commit
MFC of 248561:
authormckusick <mckusick@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Thu, 18 Apr 2013 00:53:47 +0000 (00:53 +0000)
committermckusick <mckusick@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Thu, 18 Apr 2013 00:53:47 +0000 (00:53 +0000)
commit87b6da808370e34a714e682d7a8bc51eedd2c6e7
treebf15a995d171785538cee6694a77cb2327c1e680
parent4e753902a77b80c96b7ba780dc1503e118dce77b
MFC of 248561:

When renaming a directory from one parent directory to another,
we need to call ufs_checkpath() to walk from our new location to
the root of the filesystem to ensure that we do not encounter
ourselves along the way. Until now, we accomplished this by reading
the ".." entries of each directory in our path until we reached
the root (or encountered an error). This change tries to avoid the
I/O of reading the ".." entries by first looking them up in the
name cache and only doing the I/O when the name cache lookup fails.

Reviewed by: kib
Tested by:   Peter Holm

git-svn-id: svn://svn.freebsd.org/base/stable/9@249599 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/kern/vfs_cache.c
sys/sys/vnode.h
sys/ufs/ufs/ufs_lookup.c