remarkable-linux/fs/nfs/objlayout
Boaz Harrosh adb58535e6 pnfs-obj: report errors and .encode_layoutreturn Implementation.
An io_state pre-allocates an error information structure for each
possible osd-device that might error during IO. When IO is done if all
was well the io_state is freed. (as today). If the I/O has ended with an
error, the io_state is queued on a per-layout err_list. When eventually
encode_layoutreturn() is called, each error is properly encoded on the
XDR buffer and only then the io_state is removed from err_list and
de-allocated.

It is up to the io_engine to fill in the segment that fault and the type
of osd_error that occurred. By calling objlayout_io_set_result() for
each failing device.

In objio_osd:
* Allocate io-error descriptors space as part of io_state
* Use generic objlayout error reporting at end of io.

Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Signed-off-by: Benny Halevy <bhalevy@panasas.com>
2011-05-29 20:54:45 +03:00
..
Kbuild pnfs-obj: decode layout, alloc/free lseg 2011-05-29 20:53:06 +03:00
objio_osd.c pnfs-obj: report errors and .encode_layoutreturn Implementation. 2011-05-29 20:54:45 +03:00
objlayout.c pnfs-obj: report errors and .encode_layoutreturn Implementation. 2011-05-29 20:54:45 +03:00
objlayout.h pnfs-obj: report errors and .encode_layoutreturn Implementation. 2011-05-29 20:54:45 +03:00
pnfs_osd_xdr_cli.c