]> git.baikalelectronics.ru Git - kernel.git/commit
dm: stripe trigger event on failure
authorBrian Wood <brian.j.wood@intel.com>
Fri, 8 Feb 2008 02:11:22 +0000 (02:11 +0000)
committerAlasdair G Kergon <agk@redhat.com>
Fri, 8 Feb 2008 02:11:22 +0000 (02:11 +0000)
commit8e7bd1c57f4f04dc5ea1590d1afd2a0ad47f0135
treed9d2e5d26dbf403efa69dd52aec94bf37c82da78
parent56aaa92a46ae7801ac90beffcc925116f9488f12
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