• Boaz Harrosh's avatar
    pnfs-obj: osd raid engine read/write implementation · 04f83450
    Boaz Harrosh authored
    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: default avatarBoaz Harrosh <bharrosh@panasas.com>
    [gfp_flags]
    Signed-off-by: default avatarBenny Halevy <bhalevy@panasas.com>
    04f83450
objio_osd.c 24.3 KB