Skip site navigation (1)Skip section navigation (2)
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>