Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 Nov 2023 08:16:54 -0800
From:      Rick Macklem <rick.macklem@gmail.com>
To:        Mike Karels <mike@karels.net>
Cc:        Konstantin Belousov <kostikbel@gmail.com>, Alexander Leidinger <Alexander@leidinger.net>,  Rick Macklem <rmacklem@freebsd.org>, src-committers@freebsd.org,  dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org
Subject:   Re: git: f5f277728ade - main - nfsd: Fix NFS access to .zfs/snapshot snapshots
Message-ID:  <CAM5tNy47MLeWdPEhV9LgVH84KB7Gmwpqmzxb62OET52Pn7pWJA@mail.gmail.com>
In-Reply-To: <CAM5tNy5zLnDwxWuJ_u87k-c6WPwwp=MNjvDVto0=A9mwpyWc=g@mail.gmail.com>
References:  <202311231525.3ANFPBo6039293@gitrepo.freebsd.org> <987d4593d50b9cbffb9b6443d3825499@Leidinger.net> <ZWCe8k_lxWSpDA1L@kib.kiev.ua> <F4EB20B7-5AB8-4448-84BB-462BC7C37398@karels.net> <CAM5tNy5zLnDwxWuJ_u87k-c6WPwwp=MNjvDVto0=A9mwpyWc=g@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Nov 24, 2023 at 7:58=E2=80=AFAM Rick Macklem <rick.macklem@gmail.co=
m> wrote:
>
> On Fri, Nov 24, 2023 at 5:18=E2=80=AFAM Mike Karels <mike@karels.net> wro=
te:
> >
> > CAUTION: This email originated from outside of the University of Guelph=
. Do not click links or open attachments unless you recognize the sender an=
d know the content is safe. If in doubt, forward suspicious emails to IThel=
p@uoguelph.ca.
> >
> >
> > On 24 Nov 2023, at 7:02, Konstantin Belousov wrote:
> >
> > > On Fri, Nov 24, 2023 at 08:50:22AM +0100, Alexander Leidinger wrote:
> > >> Am 2023-11-23 16:25, schrieb Rick Macklem:
> > >>> The branch main has been updated by rmacklem:
> > >>>
> > >>> URL: https://cgit.FreeBSD.org/src/commit/?id=3Df5f277728adec4c5b3e8=
40a1fb16bd16f8cc956d
> > >>>
> > >>> commit f5f277728adec4c5b3e840a1fb16bd16f8cc956d
> > >>> Author:     Rick Macklem <rmacklem@FreeBSD.org>
> > >>> AuthorDate: 2023-11-23 15:23:33 +0000
> > >>> Commit:     Rick Macklem <rmacklem@FreeBSD.org>
> > >>> CommitDate: 2023-11-23 15:23:33 +0000
> > >>>
> > >>>     nfsd: Fix NFS access to .zfs/snapshot snapshots
> > >>>
> > >>>     When a process attempts to access a snapshot under
> > >>>     /<dataset>/.zfs/snapshot, the snapshot is automounted.
> > >>>     However, without this patch, the automount does not
> > >>>     set mnt_exjail, which results in the snapshot not being
> > >>>     accessible over NFS.
> > >>>
> > >>>     This patch defines a new function called vfs_exjail_clone()
> > >>>     which sets mnt_exjail from another mount point and
> > >>>     then uses that function to set mnt_exjail in the snapshot
> > >>>     automount.  A separate patch that is currently a pull request
> > >>>     for OpenZFS, calls this function to fix the problem.
> > >>
> > >> May the same/similar fix like for ZFS be needed / useful for nullfs =
mounted
> > >> stuff?
> > >>
> > >> I have a ZFS dataset which is mounted via nullfs into a jail. This
> > >> nullfs-mount is then exported via samba. In samba I have the shadow-=
copy
> > >> stuff enabled, but it doesn't work, as the jails can't access the sn=
apshot.
> > >
> > > Jails cannot access snapshots because, as I understand, snapshots
> > > are mounts. Nullfs does not provide an option to recursively bypass
> > > into mounts. The patch you responded to does not automatically mounts
> > > snapshots on clients, it only allows them to mount if wanted.
> >
> > It works for me, with main and this change, or 13.2 without a patch.
> > I don't know the mechanics, but it doesn't use nullfs, and the snapshot
> > does not show up as a separate filesystem with the mount command.
> Yes. ZFS essentially does an automount of the snapshots under .zfs/snapsh=
ot.
> (As I understand it, there are non-default ZFS options that allow these t=
o be
>  mounted manually instead.)
> I can now see that these automounts are 'real mounts" in the
> mountlist. The only reason
> they are not visible is that they have MNT_IGNORE set on them.
Oh and I forgot to mention that this automount is for some weird in
memory file system that does just enough so you can see the snapshots.
Once you "cd <some-snapshot>", the vnodes are associated with the ZFS
mount (dataset) and not this weird snapshot fs. (That is why it doesn't nee=
d to
be exported, but did need mnt_exjail to be set properly.)

I might be able to test a nullfs over ZFS case later to-day and will
post if I do so.

rick

>
> Now, as for what happens when nullfs is on top of ZFS, I do not know.
> What Kostik says about nullfs recursing into mounts suggests it will not =
work.
> I will look at it, but since I am headed to Florida for a few weeks, it m=
ay
> not happen until the end of the year.
>
> If someone can test this case and determine if there is no NFS client acc=
ess
> for snapshots under .zfs after applying the patch that is an
> attachment in PR#275200
> when nullfs is over the ZFS file system, that would be appreciated.
>
> rick
>
> >
> >                 Mike
> >
> > > You might try to set up something with autofs, no idea if it could be=
 made
> > > to work usefully.
> >



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAM5tNy47MLeWdPEhV9LgVH84KB7Gmwpqmzxb62OET52Pn7pWJA>