From: Forza <forza@tnonline.net>
To: Btrfs BTRFS <linux-btrfs@vger.kernel.org>
Subject: Re: cannot use btrfs for nfs server
Date: Mon, 19 Jul 2021 15:07:42 +0200 [thread overview]
Message-ID: <e3a24fc4-0aef-6977-248a-e967dad9954d@tnonline.net> (raw)
In-Reply-To: <2b53b9dd-4353-a73e-59b3-c87b6419ebf4@tnonline.net>
On 2021-07-19 14:06, Forza wrote:
>
>
> On 2021-07-13 09:37, Ulli Horlacher wrote:
>> On Mon 2021-07-12 (23:56), g.btrfs@cobb.uk.net wrote:
>>
>>>> root@tsmsrvj:/etc# du -Hs /nfs/localhost/snapshots
>>>> du: WARNING: Circular directory structure.
>>>> This almost certainly means that you have a corrupted file system.
>>>> NOTIFY YOUR SYSTEM MANAGER.
>>>> The following directory is part of the cycle:
>>>> /nfs/localhost/snapshots/spool
>>>
>>> Sure. But it makes the useful operations work. du, find, ls -R, etc all
>>> work properly on /nfs/localhost/fex.
>>
>> Properly on /nfs/localhost/fex : yes
>> Properly on /nfs/localhost/snapshots : NO
>>
>> And the error messages are annoying!
>>
>> root@tsmsrvj:/etc# exportfs -v
>> /data/fex
>> localhost.localdomain(rw,async,wdelay,crossmnt,no_root_squash,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)
>>
>> /data/snapshots
>> localhost.localdomain(rw,async,wdelay,crossmnt,no_root_squash,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)
>>
>>
>> root@tsmsrvj:/etc# mount -o vers=3 localhost:/data/fex /nfs/localhost/fex
>> root@tsmsrvj:/etc# mount -o vers=3 localhost:/data/snapshots
>> /nfs/localhost/snapshots
>> root@tsmsrvj:/etc# mount | grep localhost
>> localhost:/data/fex on /nfs/localhost/fex type nfs
>> (rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=127.0.0.1,mountvers=3,mountport=37961,mountproto=udp,local_lock=none,addr=127.0.0.1)
>>
>> localhost:/data/snapshots on /nfs/localhost/snapshots type nfs
>> (rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=127.0.0.1,mountvers=3,mountport=37961,mountproto=udp,local_lock=none,addr=127.0.0.1)
>>
>>
>
> What kind of NFS server is this? Isn't UDP mounts legacy and not
> normally used by default?
>
> Can you switch to an nfs4 server and try again? I also still think you
> should use fsid export option.
>
>
>
I'm replying to myself here because I booted up a VM with Fedora 34 and
tested a similar setup as Mr Horlacher's and can reproduce the errors.
Setup:
1) create a subvolume /mnt/rootvol/nfs
2) create some snapshots:
btrfs sub snap /mnt/rootvol/nfs /mnt/rootvol/nfs/.snapshots/nfs-1
btrfs sub snap /mnt/rootvol/nfs /mnt/rootvol/nfs/.snapshots/nfs-2
3) export as:
/mnt/rootvol/nfs/ *(fsid=1234,no_root_squash)
4) mount -o vers=4 localhost:/mnt/rootvol/nfs /media/nfs-mnt/
5) "du -sh /media/nfs-mnt" fails with
"WARNING: Circular directory structure."
6) "ls -alR /mnt/nfs-mnt" fails with
"not listing already-listed directory"
In addition I have tried with various export options such as crossmnt,
nohide and subtree_check. They do not improve the situation.
Also the behaviour is the same with nfs3 as with nfs4.
Full outputs are available at https://paste.ee/p/pkHLh
next prev parent reply other threads:[~2021-07-19 13:07 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20210613115313.BC59.409509F4@e16-tech.com>
2021-03-10 7:46 ` nfs subvolume access? Ulli Horlacher
2021-03-10 7:59 ` Hugo Mills
2021-03-10 8:09 ` Ulli Horlacher
2021-03-10 9:35 ` Graham Cobb
2021-03-10 15:55 ` Ulli Horlacher
2021-03-10 17:29 ` Forza
2021-03-10 17:46 ` Ulli Horlacher
2021-03-10 8:17 ` Ulli Horlacher
2021-03-11 7:46 ` Ulli Horlacher
2021-07-08 22:17 ` cannot use btrfs for nfs server Ulli Horlacher
2021-07-09 0:05 ` Graham Cobb
2021-07-09 4:05 ` NeilBrown
2021-07-09 6:53 ` Ulli Horlacher
2021-07-09 7:23 ` Forza
2021-07-09 7:24 ` Hugo Mills
2021-07-09 7:34 ` Ulli Horlacher
2021-07-09 16:30 ` Chris Murphy
2021-07-10 6:35 ` Ulli Horlacher
2021-07-11 11:41 ` Forza
2021-07-12 7:17 ` Ulli Horlacher
2021-07-09 16:35 ` Chris Murphy
2021-07-10 6:56 ` Ulli Horlacher
2021-07-10 22:17 ` Chris Murphy
2021-07-12 7:25 ` Ulli Horlacher
2021-07-12 13:06 ` Graham Cobb
2021-07-12 16:16 ` Ulli Horlacher
2021-07-12 22:56 ` g.btrfs
2021-07-13 7:37 ` Ulli Horlacher
2021-07-19 12:06 ` Forza
2021-07-19 13:07 ` Forza [this message]
2021-07-19 13:35 ` Forza
2021-07-27 11:27 ` Ulli Horlacher
2021-07-09 16:06 ` Lord Vader
2021-07-10 7:03 ` Ulli Horlacher
[not found] ` <162632387205.13764.6196748476850020429@noble.neil.brown.name>
2021-07-15 14:09 ` [PATCH/RFC] NFSD: handle BTRFS subvolumes better Josef Bacik
2021-07-15 16:45 ` Christoph Hellwig
2021-07-15 17:11 ` Josef Bacik
2021-07-15 17:24 ` Christoph Hellwig
2021-07-15 18:01 ` Josef Bacik
2021-07-15 22:37 ` NeilBrown
2021-07-19 15:40 ` Josef Bacik
2021-07-19 20:00 ` J. Bruce Fields
2021-07-19 20:44 ` Josef Bacik
2021-07-19 23:53 ` NeilBrown
2021-07-19 15:49 ` J. Bruce Fields
2021-07-20 0:02 ` NeilBrown
2021-07-19 9:16 ` Christoph Hellwig
2021-07-19 23:54 ` NeilBrown
2021-07-20 6:23 ` Christoph Hellwig
2021-07-20 7:17 ` NeilBrown
2021-07-20 8:00 ` Christoph Hellwig
2021-07-20 23:11 ` NeilBrown
2021-07-20 22:10 ` J. Bruce Fields
2021-07-15 23:02 ` NeilBrown
2021-07-15 15:45 ` J. Bruce Fields
2021-07-15 23:08 ` NeilBrown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=e3a24fc4-0aef-6977-248a-e967dad9954d@tnonline.net \
--to=forza@tnonline.net \
--cc=linux-btrfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox