| /* |
| * Copyright (C) 2011 The Chromium OS Authors <chromium-os-dev chromium org> |
| * All Rights Reserved. |
| * |
| * This file is released under the GPLv2. |
| * |
| * Provide error types for use when creating a custom error handler. |
| * See Documentation/device-mapper/dm-verity.txt |
| */ |
| #ifndef DM_VERITY_H |
| #define DM_VERITY_H |
| |
| #include <linux/notifier.h> |
| |
| struct dm_verity_error_state { |
| int code; |
| int transient; /* Likely to not happen after a reboot */ |
| u64 block; |
| const char *message; |
| |
| sector_t dev_start; |
| sector_t dev_len; |
| struct block_device *dev; |
| |
| sector_t hash_dev_start; |
| sector_t hash_dev_len; |
| struct block_device *hash_dev; |
| |
| /* Final behavior after all notifications are completed. */ |
| int behavior; |
| }; |
| |
| /* This enum must be matched to allowed_error_behaviors in dm-verity.c */ |
| enum dm_verity_error_behavior { |
| DM_VERITY_ERROR_BEHAVIOR_EIO = 0, |
| DM_VERITY_ERROR_BEHAVIOR_PANIC, |
| DM_VERITY_ERROR_BEHAVIOR_NONE, |
| DM_VERITY_ERROR_BEHAVIOR_NOTIFY |
| }; |
| |
| |
| int dm_verity_register_error_notifier(struct notifier_block *nb); |
| int dm_verity_unregister_error_notifier(struct notifier_block *nb); |
| |
| #endif /* DM_VERITY_H */ |