linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Neil Brown <neilb@suse.de>
To: Christoph Hellwig <hch@infradead.org>,
	linux-fsdevel@vger.kernel.org, nfs@lists.sourceforge.net
Subject: Re: [NFS] [PATCH 0/18] export operations rewrite
Date: Mon, 7 May 2007 09:52:35 +1000	[thread overview]
Message-ID: <17982.27203.841272.221428@notabene.brown> (raw)
In-Reply-To: message from Neil Brown on Friday May 4

On Friday May 4, neilb@suse.de wrote:
> On Tuesday May 1, hch@infradead.org wrote:
> >  - the calling conversion on the decode side where we first call
> >    ->decode_fh to split the filehandle into two blobs only to
> >    recurse back into exportfs and then recurse back into the filesystem
> >    seems rather odd.  By having two methods to get the dentry and
> >    parent directly from the on the wire file handle this big callstack
> >    collapses to a very simple one.
> 
> This is the bit I was particularly missing.  I see now how this aspect
> was awkward before, and how your changes make the flow clearer.
> 
> Getting rid of s_export_op->find_exported_dentry is something I'm very
> happy about.  There was actually bug lurking there that I never got
> around to fixing.  The code:
> -	/* Ok, we can export it */;
> -	if (!inode->i_sb->s_export_op->find_exported_dentry)
> -		inode->i_sb->s_export_op->find_exported_dentry =
> -			find_exported_dentry;
> 
> assumes that the address of find_exported_dentry will never change.
> But if you unload nfsd.ko, then re-load it. it could be different, yet a
> filesystem could still have to old value in it's s_export_op.  That
> would be bad.
> I'm glad it is gone.

...but now I remember why it was there...

I didn't want filesystems to depend on exportfs.ko.
nfsd, depends on exportfs, but currently filesystems don't.  They
can be compiled into the kernel without including exportfs.

With your patches in place, I got a compile error with a config in
which nfsd is a module (and so exportfs is) but ext2 and ext3 are
compiled in.
The error was that generic_fh_to_dentry and generic_fh_to_parent were
not defined.

Now those two functions together with exportfs_d_alloc are fairly
small and could go directly in fs/something.c.  They could almost be
inlined in linux/exportfs.h.

Would you be able to respin that second patch series with one of those
changes?

Thanks,
NeilBrown

  reply	other threads:[~2007-05-06 23:53 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-17  1:09 [PATCH 0/18] export operations rewrite Christoph Hellwig
2007-03-28 16:39 ` [NFS] " Christoph Hellwig
2007-03-30  3:34 ` Neil Brown
2007-05-01 10:39   ` [NFS] " Christoph Hellwig
2007-05-04  6:49     ` Neil Brown
2007-05-06 23:52       ` Neil Brown [this message]
2007-05-07  0:06         ` Neil Brown
2007-05-07  7:51           ` [NFS] " Christoph Hellwig
2007-05-13 20:41             ` Christoph Hellwig
2007-05-14  0:13               ` Neil Brown
2007-04-01 15:03 ` David Woodhouse
2007-05-13 20:43   ` [NFS] " Christoph Hellwig

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=17982.27203.841272.221428@notabene.brown \
    --to=neilb@suse.de \
    --cc=hch@infradead.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=nfs@lists.sourceforge.net \
    /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).