pstore/zone: Provide way to skip "broken" zone for MTD devices
One requirement to support MTD devices in pstore/zone is having a way to declare certain regions as broken. Add this support to pstore/zone. The MTD driver should return -ENOMSG when encountering a bad region, which tells pstore/zone to skip and try the next one. Signed-off-by: WeiXiong Liao <liaoweixiong@allwinnertech.com> Link: https://lore.kernel.org/lkml/20200511233229.27745-8-keescook@chromium.org/ Co-developed-by: Colin Ian King <colin.king@canonical.com> Signed-off-by: Colin Ian King <colin.king@canonical.com> Link: //lore.kernel.org/lkml/20200512173801.222666-1-colin.king@canonical.com Signed-off-by: Kees Cook <keescook@chromium.org>
This commit is contained in:
@@ -23,11 +23,15 @@ typedef ssize_t (*pstore_zone_write_op)(const char *, size_t, loff_t);
|
||||
* @read: The general read operation. Both of the function parameters
|
||||
* @size and @offset are relative value to storage.
|
||||
* On success, the number of bytes should be returned, others
|
||||
* means error.
|
||||
* @write: The same as @read, but -EBUSY means try to write again later.
|
||||
* mean error.
|
||||
* @write: The same as @read, but the following error number:
|
||||
* -EBUSY means try to write again later.
|
||||
* -ENOMSG means to try next zone.
|
||||
* @panic_write:The write operation only used for panic case. It's optional
|
||||
* if you do not care panic log. The parameters and return value
|
||||
* are the same as @read.
|
||||
* if you do not care panic log. The parameters are relative
|
||||
* value to storage.
|
||||
* On success, the number of bytes should be returned, others
|
||||
* excluding -ENOMSG mean error. -ENOMSG means to try next zone.
|
||||
*/
|
||||
struct pstore_zone_info {
|
||||
struct module *owner;
|
||||
|
Reference in New Issue
Block a user