All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wang Yugui <wangyugui@e16-tech.com>
To: Frank Filz <ffilz@redhat.com>
Cc: Frank Filz <ffilzlnx@mindspring.com>, 'NeilBrown' <neilb@suse.de>,
	linux-nfs@vger.kernel.org
Subject: Re: any idea about auto export multiple btrfs snapshots?
Date: Wed, 23 Jun 2021 06:48:41 +0800	[thread overview]
Message-ID: <20210623064840.ABD8.409509F4@e16-tech.com> (raw)
In-Reply-To: <f2581d9f-dfe4-3280-80de-31683c9e647d@redhat.com>

Hi,

> On 6/21/21 3:41 PM, Wang Yugui wrote:
> > Hi,
> >
> >> OK thanks for the information. I think they will just work in nfs-ganesha as
> >> long as the snapshots or subvols are mounted within an nfs-ganesha export or
> >> are exported explicitly. nfs-ganesha has the equivalent of knfsd's
> >> nohide/crossmnt options and when nfs-ganesha detects crossing a filesystem
> >> boundary will lookup the filesystem via getmntend and listing btrfs subvols
> >> and then expose that filesystem (via the fsid attribute) to the clients
> >> where at least the Linux nfs client will detect a filesystem boundary and
> >> create a new mount entry for it.
> >
> > Not only exported explicitly, but also kept in the same hierarchy.
> >
> > If we export
> > /mnt/test		#the btrfs
> > /mnt/test/sub1	# the btrfs subvol 1
> > /mnt/test/sub2	# the btrfs subvol 2
> >
> > we need to make sure we will not access '/mnt/test/sub1' through '/mnt/test'
> > from nfs client.
> >
> > current safe export:
> > #/mnt/test		#the btrfs, not exported
> > /mnt/test/sub1	# the btrfs subvol 1
> > /mnt/test/sub2	# the btrfs subvol 2
> >
> 
> What's the problem with exporting /mnt/test AND then exporting sub1 and sub2 as crossmnt exports? As far as I can tell, that seems to work just fine with nfs-ganesha.

I'm not sure what will happen on nfs-ganesha.

crossmnt(kernel nfsd) failed to work when exporting /mnt/test,/mnt/test/sub1,
/mnt/test/sub2.

# /bin/find /nfs/test/
/nfs/test/
find: File system loop detected; ‘/nfs/test/sub1’ is part of the same file system loop as ‘/nfs/test/’.
/nfs/test/.snapshot
find: File system loop detected; ‘/nfs/test/.snapshot/sub1-s1’ is part of the same file system loop as ‘/nfs/test/’.
find: File system loop detected; ‘/nfs/test/.snapshot/sub2-s1’ is part of the same file system loop as ‘/nfs/test/’.
/nfs/test/dir1
/nfs/test/dir1/a.txt
find: File system loop detected; ‘/nfs/test/sub2’ is part of the same file system loop as ‘/nfs/test/’

/bin/find report 'File system loop detected', it means that vfs cache(
based on st_dev + st_ino?) on nfs client side will have some problem?

In fact, I was exporting /mnt/test  for years too.
but btrfs subvols means multiple filesystems(different st_dev),  in theory, we
needs to use it based on nfs crossmnt.

Best Regards
Wang Yugui (wangyugui@e16-tech.com)
2021/06/23


  reply	other threads:[~2021-06-22 22:48 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 [this message]
2021-06-17  2:15   ` Wang Yugui

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=20210623064840.ABD8.409509F4@e16-tech.com \
    --to=wangyugui@e16-tech.com \
    --cc=ffilz@redhat.com \
    --cc=ffilzlnx@mindspring.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.