linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "J. Bruce Fields" <bfields@fieldses.org>
To: Sage Weil <sage@newdream.net>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>,
	linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 16/20] ceph: nfs re-export support
Date: Fri, 17 Jul 2009 10:05:34 -0400	[thread overview]
Message-ID: <20090717140534.GD10710@fieldses.org> (raw)
In-Reply-To: <Pine.LNX.4.64.0907161459360.8026@cobra.newdream.net>

On Thu, Jul 16, 2009 at 03:07:35PM -0700, Sage Weil wrote:
> On Thu, 16 Jul 2009, Trond Myklebust wrote:
> > On Thu, 2009-07-16 at 12:50 -0700, Sage Weil wrote:
> > > On Thu, 16 Jul 2009, J. Bruce Fields wrote:
> > > > On Wed, Jul 15, 2009 at 02:24:46PM -0700, Sage Weil wrote:
> > > > > Basic NFS re-export support is included.  This mostly works.  However,
> > > > > Ceph's MDS design precludes the ability to generate a (small)
> > > > > filehandle that will be valid forever, so this is of limited utility.
> > > > 
> > > > Is there any hope of fixing that?
> > > 
> > > Yes, but it requires some additional ondisk metadata the MDS isn't 
> > > maintaining yet (a parent directory backpointer on file objects).  
> > > 
> > > The MDS changes will mean more random IO for rename intensive workloads, 
> > > but the backpointers would also be useful for rebuilding the directory 
> > > tree in the event of some catastrophic metadata loss or corruption.  
> > > (Currently they're only there for directories, not all files.)
> > 
> > Note that a filehandle that contains parent directory information is
> > still not one that is valid forever. It will change in the case of a
> > cross-directory rename, and so isn't a filehandle in the NFSv2/v3 sense.
> > Even in the NFSv4 case, it would have to be labelled as 'volatile'.
> 
> Right.  The parent directory information in the fh it used as a hint, but 
> can't be relied on because of the rename problem.  That's exactly why the 
> Ceph MDS will need to be changed to maintain backpointers on all files, 
> not just directories.  When that happens, reexporting via NFS will work 
> reliably.  Until then, old and idle filehandles for renamed files will 
> eventually go stale.

Maybe I should look again at the patch instead of continuing to ask,
but....  I'm confused: how will having a backpointers from inodes to
directories help do the filehandle-to-inode lookup?  (If you can't look
up the inode in the first place, what use is any pointer stored in that
inode?)

--b.

  reply	other threads:[~2009-07-17 14:05 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-15 21:24 [PATCH 00/20] ceph: Ceph distributed file system client v0.10 Sage Weil
2009-07-15 21:24 ` [PATCH 01/20] ceph: documentation Sage Weil
2009-07-15 21:24   ` [PATCH 02/20] ceph: on-wire types Sage Weil
2009-07-15 21:24     ` [PATCH 03/20] ceph: client types Sage Weil
2009-07-15 21:24       ` [PATCH 04/20] ceph: super.c Sage Weil
2009-07-15 21:24         ` [PATCH 05/20] ceph: inode operations Sage Weil
2009-07-15 21:24           ` [PATCH 06/20] ceph: directory operations Sage Weil
2009-07-15 21:24             ` [PATCH 07/20] ceph: file operations Sage Weil
2009-07-15 21:24               ` [PATCH 08/20] ceph: address space operations Sage Weil
2009-07-15 21:24                 ` [PATCH 09/20] ceph: MDS client Sage Weil
2009-07-15 21:24                   ` [PATCH 10/20] ceph: OSD client Sage Weil
2009-07-15 21:24                     ` [PATCH 11/20] ceph: CRUSH mapping algorithm Sage Weil
2009-07-15 21:24                       ` [PATCH 12/20] ceph: monitor client Sage Weil
2009-07-15 21:24                         ` [PATCH 13/20] ceph: capability management Sage Weil
2009-07-15 21:24                           ` [PATCH 14/20] ceph: snapshot management Sage Weil
2009-07-15 21:24                             ` [PATCH 15/20] ceph: messenger library Sage Weil
2009-07-15 21:24                               ` [PATCH 16/20] ceph: nfs re-export support Sage Weil
2009-07-15 21:24                                 ` [PATCH 17/20] ceph: ioctls Sage Weil
2009-07-15 21:24                                   ` [PATCH 18/20] ceph: debugging Sage Weil
2009-07-15 21:24                                     ` [PATCH 19/20] ceph: debugfs Sage Weil
2009-07-15 21:24                                       ` [PATCH 20/20] ceph: Kconfig, Makefile Sage Weil
2009-07-16 12:27                                     ` [PATCH 18/20] ceph: debugging Andi Kleen
2009-07-16 17:17                                       ` Sage Weil
2009-07-17 18:07                                         ` Sage Weil
2009-07-17 18:56                                           ` Andi Kleen
2009-07-17 19:52                                             ` Sage Weil
2009-07-17 20:01                                               ` Andi Kleen
2009-07-17 21:35                                                 ` Sage Weil
2009-07-17 21:51                                                   ` Andi Kleen
2009-07-15 22:05                                   ` common layout xattr Andreas Dilger
2009-07-15 22:19                                     ` Sage Weil
2009-07-16  5:13                                       ` Andreas Dilger
2009-07-16 22:29                                         ` Sage Weil
2009-07-17  4:45                                           ` Andreas Dilger
2009-07-18  4:51                                             ` Sage Weil
2009-07-16 19:27                                 ` [PATCH 16/20] ceph: nfs re-export support J. Bruce Fields
2009-07-16 19:50                                   ` Sage Weil
2009-07-16 21:21                                     ` Trond Myklebust
2009-07-16 22:07                                       ` Sage Weil
2009-07-17 14:05                                         ` J. Bruce Fields [this message]
2009-07-17 16:49                                           ` Sage Weil
2009-07-17 16:57                                             ` J. Bruce Fields
2009-07-16 12:31     ` [PATCH 02/20] ceph: on-wire types Andi Kleen
2009-07-16 16:58       ` Sage Weil
2009-07-16  3:59 ` [PATCH 00/20] ceph: Ceph distributed file system client v0.10 Noah Watkins
2009-07-16 17:03   ` Sage Weil
2009-07-16 12:26 ` Andi Kleen
2009-07-16 17:11   ` Sage Weil
2009-07-18  1:28     ` Chris Wright
2009-07-18  4:39       ` Sage Weil
  -- strict thread matches above, loose matches on Subject: below --
2009-03-09 22:40 [PATCH 00/20] ceph: Ceph distributed file system client Sage Weil
2009-03-09 22:40 ` [PATCH 01/20] ceph: documentation Sage Weil
2009-03-09 22:40   ` [PATCH 02/20] ceph: on-wire types Sage Weil
2009-03-09 22:40     ` [PATCH 03/20] ceph: client types Sage Weil
2009-03-09 22:40       ` [PATCH 04/20] ceph: super.c Sage Weil
2009-03-09 22:40         ` [PATCH 05/20] ceph: inode operations Sage Weil
2009-03-09 22:40           ` [PATCH 06/20] ceph: directory operations Sage Weil
2009-03-09 22:40             ` [PATCH 07/20] ceph: file operations Sage Weil
2009-03-09 22:40               ` [PATCH 08/20] ceph: address space operations Sage Weil
2009-03-09 22:40                 ` [PATCH 09/20] ceph: MDS client Sage Weil
2009-03-09 22:40                   ` [PATCH 10/20] ceph: OSD client Sage Weil
2009-03-09 22:40                     ` [PATCH 11/20] ceph: CRUSH mapping algorithm Sage Weil
2009-03-09 22:40                       ` [PATCH 12/20] ceph: monitor client Sage Weil
2009-03-09 22:40                         ` [PATCH 13/20] ceph: capability management Sage Weil
2009-03-09 22:40                           ` [PATCH 14/20] ceph: snapshot management Sage Weil
2009-03-09 22:40                             ` [PATCH 15/20] ceph: messenger library Sage Weil
2009-03-09 22:40                               ` [PATCH 16/20] ceph: nfs re-export support Sage Weil

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=20090717140534.GD10710@fieldses.org \
    --to=bfields@fieldses.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sage@newdream.net \
    --cc=trond.myklebust@fys.uio.no \
    /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).