linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jim Rees <rees@umich.edu>
To: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: linux-nfs@vger.kernel.org, peter honeyman <honey@citi.umich.edu>
Subject: [PATCH v5 00/27] add block layout driver to pnfs client
Date: Fri, 29 Jul 2011 11:54:25 -0400	[thread overview]
Message-ID: <1311954892-22038-1-git-send-email-rees@umich.edu> (raw)

This patch set adds a block layout driver to the pNFS client.  It passes
Connectathon tests and is bisectable.  It requires an updated version of
nfs-utils, and patches for that have been sent separately to the nfs-utils
maintainer.

This patch set is also available on the for-trond branch of the git repo at
git://citi.umich.edu/projects/linux-pnfs-blk.git

This is version 5 of this patch set.  Changes since version 4:

- rm inode and pnfs_layout_hdr args from cleanup_layoutcommit()

Changes since version 3:

- Rebase to trond/nfs-for-3.1 (commit ed1e6211a0).
- Change return value NFS4ERR_REP_TOO_BIG to EIO in decode_getdevicelist.
- fix error message in set_pnfs_layoutdriver.
- remove dont_like_caller from read_pagelist and write_pagelist.
- rename mark_for_commit to bl_mark_for_commit
- split the patch "NFS41: Let layoutcommit handle multiple segments" into 4
  patches each does one task only.
- fix race in saving cred in layout header.
- move the patch "NFS41: save layoutcommit cred after first successful
  layoutget" to an earlier place.
- "[PATCH v3 25/25] NFS41: Drop lseg ref before fallthru to MDS" is dropped.   
- move GETDEVICELIST to end of nfs4_procedures[]

Changes since version 2:

- Rebase to trond/nfs-for-next (commit ed1e6211a0).
- Fix Fred's and Benny's email addresses.
- Use FIXME to flag code that needs more work.
- Remove obsolete comments.
- Minor patch re-orgs per reviewer comments.

Changes since version 1:

NFS41: Drop lseg ref before fallthru to MDS
SQUASHME: pnfsblock: get rid of vmap and deviceid->area structure
SQUASHME: pnfsblock: define module alias
SQUASHME: pnfsblock: bl_find_get_extent optimization: mv break clause to end of loop
SQUASHME: pnfsblock: test debug bit once for multiple dprintks
SQUASHME: pnfsblock: typo
SQUASHME: pnfsblock: get rid of unused leftovers from device mapping removal

Andy Adamson (2):
  pnfs: GETDEVICELIST
  pnfs: cleanup_layoutcommit

Benny Halevy (2):
  pnfs: add set-clear layoutdriver interface
  pnfsblock: use pageio_ops api

Fred Isaman (15):
  pnfs: ask for layout_blksize and save it in nfs_server
  pnfsblock: add blocklayout Kconfig option, Makefile, and stubs
  pnfsblock: basic extent code
  pnfsblock: lseg alloc and free
  pnfsblock: merge extents
  pnfsblock: call and parse getdevicelist
  pnfsblock: xdr decode pnfs_block_layout4
  pnfsblock: bl_find_get_extent
  pnfsblock: add extent manipulation functions
  pnfsblock: merge rw extents
  pnfsblock: encode_layoutcommit
  pnfsblock: cleanup_layoutcommit
  pnfsblock: bl_read_pagelist
  pnfsblock: bl_write_pagelist
  pnfsblock: note written INVAL areas for layoutcommit

Jim Rees (2):
  pnfsblock: add device operations
  pnfsblock: remove device operations

Peng Tao (6):
  pnfs: save layoutcommit lwb at layout header
  pnfs: save layoutcommit cred at layout header
  pnfs: let layoutcommit handle a list of lseg
  pnfs: use lwb as layoutcommit length
  NFS41: save layoutcommit cred in layout header init
  pnfsblock: write_pagelist handle zero invalid extents

 fs/nfs/Kconfig                      |    8 +-
 fs/nfs/Makefile                     |    1 +
 fs/nfs/blocklayout/Makefile         |    5 +
 fs/nfs/blocklayout/blocklayout.c    | 1019 +++++++++++++++++++++++++++++++++++
 fs/nfs/blocklayout/blocklayout.h    |  208 +++++++
 fs/nfs/blocklayout/blocklayoutdev.c |  410 ++++++++++++++
 fs/nfs/blocklayout/blocklayoutdm.c  |  111 ++++
 fs/nfs/blocklayout/extents.c        |  943 ++++++++++++++++++++++++++++++++
 fs/nfs/client.c                     |   11 +-
 fs/nfs/nfs4_fs.h                    |    2 +-
 fs/nfs/nfs4filelayout.c             |    2 +-
 fs/nfs/nfs4proc.c                   |   62 ++-
 fs/nfs/nfs4xdr.c                    |  233 ++++++++-
 fs/nfs/pnfs.c                       |   86 ++--
 fs/nfs/pnfs.h                       |   28 +-
 include/linux/nfs.h                 |    2 +
 include/linux/nfs4.h                |    1 +
 include/linux/nfs_fs_sb.h           |    4 +-
 include/linux/nfs_xdr.h             |   17 +-
 19 files changed, 3086 insertions(+), 67 deletions(-)
 create mode 100644 fs/nfs/blocklayout/Makefile
 create mode 100644 fs/nfs/blocklayout/blocklayout.c
 create mode 100644 fs/nfs/blocklayout/blocklayout.h
 create mode 100644 fs/nfs/blocklayout/blocklayoutdev.c
 create mode 100644 fs/nfs/blocklayout/blocklayoutdm.c
 create mode 100644 fs/nfs/blocklayout/extents.c

-- 
1.7.4.1


             reply	other threads:[~2011-07-29 15:54 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-29 15:54 Jim Rees [this message]
2011-07-29 15:54 ` [PATCH v5 01/27] pnfs: GETDEVICELIST Jim Rees
2011-07-29 15:54 ` [PATCH v5 02/27] pnfs: add set-clear layoutdriver interface Jim Rees
2011-07-29 15:54 ` [PATCH v5 03/27] pnfs: save layoutcommit lwb at layout header Jim Rees
2011-07-29 15:54 ` [PATCH v5 04/27] pnfs: save layoutcommit cred " Jim Rees
2011-07-29 15:54 ` [PATCH v5 05/27] pnfs: let layoutcommit handle a list of lseg Jim Rees
2011-07-29 15:54 ` [PATCH v5 06/27] pnfs: use lwb as layoutcommit length Jim Rees
2011-07-29 15:54 ` [PATCH v5 07/27] NFS41: save layoutcommit cred in layout header init Jim Rees
2011-07-29 15:54 ` [PATCH v5 08/27] pnfs: ask for layout_blksize and save it in nfs_server Jim Rees
2011-07-29 15:54 ` [PATCH v5 09/27] pnfs: cleanup_layoutcommit Jim Rees
2011-07-29 15:54 ` [PATCH v5 10/27] pnfsblock: add blocklayout Kconfig option, Makefile, and stubs Jim Rees
2011-07-29 15:54 ` [PATCH v5 11/27] pnfsblock: use pageio_ops api Jim Rees
2011-07-29 15:54 ` [PATCH v5 12/27] pnfsblock: basic extent code Jim Rees
2011-07-29 15:54 ` [PATCH v5 13/27] pnfsblock: add device operations Jim Rees
2011-07-29 15:54 ` [PATCH v5 14/27] pnfsblock: remove " Jim Rees
2011-07-29 15:54 ` [PATCH v5 15/27] pnfsblock: lseg alloc and free Jim Rees
2011-07-29 15:54 ` [PATCH v5 16/27] pnfsblock: merge extents Jim Rees
2011-07-29 15:54 ` [PATCH v5 17/27] pnfsblock: call and parse getdevicelist Jim Rees
2011-07-29 15:54 ` [PATCH v5 18/27] pnfsblock: xdr decode pnfs_block_layout4 Jim Rees
2011-07-29 15:54 ` [PATCH v5 19/27] pnfsblock: bl_find_get_extent Jim Rees
2011-07-29 15:54 ` [PATCH v5 20/27] pnfsblock: add extent manipulation functions Jim Rees
2011-07-30  1:03   ` Trond Myklebust
2011-07-30  3:23     ` Jim Rees
2011-07-29 15:54 ` [PATCH v5 21/27] pnfsblock: merge rw extents Jim Rees
2011-07-29 15:54 ` [PATCH v5 22/27] pnfsblock: encode_layoutcommit Jim Rees
2011-07-30  1:04   ` Trond Myklebust
2011-07-29 15:54 ` [PATCH v5 23/27] pnfsblock: cleanup_layoutcommit Jim Rees
2011-07-29 15:54 ` [PATCH v5 24/27] pnfsblock: bl_read_pagelist Jim Rees
2011-07-29 15:54 ` [PATCH v5 25/27] pnfsblock: bl_write_pagelist Jim Rees
2011-07-29 15:54 ` [PATCH v5 26/27] pnfsblock: note written INVAL areas for layoutcommit Jim Rees
2011-07-29 15:54 ` [PATCH v5 27/27] pnfsblock: write_pagelist handle zero invalid extents Jim Rees

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=1311954892-22038-1-git-send-email-rees@umich.edu \
    --to=rees@umich.edu \
    --cc=Trond.Myklebust@netapp.com \
    --cc=honey@citi.umich.edu \
    --cc=linux-nfs@vger.kernel.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
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).