I dug into this issue a little bit, it seems there's a bug in function
hyprlofs_vget(), it failed to return vnode_t pointer given fid (struct fid,
i.e. fid_t) of /vmgr/hyprlofs/var.
# dtrace -n 'fbt:hyprlofs:hyprlofs_vget:entry {self->vpp = arg1;}
fbt:hyprlofs:hyprlofs_vget:return /self->vpp/ { printf("%p %s", *((vnode_t
**)self->vpp), *((vnode_t **)self->vpp) ? stringof( (*((vnode_t
**)self->vpp))->v_path ): "" ); self->vpp = 0; } '
dtrace: description 'fbt:hyprlofs:hyprlofs_vget:entry ' matched 2 probes
CPU ID FUNCTION:NAME
5 70518 hyprlofs_vget:return ffffff1f20706880 /vmgr/hyprlofs
6 70518 hyprlofs_vget:return ffffff1f20706880 /vmgr/hyprlofs
5 70518 hyprlofs_vget:return ffffff1f20706880 /vmgr/hyprlofs
6 70518 hyprlofs_vget:return ffffff1f20706880 /vmgr/hyprlofs
5 70518 hyprlofs_vget:return ffffff1f20706880 /vmgr/hyprlofs
6 70518 hyprlofs_vget:return ffffff1f20706880 /vmgr/hyprlofs
5 70518 hyprlofs_vget:return 0
By the way, hyprlofs_vget() is here:
https://github.com/joyent/illumos-joyent/blob/master/usr/src/uts/common/fs/hyprlofs/hyprlofs_vfsops.c#L572
vnode_t pointer is converted to fid by function hyprlofs_fid():
https://github.com/joyent/illumos-joyent/blob/master/usr/src/uts/common/fs/hyprlofs/hyprlofs_vnops.c#L1247
Thanks,
-Youzhong Yang
On Fri, Oct 16, 2015 at 8:54 AM, Youzhong Yang <[email protected]> wrote:
> Hi all,
>
> I tried to create a hyprlofs mount on the server and then share it to
> Linux client, but I got 'Stale NFS file handle' error when browsing the
> mount point on the client.
>
> Here is what I did:
>
> On the server:
> # mkdir hyprlofs
> # mount -F hyprlofs swap /vmgr/hyprlofs
> # share /vmgr/hyprlofs
> # /usr/lib/fs/hyprlofs/hlcfg /vmgr/hyprlofs add /var var
> # ls -l /vmgr/hyprlofs/
> total 3
> drwxr-xr-x 1 root root 41 Oct 16 08:39 var
>
> On the client:
> # mount -t nfs server:/vmgr/hyprlofs /mnt
> # ls -l /mnt
> ls: /mnt/var: Stale NFS file handle
> total 2
> drwxr-xr-x 1 root root 41 Oct 16 08:39 var
>
> Has anyone tried the same thing and then gave up? or is there anything
> that can be done to make it work?
>
> Thanks,
>
> -Youzhong
>
>
-------------------------------------------
smartos-discuss
Archives: https://www.listbox.com/member/archive/184463/=now
RSS Feed: https://www.listbox.com/member/archive/rss/184463/25769125-55cfbc00
Modify Your Subscription:
https://www.listbox.com/member/?member_id=25769125&id_secret=25769125-7688e9fb
Powered by Listbox: http://www.listbox.com