linux_dsm_epyc7002/fs/nfs/objlayout
Boaz Harrosh 04f8345038 pnfs-obj: osd raid engine read/write implementation
With the use of the in-kernel osd library. Implement read/write
of data from/to osd-objects according to information specified
in the objects-layout.

Support for stripping over mirrors with a received stripe_unit.
There are however a few constrains which are not supported:
 1. Stripe Unit must be a multiple of PAGE_SIZE
 2. stripe length (stripe_unit * number_of_stripes) can not be
    bigger then 32bit.

Also support raid-groups and partial-layout. Partial-layout is
when not all the groups are received on the line, addressing
only a partial range of the file.

TODO:
  Only raid0! raid 4/5/6 support will come at later stage

A none supported layout will send IO through the MDS

[Important fallout from the last rebase]
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
[gfp_flags]
Signed-off-by: Benny Halevy <bhalevy@panasas.com>
2011-05-29 20:54:15 +03:00
..
Kbuild pnfs-obj: decode layout, alloc/free lseg 2011-05-29 20:53:06 +03:00
objio_osd.c pnfs-obj: osd raid engine read/write implementation 2011-05-29 20:54:15 +03:00
objlayout.c pnfs-obj: osd raid engine read/write implementation 2011-05-29 20:54:15 +03:00
objlayout.h pnfs-obj: osd raid engine read/write implementation 2011-05-29 20:54:15 +03:00
pnfs_osd_xdr_cli.c pnfs-obj: pnfs_osd XDR client implementation 2011-05-29 20:52:36 +03:00