From aa2b50294710caba39c6b01ce99f2f6993a42ed2 Mon Sep 17 00:00:00 2001 From: Zhihao Cheng Date: Mon, 11 Nov 2024 17:01:02 +0800 Subject: fsck.ubifs: Add fsck support Add basic process code for fsck.ubifs. There are following modes for fsck: 1. normal mode: Check the filesystem, ask user whether or not to fix the problem as long as inconsistent data is found during fs checking. 2. safe mode: Check and safely repair the filesystem, if there are any data dropping operations needed by fixing, fsck will fail. 3. danger mode: Answer 'yes' to all questions. There two sub modes: a) Check and repair the filesystem according to TNC, data dropping will be reported. If TNC/master/log is corrupted, fsck will fail. b) Check and forcedly repair the filesystem according to TNC, turns to rebuild filesystem if TNC/master/log is corrupted. Always make fsck succeed. 4. check mode: Make no changes to the filesystem, only check the filesystem. 5. rebuild mode: Scan entire UBI volume to find all nodes, and rebuild filesystem, always make fsck success. Signed-off-by: Zhihao Cheng Signed-off-by: David Oberhollenzer --- ubifs-utils/libubifs/budget.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'ubifs-utils/libubifs/budget.c') diff --git a/ubifs-utils/libubifs/budget.c b/ubifs-utils/libubifs/budget.c index 54392a9..5550c9a 100644 --- a/ubifs-utils/libubifs/budget.c +++ b/ubifs-utils/libubifs/budget.c @@ -201,7 +201,7 @@ long long ubifs_calc_available(const struct ubifs_info *c, int min_idx_lebs) static int can_use_rp(__unused struct ubifs_info *c) { /* Fsck can always use reserved pool. */ - return c->program_type != MKFS_PROGRAM_TYPE; + return c->program_type == FSCK_PROGRAM_TYPE; } /** -- cgit v1.2.3