On Sun, Feb 01, 2015 at 08:38:29PM -0600, Eric Badger wrote:
> On 01/31/2015 09:36 AM, Konstantin Belousov wrote:
> > First, shouldn't the kve_type changed to KVME_TYPE_VNODE as well ?
> My thinking is no, because KVME_TYPE_SWAP is in fact the correct type;
> I'd opine that it is better to be transparent than make it look like
> there is an OBJT_VNODE object there. It may be that some programs would
> be confused by VNODE info returned on a SWAP type mapping, though I know
> that dtrace handles it OK.
kve_vn_* and kve_path fields are defined only for KVME_TYPE_VNODE kve_type.
So this is in fact a bug in whatever used the API to access kve_path
> > Second, note that it is possible that the vnode is recycled, so
> > OBJ_TMPFS flag is cleared for tmpfs swap object. The OBJ_TMPFS_NODE
> > flag is still set then. I am not sure what to do in this case,
> > should the type changed to KVME_TYPE_VNODE still, but kve_vn_*
> > fields left invalid ?
> I think if we changed to KVME_TYPE_VNODE in some cases, it should be
> done in all cases, even if the vnode has been recycled (but leave vp ==
> NULL in that case). Though if it is left as KVME_TYPE_SWAP, then that
> concern goes away on its own.
Concern is not vp == NULL, but the fact that kve_vn* cannot be filled,
there is simply no (easy) way to fetch this information.
email@example.com mailing list
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"