• B
    pnfs-obj: Get rid of objlayout_{alloc,free}_io_state · 96218556
    Boaz Harrosh 提交于
    This is part of moving objio_osd to use the ORE.
    
    objlayout_io_state had two functions:
    1. It was used in the error reporting mechanism at layout_return.
       This function is kept intact.
       (Later patch will rename objlayout_io_state => objlayout_io_res)
    2. Carrier of rw io members into the objio_read/write_paglist API.
       This is removed in this patch.
    
    The {r,w}data received from NFS are passed directly to the
    objio_{read,write}_paglist API. The io_engine is now allocating
    it's own IO state as part of the read/write. The minimal
    functionality that was part of the generic allocation is passed
    to the io_engine.
    
    So part of this patch is rename of:
    	ios->ol_state.foo => ios->foo
    
    At objlayout_{read,write}_done an objlayout_io_state is passed that
    denotes the result of the IO. (Hence the later name change).
    If the IO is successful objlayout calls an objio_free_result() API
    immediately (Which for objio_osd causes the release of the io_state).
    If the IO ended in an error it is hanged onto until reported in
    layout_return and is released later through the objio_free_result()
    API. (All this is not new just renamed and cleaned)
    Signed-off-by: NBoaz Harrosh <bharrosh@panasas.com>
    Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
    96218556
objlayout.c 16.7 KB