From: Josef Bacik <josef@toxicpanda.com>
To: Christoph Hellwig <hch@infradead.org>
Cc: NeilBrown <neilb@suse.de>,
"J. Bruce Fields" <bfields@fieldses.org>,
Chuck Lever <chuck.lever@oracle.com>, Chris Mason <clm@fb.com>,
David Sterba <dsterba@suse.com>,
linux-nfs@vger.kernel.org, Wang Yugui <wangyugui@e16-tech.com>,
Ulli Horlacher <framstag@rus.uni-stuttgart.de>,
linux-btrfs@vger.kernel.org
Subject: Re: [PATCH/RFC] NFSD: handle BTRFS subvolumes better.
Date: Thu, 15 Jul 2021 13:11:29 -0400 [thread overview]
Message-ID: <28bb883d-8d14-f11a-b37f-d8e71118f87f@toxicpanda.com> (raw)
In-Reply-To: <YPBmGknHpFb06fnD@infradead.org>
On 7/15/21 12:45 PM, Christoph Hellwig wrote:
> On Thu, Jul 15, 2021 at 10:09:37AM -0400, Josef Bacik wrote:
>> I'm going to restate what I think the problem is you're having just so I'm
>> sure we're on the same page.
>>
>> 1. We export a btrfs volume via nfsd that has multiple subvolumes.
>> 2. We run find, and when we stat a file, nfsd doesn't send along our bogus
>> st_dev, it sends it's own thing (I assume?). This confuses du/find because
>> you get the same inode number with different parents.
>>
>> Is this correct? If that's the case then it' be relatively straightforward
>> to add another callback into export_operations to grab this fsid right?
>> Hell we could simply return the objectid of the root since that's unique
>> across the entire file system. We already do our magic FH encoding to make
>> sure we keep all this straight for NFS, another callback to give that info
>> isn't going to kill us. Thanks,
>
> Hell no. btrfs is broken plain and simple, and we've been arguing about
> this for years without progress. btrfs needs to stop claiming different
> st_dev inside the same mount, otherwise hell is going to break lose left
> right and center, and this is just one of the many cases where it does.
>
Because there's no alternative. We need a way to tell userspace they've
wandered into a different inode namespace. There's no argument that what we're
doing is ugly, but there's never been a clear "do X instead". Just a lot of
whinging that btrfs is broken. This makes userspace happy and is simple and
straightforward. I'm open to alternatives, but there have been 0 workable
alternatives proposed in the last decade of complaining about it. Thanks,
Josef
next prev parent reply other threads:[~2021-07-15 17:11 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
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 [this message]
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=28bb883d-8d14-f11a-b37f-d8e71118f87f@toxicpanda.com \
--to=josef@toxicpanda.com \
--cc=bfields@fieldses.org \
--cc=chuck.lever@oracle.com \
--cc=clm@fb.com \
--cc=dsterba@suse.com \
--cc=framstag@rus.uni-stuttgart.de \
--cc=hch@infradead.org \
--cc=linux-btrfs@vger.kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=neilb@suse.de \
--cc=wangyugui@e16-tech.com \
/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;
as well as URLs for NNTP newsgroup(s).