Uwe, ----- Ursprüngliche Mail ----- > [ 57.807978] UBIFS error (ubi0:0 pid 262): ubifs_assert_failed: UBIFS assert > failed: c->lhead_lnum != c->ltail_lnum, in fs/ubifs/log.c:412 It took me a while to understand what is going on and why you are facing this. The assert seems to trigger only if you mount a filesystem where both log heads point to UBIFS_LOG_LNUM, hence empty log area in initial state, and you change more filesystem contents than the log can hold at once. After reviewing UBIFS log code I found something odd. UBIFS does not initialize c->min_log_bytes, it is by default 0. c->min_log_bytes can have two values: - 0: commit in progress, remaining log area may be used - leb_size: no commit in progress, keep leb_size bytes reserved for a future commit. So having it 0 after a mount seems wrong to me because after mounting UBIFS there is no commit in progress. Can you please give this change a try? With this applied I can no longer trigger the assert. I'm still not entirely sure whether the assert is correct at all, review in progress... :-) diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c index 6cfc494050be..b4984da44251 100644 --- a/fs/ubifs/super.c +++ b/fs/ubifs/super.c @@ -607,6 +607,9 @@ static int init_constants_early(struct ubifs_info *c) c->max_bu_buf_len = UBIFS_MAX_BULK_READ * UBIFS_MAX_DATA_NODE_SZ; if (c->max_bu_buf_len > c->leb_size) c->max_bu_buf_len = c->leb_size; + + c->min_log_bytes = c->leb_size; + return 0; } Thanks, //richard ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/