Skip to content

pnfs block layout driver

[email protected] linux-nfs 1 version NAK

Status from this message: NAK.

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest88 patches 47 repliesNAK

Patches in v1

#Subject and filesSizeRepliesApplied
1/88pnfs: add set-clear layoutdriver interfacefs/nfs/client.c fs/nfs/pnfs.c fs/nfs/pnfs.h+23 -70 replies
2/88pnfs: let layoutcommit code handle multiple segmentsfs/nfs/pnfs.c fs/nfs/pnfs.h+13 -30 replies
3/88pnfs_post_submit: Restore "pnfs: pnfs_do_flush" part 1fs/nfs/file.c fs/nfs/pnfs.c fs/nfs/pnfs.h+129 -10 replies
4/88pnfs_post_submit: Restore the pnfs_write_end part of "pnfs: commit and pnfs_write_end"fs/nfs/file.c fs/nfs/pnfs.h+29 -00 replies
5/88pnfs: xdr support for three word attribute bitmapfs/nfs/nfs4xdr.c include/linux/nfs_fs_sb.h include/linux/nfs_xdr.h+48 -150 replies
6/88pnfs: HACK: ask for layout_blksize on mountfs/nfs/client.c fs/nfs/nfs4_fs.h fs/nfs/nfs4proc.c +3 more+44 -80 replies
7/88pnfs: HACK: modify write_end_cleanupfs/nfs/pnfs.h+5 -00 replies
8/88HACK: propagate fsdata into nfs_writepage_setupfs/nfs/file.c fs/nfs/write.c include/linux/nfs_fs.h+10 -60 replies
9/88pnfs: HACK: adjust eof handlingfs/nfs/pnfs.h fs/nfs/write.c+16 -10 replies
10/88pnfsblock: define PNFS_BLOCK Kconfig optionfs/nfs/Kconfig fs/nfs/Makefile fs/nfs/blocklayout/Makefile+14 -00 replies
11/88pnfsblock: blocklayout stubfs/nfs/blocklayout/Makefile fs/nfs/blocklayout/blocklayout.c+226 -20 replies
12/88pnfsblock: expose scsi interfacedrivers/scsi/hosts.c+2 -10 replies
13/88pnfsblock: scan scsi devicesfs/nfs/blocklayout/Makefile fs/nfs/blocklayout/blocklayout.c fs/nfs/blocklayout/blocklayout.h +1 more+295 -40 replies
14/88pnfsblock: call and parse getdevicelistfs/nfs/blocklayout/Makefile fs/nfs/blocklayout/blocklayout.c fs/nfs/blocklayout/blocklayout.h +2 more+646 -40 replies
15/88pnfsblock: dm kernel interfacedrivers/md/dm-ioctl.c fs/nfs/blocklayout/blocklayout.h+28 -00 replies
16/88pnfsblock: select BLK_DEV_DM when PNFS_BLOCK is configuredfs/nfs/Kconfig+2 -00 replies
17/88pnfsblock: create and destroy dm metadevicefs/nfs/blocklayout/blocklayout.h fs/nfs/blocklayout/blocklayoutdev.c fs/nfs/blocklayout/blocklayoutdm.c+85 -50 replies
18/88pnfsblock: construct and load md tablefs/nfs/blocklayout/blocklayout.h fs/nfs/blocklayout/blocklayoutdm.c+191 -30 replies
19/88pnfsblock: layout alloc and freefs/nfs/blocklayout/blocklayout.c fs/nfs/blocklayout/blocklayout.h+57 -10 replies
20/88pnfsblock: basic extent codefs/nfs/blocklayout/Makefile fs/nfs/blocklayout/blocklayout.c fs/nfs/blocklayout/blocklayout.h +1 more+94 -40 replies
21/88pnfsblock: lseg alloc and freefs/nfs/blocklayout/blocklayout.c fs/nfs/blocklayout/blocklayout.h fs/nfs/blocklayout/blocklayoutdev.c+39 -20 replies
22/88pnfsblock: xdr decode pnfs_block_layout4fs/nfs/blocklayout/blocklayout.h fs/nfs/blocklayout/blocklayoutdev.c fs/nfs/blocklayout/extents.c+177 -20 replies
23/88pnfsblock: merge extentsfs/nfs/blocklayout/blocklayout.h fs/nfs/blocklayout/blocklayoutdev.c fs/nfs/blocklayout/extents.c+154 -30 replies
24/88pnfsblock: find_get_extentfs/nfs/blocklayout/blocklayout.h fs/nfs/blocklayout/extents.c+50 -00 replies
25/88pnfsblock: bl_read_pagelistfs/nfs/blocklayout/blocklayout.c fs/nfs/blocklayout/blocklayout.h fs/nfs/blocklayout/extents.c+256 -30 replies
26/88pnfsblock: allow use of PG_owner_priv_1 flagfs/nfs/blocklayout/blocklayout.h+5 -00 replies
27/88pnfsblock: read path error handlingfs/nfs/blocklayout/blocklayout.c+9 -00 replies
28/88pnfsblock: SPLITME: add extent manipulation functionsfs/nfs/blocklayout/blocklayout.h fs/nfs/blocklayout/extents.c+284 -40 replies
29/88pnfsblock: write_beginfs/nfs/blocklayout/blocklayout.c+196 -00 replies
30/88pnfsblock: write_endfs/nfs/blocklayout/blocklayout.c+18 -00 replies
31/88pnfsblock: write_end_cleanupfs/nfs/blocklayout/blocklayout.c+59 -00 replies
32/88pnfsblock: bl_write_pagelist support functionsfs/nfs/blocklayout/blocklayout.c+31 -10 replies
33/88pnfsblock: bl_write_pagelistfs/nfs/blocklayout/blocklayout.c+137 -40 replies
34/88pnfsblock: note written INVAL areas for layoutcommitfs/nfs/blocklayout/blocklayout.c fs/nfs/blocklayout/blocklayout.h fs/nfs/blocklayout/extents.c+223 -00 replies
35/88pnfsblock: bl_setup_layoutcommitfs/nfs/blocklayout/blocklayout.c fs/nfs/blocklayout/blocklayout.h+28 -10 replies
36/88pnfsblock: encode_layoutcommitfs/nfs/blocklayout/blocklayout.c fs/nfs/blocklayout/blocklayout.h fs/nfs/blocklayout/extents.c+52 -00 replies
37/88pnfsblock: cleanup_layoutcommitfs/nfs/blocklayout/blocklayout.c fs/nfs/blocklayout/blocklayout.h fs/nfs/blocklayout/extents.c+157 -10 replies
38/88pnfsblock: merge rw extentsfs/nfs/blocklayout/extents.c+44 -40 replies
39/88pnfsblock: debugging dprintks for clist infofs/nfs/blocklayout/extents.c+30 -00 replies
40/88SQAUSHME: blocklayoutdriver: NULL pointer reference when committing too many extentsfs/nfs/blocklayout/extents.c+16 -130 replies
41/88SQUASHME: pnfs-block: remove of CONFIG_PNFS falloutfs/nfs/Kconfig+1 -10 replies
42/88SQUASHME: pnfsblock: Fix a memory leakfs/nfs/blocklayout/extents.c+1 -00 replies
43/88SQUASHME: pnfsblock: fix bug when decoding block device info.fs/nfs/blocklayout/blocklayoutdev.c+1 -10 replies
44/88SQUASHME: pnfsblock: Wrong extent refcount in block extents listfs/nfs/blocklayout/extents.c+0 -30 replies
45/88SQUASHME: pnfsblock: Implement release_inval_marksfs/nfs/blocklayout/blocklayout.c fs/nfs/blocklayout/blocklayout.h fs/nfs/blocklayout/extents.c+14 -90 replies
46/88SQUASHME: pnfsblock: Fix missing extent in commit listfs/nfs/blocklayout/blocklayout.c+4 -70 replies
47/88pnfsblock: use the session max response size for getdeviceinfo's maxcountfs/nfs/blocklayout/blocklayout.c+33 -290 replies
48/88SQUASHME: pnfs-block: fix compile breakagefs/nfs/blocklayout/blocklayout.c+6 -60 replies
49/88SQUASHME: pnfs-block: convert APIs pnfs-post-submitfs/nfs/blocklayout/blocklayout.c fs/nfs/blocklayout/blocklayout.h fs/nfs/blocklayout/blocklayoutdev.c +1 more+28 -360 replies
50/88pnfsblock: Lookup list entry of layouts and tags in reverse orderfs/nfs/blocklayout/extents.c+64 -620 replies
51/88pnfsblock: expose block_class interfaceblock/genhd.c drivers/scsi/hosts.c+1 -10 replies
52/88pnfsblock: iterating all local block disks instead of only scsi disks when initializing mount point.fs/nfs/blocklayout/blocklayout.c fs/nfs/blocklayout/blocklayout.h fs/nfs/blocklayout/blocklayoutdev.c +1 more+56 -750 replies
53/88SQUASHME: pnfsblock: set pnfs_blksize before calling set_pnfs_layoutdriverfs/nfs/client.c+1 -10 replies
54/88SQUASHME: pnfsblock: get rid of threshold policy opsfs/nfs/blocklayout/blocklayout.c+0 -90 replies
55/88SQUASHME: pnfsblock: write_begin adjust for removed fieldsfs/nfs/blocklayout/blocklayout.c+4 -170 replies
56/88SQUASHME: pnfsblock: write_end adjust for removed ok_to_use_pnfsfs/nfs/blocklayout/blocklayout.c+4 -90 replies
57/88SQUASHME: pnfsblock: write_end_cleanup adjust for removed ok_to_use_pnfsfs/nfs/blocklayout/blocklayout.c+6 -10 replies
58/88SQUASHME: pnfsblock: bl_write_pagelist support functions adjust for missing PG_USE_PNFSfs/nfs/blocklayout/blocklayout.c+3 -50 replies
59/88SQUASHME: pnfsblock: bl_write_pagelist adjust for missing PG_USE_PNFSfs/nfs/blocklayout/blocklayout.c+2 -20 replies
60/88SQUASHME: pnfs-block: nfs4_blk_add_block_disk ret must be signedfs/nfs/blocklayout/blocklayoutdev.c+2 -10 replies
61/88SQUASHME: pnfs-block: use new alloc/free_layout APIfs/nfs/blocklayout/blocklayout.c fs/nfs/blocklayout/blocklayout.h fs/nfs/blocklayout/blocklayoutdev.c+18 -80 replies
62/88SQUASHME: pnfs-block: use new commit apifs/nfs/blocklayout/blocklayout.c+2 -30 replies
63/88SQUASHME: pnfs-block: use new read_pagelist apifs/nfs/blocklayout/blocklayout.c+6 -80 replies
64/88SQUASHME: pnfs-block: use new write_pagelist apifs/nfs/blocklayout/blocklayout.c+7 -90 replies
65/88pnfs-block: Add support for simple rpc pipefsinclude/linux/sunrpc/rpc_pipe_fs.h include/linux/sunrpc/simple_rpc_pipefs.h net/sunrpc/Makefile +1 more+540 -10 replies
66/88pnfs-block: Remove device creation from kernelfs/nfs/blocklayout/Makefile fs/nfs/blocklayout/block-device-discovery-pipe.c fs/nfs/blocklayout/blocklayout.c +3 more+181 -7110 replies
67/88SQUASHME: pnfs-block: apply types renamefs/nfs/blocklayout/blocklayout.c fs/nfs/blocklayout/blocklayout.h fs/nfs/blocklayout/blocklayoutdev.c +1 more+34 -350 replies
68/88SQUASHME: pnfs-block: Revert "pnfsblock: expose block_class interface"block/genhd.c drivers/scsi/hosts.c+1 -10 replies
69/88SQUASHME: pnfsblock: remove obsolete include file from blocklayout.hfs/nfs/blocklayout/blocklayout.h+1 -10 replies
70/88SQUASHME: pnfsblock: use nfs4_deviceidfs/nfs/blocklayout/blocklayout.c fs/nfs/blocklayout/blocklayout.h fs/nfs/blocklayout/blocklayoutdev.c +1 more+11 -110 replies
71/88SQUASHME: pnfsblock: no callback opsfs/nfs/blocklayout/blocklayout.c+10 -90 replies
72/88SQAUSHME: pnfsblock: no PNFS_NFS_SERVERfs/nfs/blocklayout/blocklayout.c fs/nfs/blocklayout/blocklayout.h+2 -20 replies
73/88SQUASHME: pnfsblock: no dev_notify_typesfs/nfs/blocklayout/blocklayout.c+0 -10 replies
74/88SQUASHME: pnfsblock: use new struct pnfs_layout_hdrfs/nfs/blocklayout/blocklayout.c+7 -150 replies
75/88SQUASHME: pnfsblock: compile error in blocklayout codefs/nfs/blocklayout/blocklayout.h+1 -10 replies
76/88SQUASHME: pnfs-block: deprecate get_stripesizefs/nfs/blocklayout/blocklayout.c+0 -80 replies
77/88move include lines out of include fileinclude/linux/sunrpc/simple_rpc_pipefs.h net/sunrpc/simple_rpc_pipefs.c+2 -90 replies
78/88SQUASHME: pnfs-block: use {set,clear}_layoutdriverfs/nfs/blocklayout/blocklayout.c+4 -40 replies
79/88SQUASHME: pnfs-block: Return failure from bl_initialize_mountpointfs/nfs/blocklayout/blocklayout.c+4 -20 replies
80/88SQUASHME: pnfs-block: fixup setup_layoutcommit argumentsfs/nfs/blocklayout/blocklayout.c+1 -10 replies
81/88SQUASHME: pnfs-block: fixup cleanup_layoutcommit argumentsfs/nfs/blocklayout/blocklayout.c fs/nfs/blocklayout/blocklayout.h fs/nfs/blocklayout/extents.c+5 -40 replies
82/88SQUASHME: pnfs-block: fixup encode_layoutcommit argumentsfs/nfs/blocklayout/blocklayout.c fs/nfs/blocklayout/blocklayout.h fs/nfs/blocklayout/extents.c+3 -30 replies
83/88SQUASHME: pnfs-block: fixup layoutcommit methods argsfs/nfs/blocklayout/blocklayout.c fs/nfs/blocklayout/blocklayout.h fs/nfs/blocklayout/extents.c+9 -100 replies
84/88pnfs-block: fix blocklayoutdev.c for new blkdev_get_by_dev()fs/nfs/blocklayout/blocklayoutdev.c+1 -20 replies
85/88SQUASHME: pnfs-block: use pnfs_layout_hdr field prefixfs/nfs/blocklayout/blocklayout.c fs/nfs/blocklayout/blocklayout.h+3 -30 replies
86/88SQUASHME: pnfs: blocklayout: port block layout codedrivers/md/dm-ioctl.c drivers/scsi/hosts.c fs/nfs/blocklayout/blocklayout.c +8 more+69 -1343 replies
87/88Add configurable prefetch size for layoutgetfs/nfs/pnfs.c fs/nfs/pnfs.h fs/nfs/sysctl.c+28 -036 replies
88/88NFS41: do not update isize if inode needs layoutcommitfs/nfs/inode.c+2 -13 replies

Reviews trailers per patch

2 of 88 patches have a Reviewed-by or Acked-by.

PatchJ. Bruce FieldsFred Isaman
1/88
2/88
3/88
4/88
5/88
6/88
7/88
8/88
9/88
10/88
11/88
12/88
13/88
14/88
15/88
16/88
17/88
18/88
19/88
20/88
21/88
22/88
23/88
24/88
25/88
26/88
27/88
28/88
29/88
30/88
31/88
32/88
33/88
34/88
35/88
36/88
37/88
38/88
39/88
40/88
41/88
42/88A-b
43/88
44/88A-b
45/88
46/88
47/88
48/88
49/88
50/88
51/88
52/88
53/88
54/88
55/88
56/88
57/88
58/88
59/88
60/88
61/88
62/88
63/88
64/88
65/88
66/88
67/88
68/88
69/88
70/88
71/88
72/88
73/88
74/88
75/88
76/88
77/88
78/88
79/88
80/88
81/88
82/88
83/88
84/88
85/88
86/88
87/88
88/88

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 00/88] pnfs block layout driver

This patch set adds a block layout driver to the pnfs client.

Benny Halevy (25):
pnfs: add set-clear layoutdriver interface
pnfs: xdr support for three word attribute bitmap
pnfsblock: select BLK_DEV_DM when PNFS_BLOCK is configured
SQUASHME: pnfs-block: convert APIs pnfs-post-submit
SQUASHME: pnfsblock: get rid of threshold policy ops
SQUASHME: pnfs-block: nfs4_blk_add_block_disk ret must be signed
SQUASHME: pnfs-block: use new alloc/free_layout API
SQUASHME: pnfs-block: use new commit api
SQUASHME: pnfs-block: use new read_pagelist api
SQUASHME: pnfs-block: use new write_pagelist api
SQUASHME: pnfs-block: apply types rename
SQUASHME: pnfs-block: Revert "pnfsblock: expose block_class
interface"
SQUASHME: pnfsblock: remove obsolete include file from blocklayout.h
SQUASHME: pnfsblock: use nfs4_deviceid
SQUASHME: pnfsblock: no callback ops
SQAUSHME: pnfsblock: no PNFS_NFS_SERVER
SQUASHME: pnfsblock: no dev_notify_types
SQUASHME: pnfsblock: use new struct pnfs_layout_hdr
SQUASHME: pnfs-block: deprecate get_stripesize
SQUASHME: pnfs-block: use {set,clear}_layoutdriver
SQUASHME: pnfs-block: fixup setup_layoutcommit arguments
SQUASHME: pnfs-block: fixup cleanup_layoutcommit arguments
SQUASHME: pnfs-block: fixup encode_layoutcommit arguments
SQUASHME: pnfs-block: fixup layoutcommit methods args
SQUASHME: pnfs-block: use pnfs_layout_hdr field prefix

Boaz Harrosh (1):
SQUASHME: pnfs-block: remove of CONFIG_PNFS fallout

Fred (1):
pnfsblock: find_get_extent

Fred Isaman (39):
pnfs_post_submit: Restore "pnfs: pnfs_do_flush" part 1
pnfs_post_submit: Restore the pnfs_write_end part of "pnfs: commit
and pnfs_write_end"
pnfs: HACK: ask for layout_blksize on mount
pnfs: HACK: modify write_end_cleanup
HACK: propagate fsdata into nfs_writepage_setup
pnfs: HACK: adjust eof handling
pnfsblock: define PNFS_BLOCK Kconfig option
pnfsblock: blocklayout stub
pnfsblock: expose scsi interface
pnfsblock: scan scsi devices
pnfsblock: call and parse getdevicelist
pnfsblock: dm kernel interface
pnfsblock: create and destroy dm metadevice
pnfsblock: construct and load md table
pnfsblock: layout alloc and free
pnfsblock: basic extent code
pnfsblock: lseg alloc and free
pnfsblock: xdr decode pnfs_block_layout4
pnfsblock: merge extents
pnfsblock: bl_read_pagelist
pnfsblock: allow use of PG_owner_priv_1 flag
pnfsblock: read path error handling
pnfsblock: SPLITME: add extent manipulation functions
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
pnfsblock: bl_setup_layoutcommit
pnfsblock: encode_layoutcommit
pnfsblock: cleanup_layoutcommit
pnfsblock: merge rw extents
pnfsblock: debugging dprintks for clist info
SQUASHME: pnfsblock: write_begin adjust for removed fields
SQUASHME: pnfsblock: write_end adjust for removed ok_to_use_pnfs
SQUASHME: pnfsblock: write_end_cleanup adjust for removed
ok_to_use_pnfs
SQUASHME: pnfsblock: bl_write_pagelist support functions adjust for
missing PG_USE_PNFS
SQUASHME: pnfsblock: bl_write_pagelist adjust for missing PG_USE_PNFS

J. Bruce Fields (1):
SQUASHME: pnfs-block: fix compile breakage

Jim Rees (5):
pnfs-block: Add support for simple rpc pipefs
pnfs-block: Remove device creation from kernel
move include lines out of include file
SQUASHME: pnfs-block: Return failure from bl_initialize_mountpoint
pnfs-block: fix blocklayoutdev.c for new blkdev_get_by_dev()

Mike Sager (1):
pnfsblock: use the session max response size for getdeviceinfo's
maxcount

Peng Tao (4):
pnfs: let layoutcommit code handle multiple segments
SQUASHME: pnfs: blocklayout: port block layout code Add configurable prefetch size for layoutget
NFS41: do not update isize if inode needs layoutcommit

Steve Dickson (1):
SQUASHME: pnfsblock: compile error in blocklayout code

Tao Guo (3):
SQUASHME: pnfsblock: fix bug when decoding block device info.
pnfsblock: expose block_class interface
pnfsblock: iterating all local block disks instead of only scsi disks
when initializing mount point.

Zhang Jingwang (7):
SQAUSHME: blocklayoutdriver: NULL pointer reference when committing
too many extents
SQUASHME: pnfsblock: Fix a memory leak
SQUASHME: pnfsblock: Wrong extent refcount in block extents list
SQUASHME: pnfsblock: Implement release_inval_marks
SQUASHME: pnfsblock: Fix missing extent in commit list
pnfsblock: Lookup list entry of layouts and tags in reverse order
SQUASHME: pnfsblock: set pnfs_blksize before calling
set_pnfs_layoutdriver

 fs/nfs/Kconfig                                   |   10 +
 fs/nfs/Makefile                                  |    1 +
 fs/nfs/blocklayout/Makefile                      |    6 +
 fs/nfs/blocklayout/block-device-discovery-pipe.c |   66 ++
 fs/nfs/blocklayout/blocklayout.c                 | 1103 ++++++++++++++++++++++
 fs/nfs/blocklayout/blocklayout.h                 |  297 ++++++
 fs/nfs/blocklayout/blocklayoutdev.c              |  346 +++++++
 fs/nfs/blocklayout/blocklayoutdm.c               |  120 +++
 fs/nfs/blocklayout/extents.c                     |  940 ++++++++++++++++++
 fs/nfs/client.c                                  |    8 +-
 fs/nfs/file.c                                    |   26 +-
 fs/nfs/inode.c                                   |    3 +-
 fs/nfs/nfs4_fs.h                                 |    2 +-
 fs/nfs/nfs4proc.c                                |    6 +-
 fs/nfs/nfs4xdr.c                                 |  104 ++-
 fs/nfs/pnfs.c                                    |   96 ++-
 fs/nfs/pnfs.h                                    |  126 +++-
 fs/nfs/sysctl.c                                  |   10 +
 fs/nfs/write.c                                   |   12 +-
 include/linux/nfs_fs.h                           |    3 +-
 include/linux/nfs_fs_sb.h                        |    4 +-
 include/linux/nfs_xdr.h                          |    3 +-
 include/linux/sunrpc/rpc_pipe_fs.h               |    4 +
 include/linux/sunrpc/simple_rpc_pipefs.h         |  105 ++
 net/sunrpc/Makefile                              |    2 +-
 net/sunrpc/simple_rpc_pipefs.c                   |  423 +++++++++
 26 files changed, 3778 insertions(+), 48 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