dm: stripe trigger event on failure
commita25eb9446ad50027bc2082386e5358bedad087ed
authorBrian Wood <brian.j.wood@intel.com>
Fri, 8 Feb 2008 02:11:22 +0000 (8 02:11 +0000)
committerAlasdair G Kergon <agk@redhat.com>
Fri, 8 Feb 2008 02:11:22 +0000 (8 02:11 +0000)
treed9d2e5d26dbf403efa69dd52aec94bf37c82da78
parentfb8b284806124bef250196007d7373ea3fe26194
dm: stripe trigger event on failure

This patch adds the stripe_end_io function to process errors that might
occur after an IO operation. As part of this there are a number of
enhancements made to record and trigger events:

- New atomic variable in struct stripe to record the number of
errors each stripe volume device has experienced (could be used
later with uevents to report back directly to userspace)

- New workqueue/work struct setup to process the trigger_event function

- New end_io function. It is here that testing for BIO error conditions
take place. It determines the exact stripe that cause the error,
records this in the new atomic variable, and calls the queue_work() function

- New trigger_event function to process failure events. This
calls dm_table_event()

Signed-off-by: Brian Wood <brian.j.wood@intel.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
drivers/md/dm-stripe.c