aboutsummaryrefslogtreecommitdiff
path: root/ubifs-utils/fsck.ubifs/fsck.ubifs.c
diff options
context:
space:
mode:
Diffstat (limited to 'ubifs-utils/fsck.ubifs/fsck.ubifs.c')
-rw-r--r--ubifs-utils/fsck.ubifs/fsck.ubifs.c11
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) {