diff options
author | Jiri Kosina <jkosina@suse.cz> | 2021-02-23 11:33:13 +0100 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2021-02-23 11:33:13 +0100 |
commit | d6310078d9f8c416e85f641a631aecf58f9c97ff (patch) | |
tree | 58ed5d9818ada3e970d93438083731abd6293ba9 /drivers/md/dm-verity-target.c | |
parent | f8dd50e097b221e35c34b844826db92158ec18c2 (diff) | |
parent | df7b622906f24be954beca94e60c195fde65c6d5 (diff) |
Merge branch 'for-5.12/google' into for-linus
- User experience improvements for hid-google from Nicolas Boichat
Diffstat (limited to 'drivers/md/dm-verity-target.c')
-rw-r--r-- | drivers/md/dm-verity-target.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/md/dm-verity-target.c b/drivers/md/dm-verity-target.c index f74982dcbea0..6b8e5bdd8526 100644 --- a/drivers/md/dm-verity-target.c +++ b/drivers/md/dm-verity-target.c @@ -538,6 +538,15 @@ static int verity_verify_io(struct dm_verity_io *io) } /* + * Skip verity work in response to I/O error when system is shutting down. + */ +static inline bool verity_is_system_shutting_down(void) +{ + return system_state == SYSTEM_HALT || system_state == SYSTEM_POWER_OFF + || system_state == SYSTEM_RESTART; +} + +/* * End one "io" structure with a given error. */ static void verity_finish_io(struct dm_verity_io *io, blk_status_t status) @@ -564,7 +573,8 @@ static void verity_end_io(struct bio *bio) { struct dm_verity_io *io = bio->bi_private; - if (bio->bi_status && !verity_fec_is_enabled(io->v)) { + if (bio->bi_status && + (!verity_fec_is_enabled(io->v) || verity_is_system_shutting_down())) { verity_finish_io(io, bio->bi_status); return; } |