Re: git: f5f277728ade - main - nfsd: Fix NFS access to .zfs/snapshot snapshots

From: Mike Karels <mike_at_karels.net>
Date: Fri, 24 Nov 2023 13:18:08 UTC
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=f5f277728adec4c5b3e840a1fb16bd16f8cc956d
>>>
>>> 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 snapshot.
>
> 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.

		Mike

> You might try to set up something with autofs, no idea if it could be made
> to work usefully.