This patch series introduces support for striped layouts: The first 2 patches are simple preparation changes. There should be no logical impact to the code. The 3rd patch refactors the nfs4_ff_layout_mirror struct to have an array of a new nfs4_ff_layout_ds_stripe type. The nfs4_ff_layout_ds_stripe has all the contents of ff_data_server4 per the flexfile rfc. I called it ds_stripe because ds was already taken by the deviceid side of the code. The patches 4-8 update various paths to be dss_id aware. Most of this consists of either adding a new parameter to the function or adding a loop. Depending on which is appropriate. The final patch 9 updates the layout creation path to populate the array and turns the feature on. Jonathan Curley (9): NFSv4/flexfiles: Remove cred local variable dependency NFSv4/flexfiles: Use ds_commit_idx when marking a write commit NFSv4/flexfiles: Add data structure support for striped layouts NFSv4/flexfiles: Update low level helper functions to be DS stripe aware. NFSv4/flexfiles: Read path updates for striped layouts NFSv4/flexfiles: Commit path updates for striped layouts NFSv4/flexfiles: Write path updates for striped layouts NFSv4/flexfiles: Update layout stats & error paths for striped layouts NFSv4/flexfiles: Add support for striped layouts fs/nfs/flexfilelayout/flexfilelayout.c | 774 +++++++++++++++------- fs/nfs/flexfilelayout/flexfilelayout.h | 64 +- fs/nfs/flexfilelayout/flexfilelayoutdev.c | 110 +-- fs/nfs/write.c | 2 +- 4 files changed, 636 insertions(+), 314 deletions(-) -- 2.34.1