The code path going through verity_work, was not calling
verity_error. This meant invalid block errors were not
being passed to the verity-chromeos error handler.
BUG=chromium:222545
TEST=manually corrupt root file system, reboot
Change-Id: I1f1c81feccc6ca5654dc81de3edfc97f240bea01
Signed-off-by: Paul Taysom <taysom@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/46376
Reviewed-by: Mandeep Singh Baines <msb@chromium.org>
struct bio *bio = io->bio;
struct dm_verity *v = io->v;
+ if (error)
+ verity_error(v, io, error);
bio->bi_end_io = io->orig_bi_end_io;
bio->bi_private = io->orig_bi_private;
{
struct dm_verity_io *io = bio->bi_private;
- if (error) {
- verity_error(io->v, io, error);
- verity_finish_io(io, error);
- return;
- }
-
INIT_WORK(&io->work, verity_work);
queue_work(io->v->verify_wq, &io->work);
}