diff options
Diffstat (limited to 'ubifs-utils/fsck.ubifs/fsck.ubifs.c')
-rw-r--r-- | ubifs-utils/fsck.ubifs/fsck.ubifs.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/ubifs-utils/fsck.ubifs/fsck.ubifs.c b/ubifs-utils/fsck.ubifs/fsck.ubifs.c index 2fd68df..85175cf 100644 --- a/ubifs-utils/fsck.ubifs/fsck.ubifs.c +++ b/ubifs-utils/fsck.ubifs/fsck.ubifs.c @@ -325,13 +325,17 @@ static bool fsck_can_ignore_failure(const struct ubifs_info *c, return false; } -static const unsigned int reason_mapping_table[] = {}; +static const unsigned int reason_mapping_table[] = { + BUD_CORRUPTED, /* FR_H_BUD_CORRUPTED */ + TNC_DATA_CORRUPTED, /* FR_H_TNC_DATA_CORRUPTED */ +}; -static bool fsck_handle_failure(const struct ubifs_info *c, unsigned int reason) +static bool fsck_handle_failure(const struct ubifs_info *c, unsigned int reason, + void *priv) { ubifs_assert(c, FSCK(c)->mode != REBUILD_MODE); - return fix_problem(c, reason_mapping_table[reason]); + return fix_problem(c, reason_mapping_table[reason], priv); } static void signal_cancel(int sig) @@ -426,6 +430,7 @@ int main(int argc, char *argv[]) /* * Init: Read superblock * Step 1: Read master & init lpt + * Step 2: Replay journal */ err = ubifs_load_filesystem(c); if (err) { |