[PATCH v3 0/3] pnfs/nfsd: have client and server support multiple layout types

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux