[$] Block-layer error injection
Storage code has to cope with hardware that fails in inconvenientways, but coaxing a healthy disk into producing those failures ondemand, for testing, is usually not possible. The kernelprovides several ways to inject block-layer I/O errors, but none of those can select the operation to fail, pick the status code to return, or target a diskdirectly without employing a stacked device on top. Use of a stacked device meansthe test runs against the mapper device, not the disk it was meant toexercise. A patchseries from Christoph Hellwig adds a configurable error-injectioninterface that does all three things that the current error-injection codelacks, controlled by a per-disk debugfsfile.