Re: Regression with revision 303970 (was kern.proc.pathname failure while booting from zfs)

From: Konstantin Belousov <kostikbel_at_gmail.com>
Date: Sun, 4 Sep 2016 17:51:03 +0300
On Sun, Sep 04, 2016 at 04:11:39PM +0300, Andriy Gapon wrote:
> On 04/09/2016 11:24, Andriy Gapon wrote:
> > On 27/08/2016 22:09, Frederic Chardon wrote:
> >>> Anybody is able to reproduce this behavior or is it a local problem?
> >> Reverting 303970 solves this issue. gcore and adb works again, and I
> >> can start the vboxnet service.
> >> I recreated my boot pool with no properties defined, just to be sure.
> > 
> > I can not reproduce this issue here.
> 
> I was not trying hard enough.  I've just reproduced the problem using a
> non-default normalization property.  The issue is that 303970 disabled the use
> of VFS name cache when any name "mangling" (normalization, case-insensitivity)
> is enabled.  And apparently I misunderstood how vop_stdvptocnp() works.  So,
> right now zfs_vptocnp() is broken when its argument is a non-directory vnode.
> That fact is masked when the name cache is used and is exposed otherwise.
It is only masked when name cache has an entry for the vnode.  So sometimes
vn_fullpath() should be broken even if no normalization is applied.

OTOH, classic filesystems like UFS do not have any other means to translate
non-directory inode to name and parent at all, except the namecache hint.
Received on Sun Sep 04 2016 - 12:51:09 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:07 UTC