linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/3][resend] pnfs/nfsd: have client and server support multiple layout types
@ 2016-07-10 19:55 Jeff Layton
  2016-07-10 19:55 ` [PATCH v3 1/3][resend] nfsd: allow nfsd to advertise " Jeff Layton
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Jeff Layton @ 2016-07-10 19:55 UTC (permalink / raw)
  To: trond.myklebust, anna.schumaker, bfields
  Cc: tigran.mkrtchyan, thomas.haynes, linux-nfs

From: Jeff Layton <jlayton@poochiereds.net>

v3:
- use sort() from lib/sort.c to sort the list

v2:
- rework Tigran's patch to preserve existing selection behaviour
- simplify layout driver selection by sorting the list

This is v3 of the patchset. The main change is that this patch doesn't
use a hand-rolled bubble sort, but rather the heapsort library in
lib/sort.c. This is mostly for conciseness since the array sizes are
generally so small that it shouldn't make any perf difference.

Note that this does mean that we need to keep track on the number of
elements in the array that the server sends, so there are a few
ancillary changes to deal with that as well.

Only lightly tested by mounting a server that sends both flexfiles and
block layouts. The client successfully selected the block layout in most
cases, but if I blacklist blocklayoutdriver then it selects flexfiles
instead.

I'm sending these together, but I'd expect Bruce to pick up the nfsd
patches and Trond or Anna to pick up the client-side ones.

The nfsd patch is based on top of Tom's nfsd flexfile layout patches.

Jeff Layton (3):
  nfsd: allow nfsd to advertise multiple layout types
  pnfs: track multiple layout types in fsinfo structure
  pnfs: add a new mechanism to select a layout driver according to an
    ordered list

 fs/nfs/client.c         |  3 ++-
 fs/nfs/nfs4proc.c       |  3 ++-
 fs/nfs/nfs4xdr.c        | 40 +++++++++++++++--------------
 fs/nfs/pnfs.c           | 67 ++++++++++++++++++++++++++++++++++++++++---------
 fs/nfs/pnfs.h           |  5 ++--
 fs/nfsd/export.c        |  4 +--
 fs/nfsd/export.h        |  2 +-
 fs/nfsd/nfs4layouts.c   |  6 ++---
 fs/nfsd/nfs4proc.c      |  4 +--
 fs/nfsd/nfs4xdr.c       | 30 +++++++++++-----------
 include/linux/nfs_xdr.h |  8 +++++-
 11 files changed, 112 insertions(+), 60 deletions(-)

-- 
2.5.5


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2016-08-10 19:26 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-10 19:55 [PATCH v3 0/3][resend] pnfs/nfsd: have client and server support multiple layout types Jeff Layton
2016-07-10 19:55 ` [PATCH v3 1/3][resend] nfsd: allow nfsd to advertise " Jeff Layton
2016-07-10 19:55 ` [PATCH v3 2/3][resend] pnfs: track multiple layout types in fsinfo structure Jeff Layton
2016-07-10 19:56 ` [PATCH v3 3/3][resend] pnfs: add a new mechanism to select a layout driver according to an ordered list Jeff Layton
2016-08-08 20:43   ` Anna Schumaker
2016-08-10 19:13     ` Jeff Layton
2016-08-10 19:26       ` Anna Schumaker
2016-07-11 18:04 ` [PATCH v3 0/3][resend] pnfs/nfsd: have client and server support multiple layout types J. Bruce Fields
2016-07-11 20:32   ` Jeff Layton
2016-07-12 12:40     ` J. Bruce Fields

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).