From: Wang Yugui <wangyugui@e16-tech.com>
To: "NeilBrown" <neilb@suse.de>
Cc: linux-nfs@vger.kernel.org
Subject: Re: any idea about auto export multiple btrfs snapshots?
Date: Thu, 17 Jun 2021 10:15:51 +0800 [thread overview]
Message-ID: <20210617101551.BE66.409509F4@e16-tech.com> (raw)
In-Reply-To: <162371103543.23575.13662722966178222587@noble.neil.brown.name>
Hi,
nfs need to treat btrfs subvols as different filesystems, so nfs need
crossmnt feature to support multiple btrfs subvol auto export?
It is yet not clear what prevent nfs/crossmnt from work well.
1, stat() and the result 'struct stat'
btrfs subvol support it well.
multiple subvols will have different st_dev of 'struct stat'.
/bin/find works well too.
2, statfs() and the result 'struct statfs'
btrfs subvol support it well.
multiple subvols will have different f_fsid of 'struct statfs'.
3, stx_mnt_id of statx
btrfs subvol does NOT support it well.
but stx_mnt_id seems yet not used.
4, d_mountpoint() in kernel
d_mountpoint() seems not support btrfs subvol.
but we can add some dirty fix such as.
+//#define BTRFS_FIRST_FREE_OBJECTID 256ULL
+//#define BTRFS_SUPER_MAGIC 0x9123683E
+static inline bool is_btrfs_subvol_d(const struct dentry *dentry)
+{
+ return dentry->d_inode && dentry->d_inode->i_ino == 256ULL &&
+ dentry->d_sb && dentry->d_sb->s_magic == 0x9123683E;
+}
so the problem list is yet not clear.
Best Regards
Wang Yugui (wangyugui@e16-tech.com)
2021/06/17
> On Sun, 13 Jun 2021, Wang Yugui wrote:
> > Hi,
> >
> > Any idea about auto export multiple btrfs snapshots?
> >
> > One related patch is yet not merged to nfs-utils 2.5.3.
> > From: "NeilBrown" <neilb@suse.de>
> > Subject: [PATCH/RFC v2 nfs-utils] Fix NFSv4 export of tmpfs filesystems.
> >
> > In this patch, an UUID is auto generated when a tmpfs have no UUID.
> >
> > for btrfs, multiple subvolume snapshot have the same filesystem UUID.
> > Could we generate an UUID for btrfs subvol with 'filesystem UUID' + 'subvol ID'?
>
> You really need to ask this question of btrfs developers. 'mountd'
> already has a special-case exception for btrfs, to prefer the uuid
> provided by statfs64() rather than the uuid extracted from the block
> device. It would be quite easy to add another exception.
> But it would only be reasonable to do that if the btrfs team told us how
> that wanted us to generate a UUID for a given mount point, and promised
> that would always provide a unique stable result.
>
> This is completely separate from the tmpfs patch you identified.
>
> NeilBrown
>
>
> >
> > Best Regards
> > Wang Yugui (wangyugui@e16-tech.com)
> > 2021/06/13
> >
> >
> >
prev parent reply other threads:[~2021-06-17 2:15 UTC|newest]
Thread overview: 94+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-13 3:53 any idea about auto export multiple btrfs snapshots? Wang Yugui
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
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
2021-06-14 22:50 ` any idea about auto export multiple btrfs snapshots? NeilBrown
2021-06-15 15:13 ` Wang Yugui
2021-06-15 15:41 ` Wang Yugui
2021-06-16 5:47 ` Wang Yugui
2021-06-17 3:02 ` NeilBrown
2021-06-17 4:28 ` Wang Yugui
2021-06-18 0:32 ` NeilBrown
2021-06-18 7:26 ` Wang Yugui
2021-06-18 13:34 ` Wang Yugui
2021-06-19 6:47 ` Wang Yugui
2021-06-20 12:27 ` Wang Yugui
2021-06-21 4:52 ` NeilBrown
2021-06-21 5:13 ` NeilBrown
2021-06-21 8:34 ` Wang Yugui
2021-06-22 1:28 ` NeilBrown
2021-06-22 3:22 ` Wang Yugui
2021-06-22 7:14 ` Wang Yugui
2021-06-23 0:59 ` NeilBrown
2021-06-23 6:14 ` Wang Yugui
2021-06-23 6:29 ` NeilBrown
2021-06-23 9:34 ` Wang Yugui
2021-06-23 23:38 ` NeilBrown
2021-06-23 15:35 ` J. Bruce Fields
2021-06-23 22:04 ` NeilBrown
2021-06-23 22:25 ` J. Bruce Fields
2021-06-23 23:29 ` NeilBrown
2021-06-23 23:41 ` Frank Filz
2021-06-24 0:01 ` J. Bruce Fields
2021-06-24 21:58 ` Patrick Goetz
2021-06-24 23:27 ` NeilBrown
2021-06-21 14:35 ` Frank Filz
2021-06-21 14:55 ` Wang Yugui
2021-06-21 17:49 ` Frank Filz
2021-06-21 22:41 ` Wang Yugui
2021-06-22 17:34 ` Frank Filz
2021-06-22 22:48 ` Wang Yugui
2021-06-17 2:15 ` Wang Yugui [this message]
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=20210617101551.BE66.409509F4@e16-tech.com \
--to=wangyugui@e16-tech.com \
--cc=linux-nfs@vger.kernel.org \
--cc=neilb@suse.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.