]> git.proxmox.com Git - mirror_ubuntu-disco-kernel.git/commit
ore/exofs: Change ore_check_io API
authorBoaz Harrosh <bharrosh@panasas.com>
Wed, 28 Sep 2011 10:25:50 +0000 (13:25 +0300)
committerBoaz Harrosh <bharrosh@panasas.com>
Fri, 14 Oct 2011 16:54:42 +0000 (18:54 +0200)
commit4b46c9f5cf69505f0bc708995b88b0cc60317ffd
treee5369fe948509c230470f922a0cd89cda60f2692
parent5a51c0c7e9a913649aa65d8233470682bcbb7694
ore/exofs: Change ore_check_io API

Current ore_check_io API receives a residual
pointer, to report partial IO. But it is actually
not used, because in a multiple devices IO there
is never a linearity in the IO failure.

On the other hand if every failing device is reported
through a received callback measures can be taken to
handle only failed devices. One at a time.

This will also be needed by the objects-layout-driver
for it's error reporting facility.

Exofs is not currently using the new information and
keeps the old behaviour of failing the complete IO in
case of an error. (No partial completion)

TODO: Use an ore_check_io callback to set_page_error only
the failing pages. And re-dirty write pages.

Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
fs/exofs/inode.c
fs/exofs/ore.c
include/scsi/osd_ore.h