---- From: Ulli Horlacher <frams...@rus.uni-stuttgart.de> -- Sent: 2021-03-10 -
> On Wed 2021-03-10 (09:35), Graham Cobb wrote:
>> >>> root@tsmsrvj:~# find /data/fex | wc -l
>> >>> 489887
>> >> I can't remember if this is why, but I've had to put a distinct
>> >> fsid field in each separate subvolume being exported:
>> >> /srv/nfs/home -rw,async,fsid=0x1730,no_subtree_check,no_root_squash
>> > I must export EACH subvolume?!
>> I have had similar problems. I *think* the current case is that modern
>> NFS, using NFS V4, can cope with the whole disk being accessible without
>> giving each subvolume its own FSID (which I have stopped doing).
> I cannot use NFS4 (for several reasons). I must use NFS3
>> > The snapshots are generated automatically (via cron)!
>> > I cannot add them to /etc/exports
>> Well, you could write some scripts... but I don't think it is necessary.
>> I *think* it is only necessary if you want `find` to be able to cross
>> between subvolumes on the NFS mounted disks.
> It is not only a find problem:
> root@fex:/nfs/tsmsrvj/fex# ls -R
> ls: ./spool: not listing already-listed directory
> And as I wrote: there is no such problem with Ubuntu 18.04!
> So, is it a btrfs or a nfs bug?
Did you try the fsid on the export? (not separate exports for all subvols)
Without it the NFS server tries to enumerate it from the filesystem itself,
which can cause weird issues. It is good practice to always use fsid on all
exports in any case.
At least with NFS4 server on my Ubuntu NFS servers at work, there are no issues
with subvols for clients the mount with vers=3
You may want to enable debug logging on your server.