aboutsummaryrefslogtreecommitdiff
path: root/ubifs-utils/libubifs/log.c
diff options
context:
space:
mode:
authorZhihao Cheng <chengzhihao1@huawei.com>2024-11-11 17:07:58 +0800
committerDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2024-11-11 10:32:46 +0100
commit0fbfbf59714b73a0d0c487c454c22d72b2c78e68 (patch)
tree30912f1d80c466390f24fc8cc9f39b3a7d829c27 /ubifs-utils/libubifs/log.c
parent585047e6c4136a474f3ff22a0e9e839cc6ede75d (diff)
fsck.ubifs: Consolidate log
This is the 4/18 step of fsck. Consolidate log to ensure enough space in log area. There could be following possible errors: 1. corrupted scanning data in log area: danger mode with rebuild_fs and normal mode with 'yes' answer will turn to rebuild filesystem, other modes will exit. Signed-off-by: Zhihao Cheng <chengzhihao1@huawei.com> Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'ubifs-utils/libubifs/log.c')
-rw-r--r--ubifs-utils/libubifs/log.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/ubifs-utils/libubifs/log.c b/ubifs-utils/libubifs/log.c
index 0d45926..c3dfd98 100644
--- a/ubifs-utils/libubifs/log.c
+++ b/ubifs-utils/libubifs/log.c
@@ -711,6 +711,7 @@ int ubifs_consolidate_log(struct ubifs_info *c)
destroy_done_tree(&done_tree);
vfree(buf);
if (write_lnum == c->lhead_lnum) {
+ set_failure_reason_callback(c, FR_DATA_CORRUPTED);
ubifs_err(c, "log is too full");
return -EINVAL;
}