Skip to content

v2 block layout patches

Jim Rees linux-nfs 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest33 patches 1 replyIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/33pnfs: GETDEVICELISTfs/nfs/nfs4proc.c fs/nfs/nfs4xdr.c fs/nfs/pnfs.h +2 more+200 -00 replies
2/33pnfs: add set-clear layoutdriver interfacefs/nfs/client.c fs/nfs/pnfs.c fs/nfs/pnfs.h+25 -70 replies
3/33pnfs: let layoutcommit code handle multiple segmentsfs/nfs/pnfs.c fs/nfs/pnfs.h+15 -40 replies
4/33pnfs: hook nfs_write_begin/end to allow layout driver manipulationfs/nfs/file.c fs/nfs/pnfs.c fs/nfs/pnfs.h +2 more+189 -80 replies
5/33pnfs: ask for layout_blksize and save it in nfs_serverfs/nfs/client.c fs/nfs/nfs4_fs.h fs/nfs/nfs4proc.c +3 more+93 -230 replies
6/33pnfs: cleanup_layoutcommitfs/nfs/nfs4proc.c fs/nfs/nfs4xdr.c fs/nfs/pnfs.c +2 more+24 -10 replies
7/33pnfsblock: define PNFS_BLOCK Kconfig optionfs/nfs/Kconfig fs/nfs/Makefile fs/nfs/blocklayout/Makefile+16 -00 replies
8/33pnfsblock: blocklayout stubfs/nfs/blocklayout/Makefile fs/nfs/blocklayout/blocklayout.c+168 -20 replies
9/33pnfsblock: layout alloc and freefs/nfs/blocklayout/blocklayout.c fs/nfs/blocklayout/blocklayout.h+129 -50 replies
10/33pnfsblock: add support for simple rpc pipefsinclude/linux/sunrpc/simple_rpc_pipefs.h net/sunrpc/simple_rpc_pipefs.c+528 -01 reply
11/33pnfsblock: add block device discovery pipefs/nfs/blocklayout/Makefile fs/nfs/blocklayout/block-device-discovery-pipe.c fs/nfs/blocklayout/blocklayout.c +1 more+84 -10 replies
12/33pnfsblock: basic extent codefs/nfs/blocklayout/Makefile fs/nfs/blocklayout/blocklayout.c fs/nfs/blocklayout/blocklayout.h +1 more+116 -60 replies
13/33pnfsblock: add device operationsfs/nfs/blocklayout/Makefile fs/nfs/blocklayout/blocklayout.h fs/nfs/blocklayout/blocklayoutdev.c+167 -10 replies
14/33pnfsblock: remove device operationsfs/nfs/blocklayout/Makefile fs/nfs/blocklayout/blocklayout.h fs/nfs/blocklayout/blocklayoutdm.c+123 -10 replies
15/33pnfsblock: lseg alloc and freefs/nfs/blocklayout/blocklayout.c fs/nfs/blocklayout/blocklayout.h fs/nfs/blocklayout/blocklayoutdev.c+47 -60 replies
16/33pnfsblock: merge extentsfs/nfs/blocklayout/blocklayout.h fs/nfs/blocklayout/extents.c+119 -10 replies
17/33pnfsblock: call and parse getdevicelistfs/nfs/blocklayout/blocklayout.c fs/nfs/blocklayout/blocklayout.h+250 -30 replies
18/33pnfsblock: allow use of PG_owner_priv_1 flagfs/nfs/blocklayout/blocklayout.h+5 -00 replies
19/33pnfsblock: xdr decode pnfs_block_layout4fs/nfs/blocklayout/blocklayoutdev.c+189 -20 replies
20/33pnfsblock: find_get_extentfs/nfs/blocklayout/blocklayout.h fs/nfs/blocklayout/extents.c+50 -00 replies
21/33pnfsblock: SPLITME: add extent manipulation functionsfs/nfs/blocklayout/blocklayout.h fs/nfs/blocklayout/extents.c+281 -20 replies
22/33pnfsblock: merge rw extentsfs/nfs/blocklayout/extents.c+47 -00 replies
23/33pnfsblock: encode_layoutcommitfs/nfs/blocklayout/blocklayout.c fs/nfs/blocklayout/blocklayout.h fs/nfs/blocklayout/extents.c+145 -440 replies
24/33pnfsblock: cleanup_layoutcommitfs/nfs/blocklayout/blocklayout.c fs/nfs/blocklayout/blocklayout.h fs/nfs/blocklayout/extents.c+214 -00 replies
25/33pnfsblock: bl_read_pagelistfs/nfs/blocklayout/blocklayout.c+259 -00 replies
26/33pnfsblock: write_beginfs/nfs/blocklayout/blocklayout.c+177 -10 replies
27/33pnfsblock: write_endfs/nfs/blocklayout/blocklayout.c+5 -00 replies
28/33pnfsblock: write_end_cleanupfs/nfs/blocklayout/blocklayout.c+54 -00 replies
29/33pnfsblock: bl_write_pagelist support functionsfs/nfs/blocklayout/blocklayout.c+13 -00 replies
30/33pnfsblock: bl_write_pagelistfs/nfs/blocklayout/blocklayout.c+145 -10 replies
31/33pnfsblock: note written INVAL areas for layoutcommitfs/nfs/blocklayout/blocklayout.c fs/nfs/blocklayout/blocklayout.h fs/nfs/blocklayout/extents.c+129 -00 replies
32/33pnfsblock: Implement release_inval_marksfs/nfs/blocklayout/blocklayout.c+6 -10 replies
33/33pnfsblock DEVONLY: Add configurable prefetch size for layoutgetfs/nfs/pnfs.c fs/nfs/pnfs.h fs/nfs/sysctl.c+28 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 00/33] v2 block layout patches

This version is based on commit 3f585d500f68912fa622749f519ed7df16e417b8. It fixes the whitespace errors, adds a couple of missing signed-offs, moves the configurable prefetch to the end and labels it DEVONLY, fixes the Kconfig, standardizes on "pnfsblock" for patch subject, and makes some other minor cleanups. I have not yet incorporated Fred's suggestions.

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

Andy Adamson (1):
pnfs: GETDEVICELIST

Benny Halevy (1):
pnfs: add set-clear layoutdriver interface

Fred (1):
pnfsblock: find_get_extent

Fred Isaman (21):
pnfsblock: define PNFS_BLOCK Kconfig option
pnfsblock: blocklayout stub
pnfsblock: layout alloc and free
pnfsblock: add support for simple rpc pipefs
pnfsblock: basic extent code
pnfsblock: lseg alloc and free
pnfsblock: merge extents
pnfsblock: call and parse getdevicelist
pnfsblock: allow use of PG_owner_priv_1 flag
pnfsblock: xdr decode pnfs_block_layout4
pnfsblock: SPLITME: add extent manipulation functions
pnfsblock: merge rw extents
pnfsblock: encode_layoutcommit
pnfsblock: cleanup_layoutcommit
pnfsblock: bl_read_pagelist
pnfsblock: write_begin
pnfsblock: write_end
pnfsblock: write_end_cleanup
pnfsblock: bl_write_pagelist support functions
pnfsblock: bl_write_pagelist
pnfsblock: note written INVAL areas for layoutcommit

Jim Rees (3):
pnfsblock: add block device discovery pipe
pnfsblock: add device operations
pnfsblock: remove device operations

Peng Tao (5):
pnfs: let layoutcommit code handle multiple segments
pnfs: hook nfs_write_begin/end to allow layout driver manipulation
pnfs: ask for layout_blksize and save it in nfs_server
pnfs: cleanup_layoutcommit
pnfsblock DEVONLY: Add configurable prefetch size for layoutget

Zhang Jingwang (1):
pnfsblock: Implement release_inval_marks

 fs/nfs/Kconfig                                   |   10 +
 fs/nfs/Makefile                                  |    1 +
 fs/nfs/blocklayout/Makefile                      |    5 +
 fs/nfs/blocklayout/block-device-discovery-pipe.c |   66 ++
 fs/nfs/blocklayout/blocklayout.c                 | 1085 ++++++++++++++++++++++
 fs/nfs/blocklayout/blocklayout.h                 |  287 ++++++
 fs/nfs/blocklayout/blocklayoutdev.c              |  346 +++++++
 fs/nfs/blocklayout/blocklayoutdm.c               |  120 +++
 fs/nfs/blocklayout/extents.c                     |  941 +++++++++++++++++++
 fs/nfs/client.c                                  |    9 +-
 fs/nfs/file.c                                    |   26 +-
 fs/nfs/nfs4_fs.h                                 |    2 +-
 fs/nfs/nfs4proc.c                                |   54 +-
 fs/nfs/nfs4xdr.c                                 |  232 +++++-
 fs/nfs/pnfs.c                                    |  107 ++-
 fs/nfs/pnfs.h                                    |  142 +++-
 fs/nfs/sysctl.c                                  |   10 +
 fs/nfs/write.c                                   |   12 +-
 include/linux/nfs4.h                             |    1 +
 include/linux/nfs_fs.h                           |    3 +-
 include/linux/nfs_fs_sb.h                        |    4 +-
 include/linux/nfs_xdr.h                          |   15 +-
 include/linux/sunrpc/simple_rpc_pipefs.h         |  105 +++
 net/sunrpc/simple_rpc_pipefs.c                   |  423 +++++++++
 24 files changed, 3963 insertions(+), 43 deletions(-)
 create mode 100644 fs/nfs/blocklayout/Makefile
 create mode 100644 fs/nfs/blocklayout/block-device-discovery-pipe.c
 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
 create mode 100644 include/linux/sunrpc/simple_rpc_pipefs.h
 create mode 100644 net/sunrpc/simple_rpc_pipefs.c
Signature · 1 line
1.7.4.1