Linux-Fsdevel Archive on lore.kernel.org
 help / color / Atom feed
From: Jeff Layton <jeff.layton-7I+n7zu2hftEKMMhf/gKZA@public.gmane.org>
To: "J. Bruce Fields" <bfields-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
Cc: Christoph Hellwig <hch-jcswGhMUV9g@public.gmane.org>,
	linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	xfs-VZNHf3L845pBDgjK7y7TUQ@public.gmane.org
Subject: Re: a simple and scalable pNFS block layout server V2
Date: Thu, 22 Jan 2015 15:20:42 -0500
Message-ID: <20150122152042.08d95397@tlielax.poochiereds.net> (raw)
In-Reply-To: <20150122200618.GI898-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>

On Thu, 22 Jan 2015 15:06:18 -0500
"J. Bruce Fields" <bfields-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org> wrote:

> On Thu, Jan 22, 2015 at 12:09:46PM +0100, Christoph Hellwig wrote:
> > This series adds support for the pNFS operations in NFS v4.1, as well
> > as a block layout driver that can export block based filesystems that
> > implement a few additional export operations.  Support for XFS is
> > provided in this series, but other filesystems could be added easily.
> > 
> > The core pNFS code of course owns its heritage to the existing Linux
> > pNFS server prototype, but except for a few bits and pieces in the
> > XDR path nothing is left from it.
> > 
> > The design of this new pNFS server is fairly different from the old
> > one - while the old one implemented very little semantics in nfsd
> > and left almost everything to filesystems my implementation implements
> > as much as possible in common nfsd code, then dispatches to a layout
> > driver that still is part of nfsd and only then calls into the
> > filesystem, thus keeping it free from intimate pNFS knowledge.
> > 
> > This version of the code has been rebased to the locks-for-3.20
> > tree which adds a new lock context structure to the inode.
> 
> By the way, Jeff, do you consider the lock changes are ready?  Would you
> mind if I pulled or cherry-picked them into the nfsd tree just to
> simplify merging this stuff for 3.20?  (Assuming it's going to be
> ready.)
> 
> --b.
> 

Sure, that'd be fine.

The latest version of that set seems to be OK (tip commit ==
8116bf4cb62d33) and has been sitting in linux-next for a while now.
I'll let you know if I get any reports of problems in that area between
now and the merge window though.

Thanks,
Jeff

> > For now
> > we still (ab)use the lease list like in the last version.  Adding
> > a pNFS-specific list would duplicate a lot of code without much
> > benefit.  But during this research I came up with way to associate
> > a nfs4_file with a struct file at open time which should allow
> > to greatly simplify the pNFS and delegation code.  So stay tuned
> > for some patches in this area!
> > 
> > For now this also doesn't take errata 3901 for rfc 5661 into account
> > yet and sticks to the verified errata.  The changes in 3901 seem
> > useful in the longer run one verified and will be implemented
> > eventually. Note that the only existing pNFS block client (Linux)
> > would not benefit from the longer layout lifetimes anyway.
> > 
> > More details are document in the individual patch descriptions and
> > code comments.
> > 
> > This code is also available from:
> > 
> > 	git://git.infradead.org/users/hch/pnfs.git pnfsd-for-3.20-2
> > 
> > Changes since V1:
> > 	- rebased to the locks-for-3.20 tree
> > 	- fixed a memory leak in the nfsd4_encode_getdeviceinfo error path
> > 	- removed the always one lg_roc field
> > 	- added a nopnfs export option
> > 	- use a synchronous transaction in layoutget to simplify recovery
> > 	- various XFS fixes pointed out by Dave
> > 	- various documentation typo fixes


-- 
Jeff Layton <jlayton-7I+n7zu2hftEKMMhf/gKZA@public.gmane.org>
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

      parent reply index

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-22 11:09 Christoph Hellwig
2015-01-22 11:09 ` [PATCH 04/20] nfsd: factor out a helper to decode nfstime4 values Christoph Hellwig
     [not found]   ` <1421925006-24231-5-git-send-email-hch-jcswGhMUV9g@public.gmane.org>
2015-01-22 20:15     ` J. Bruce Fields
2015-01-22 11:09 ` [PATCH 05/20] nfsd: move nfsd_fh_match to nfsfh.h Christoph Hellwig
2015-01-22 11:09 ` [PATCH 09/20] nfsd: make find_any_file available outside nfs4state.c Christoph Hellwig
2015-01-22 11:09 ` [PATCH 12/20] nfsd: update documentation for pNFS support Christoph Hellwig
2015-01-22 11:09 ` [PATCH 13/20] nfsd: add trace events Christoph Hellwig
2015-01-22 11:10 ` [PATCH 15/20] nfsd: pNFS block layout driver Christoph Hellwig
2015-01-22 11:10 ` [PATCH 18/20] xfs: factor out a xfs_update_prealloc_flags() helper Christoph Hellwig
     [not found]   ` <1421925006-24231-19-git-send-email-hch-jcswGhMUV9g@public.gmane.org>
2015-02-01 23:06     ` Dave Chinner
2015-01-22 16:04 ` a simple and scalable pNFS block layout server V2 Chuck Lever
2015-01-22 16:21   ` Christoph Hellwig
     [not found] ` <1421925006-24231-1-git-send-email-hch-jcswGhMUV9g@public.gmane.org>
2015-01-22 11:09   ` [PATCH 01/20] nfs: add LAYOUT_TYPE_MAX enum value Christoph Hellwig
2015-01-22 11:09   ` [PATCH 02/20] fs: track fl_owner for leases Christoph Hellwig
2015-01-22 11:09   ` [PATCH 03/20] fs: add FL_LAYOUT lease type Christoph Hellwig
2015-01-22 15:45     ` Jeff Layton
     [not found]     ` <1421925006-24231-4-git-send-email-hch-jcswGhMUV9g@public.gmane.org>
2015-01-22 20:14       ` J. Bruce Fields
     [not found]         ` <20150122201442.GJ898-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2015-01-22 20:18           ` Christoph Hellwig
2015-01-22 11:09   ` [PATCH 06/20] nfsd: add fh_fsid_match helper Christoph Hellwig
2015-01-22 11:09   ` [PATCH 07/20] nfsd: make lookup/alloc/unhash_stid available outside nfs4state.c Christoph Hellwig
2015-01-22 11:09   ` [PATCH 08/20] nfsd: make find/get/put file " Christoph Hellwig
2015-01-22 11:09   ` [PATCH 10/20] nfsd: implement pNFS operations Christoph Hellwig
     [not found]     ` <1421925006-24231-11-git-send-email-hch-jcswGhMUV9g@public.gmane.org>
2015-01-29 20:33       ` J. Bruce Fields
     [not found]         ` <20150129203346.GA11064-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2015-02-02 12:43           ` Christoph Hellwig
2015-02-02 14:28             ` J. Bruce Fields
     [not found]               ` <20150202142832.GC22301-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2015-02-02 14:56                 ` Christoph Hellwig
     [not found]                   ` <20150202145619.GA18387-jcswGhMUV9g@public.gmane.org>
2015-02-02 15:00                     ` J. Bruce Fields
     [not found]                       ` <20150202150032.GD22301-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2015-02-02 18:56                         ` Christoph Hellwig
     [not found]                           ` <20150202185638.GB23319-jcswGhMUV9g@public.gmane.org>
2015-02-03 16:08                             ` J. Bruce Fields
2015-01-22 11:09   ` [PATCH 11/20] nfsd: implement pNFS layout recalls Christoph Hellwig
2015-01-22 11:10   ` [PATCH 14/20] exportfs: add methods for block layout exports Christoph Hellwig
2015-01-22 11:10   ` [PATCH 16/20] xfs: pass a 64-bit count argument to xfs_iomap_write_unwritten Christoph Hellwig
2015-01-29 20:52     ` J. Bruce Fields
2015-02-02  7:30       ` Christoph Hellwig
2015-02-02 19:24         ` Dave Chinner
2015-02-02 19:43           ` Dave Chinner
2015-02-02 19:48             ` J. Bruce Fields
2015-02-03 18:35               ` Christoph Hellwig
     [not found]                 ` <20150203183533.GA16929-jcswGhMUV9g@public.gmane.org>
2015-02-11 22:35                   ` J. Bruce Fields
2015-02-11 22:54                     ` J. Bruce Fields
2015-02-04  7:57             ` Christoph Hellwig
     [not found]               ` <20150204075756.GA763-jcswGhMUV9g@public.gmane.org>
2015-02-04 20:02                 ` Dave Chinner
2015-01-22 11:10   ` [PATCH 17/20] xfs: update the superblock using a synchronous transaction in growfs Christoph Hellwig
2015-01-22 11:10   ` [PATCH 19/20] xfs: implement pNFS export operations Christoph Hellwig
     [not found]     ` <1421925006-24231-20-git-send-email-hch-jcswGhMUV9g@public.gmane.org>
2015-02-05  0:47       ` Dave Chinner
2015-02-05  7:08         ` Christoph Hellwig
     [not found]           ` <20150205070858.GA593-jcswGhMUV9g@public.gmane.org>
2015-02-05 13:57             ` Christoph Hellwig
     [not found]               ` <20150205135756.GA6386-jcswGhMUV9g@public.gmane.org>
2015-02-06 22:20                 ` Dave Chinner
2015-02-06 22:42                   ` J. Bruce Fields
2015-02-08 13:34                     ` Christoph Hellwig
     [not found]                       ` <20150208133435.GA27081-jcswGhMUV9g@public.gmane.org>
2015-02-08 14:09                         ` Jeff Layton
     [not found]                           ` <20150208090942.51e99687-9yPaYZwiELC+kQycOl6kW4xkIHaj4LzF@public.gmane.org>
2015-02-09 20:11                             ` J. Bruce Fields
     [not found]                               ` <20150209201154.GA27746-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2015-02-10  0:04                                 ` Dave Chinner
2015-02-13  1:11                                   ` J. Bruce Fields
2015-02-13  1:54                                     ` Dave Chinner
2015-02-13  2:38                                       ` Stephen Rothwell
2015-02-15 23:25                                         ` Dave Chinner
2015-01-22 11:10   ` [PATCH 20/20] xfs: recall pNFS layouts on conflicting access Christoph Hellwig
     [not found]     ` <1421925006-24231-21-git-send-email-hch-jcswGhMUV9g@public.gmane.org>
2015-02-05  0:51       ` Dave Chinner
2015-01-22 20:01   ` a simple and scalable pNFS block layout server V2 J. Bruce Fields
2015-01-22 20:06   ` J. Bruce Fields
2015-01-22 20:20     ` Christoph Hellwig
     [not found]     ` <20150122200618.GI898-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2015-01-22 20:20       ` Jeff Layton [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=20150122152042.08d95397@tlielax.poochiereds.net \
    --to=jeff.layton-7i+n7zu2hftekmmhf/gkza@public.gmane.org \
    --cc=bfields-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org \
    --cc=hch-jcswGhMUV9g@public.gmane.org \
    --cc=linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=xfs-VZNHf3L845pBDgjK7y7TUQ@public.gmane.org \
    /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

Linux-Fsdevel Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-fsdevel/0 linux-fsdevel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-fsdevel linux-fsdevel/ https://lore.kernel.org/linux-fsdevel \
		linux-fsdevel@vger.kernel.org
	public-inbox-index linux-fsdevel

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-fsdevel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git