Date: Sat, 04 May 2002 16:37:30 +0100 From: Ian Dowse <iedowse@maths.tcd.ie> To: Robert Watson <rwatson@freebsd.org> Cc: cjclark@alum.mit.edu, arch@freebsd.org Subject: Re: df(1) Broken in jail(8) Message-ID: <200205041637.aa50555@salmon.maths.tcd.ie> In-Reply-To: Your message of "Sat, 04 May 2002 03:58:21 EDT." <Pine.NEB.3.96L.1020504034549.21461h-100000@fledge.watson.org>
next in thread | previous in thread | raw e-mail | index | archive | help
In message <Pine.NEB.3.96L.1020504034549.21461h-100000@fledge.watson.org>, Robe rt Watson writes: >This is a property of the way VFS works with regards to pathnames. In >VFS, pathnames don't really exist, there are just vnodes. :-) >getmntinfo() and relate calls cache a pathname at mount-time, which is >then regurgitated later when requested. That path isn't just wrong in >jail, it's frequently wrong outside of jail. For example, > > mount /dev/ad0s1e /mnt/this/is/one/path > mv /mnt/this/is /mnt/this/was > df A related issue is that unmounting a filesystem may not be possible if the path has changed, if a filesystem on which it is mounted is dead (e.g NFS), or if the filesystem has been severed from the tree by unmounting an underlying filesystem. I was thinking recently about adding a filesystem root vnode reference to struct mount to address some of these cases. For unmount(2) it may be acceptable to require that the specified path matches the mountlist path, so umount() can just look up the mountlist entry instead of calling namei(). Ian To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200205041637.aa50555>