[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <391060208.195010.1704288780905.JavaMail.zimbra@nod.at>
Date: Wed, 3 Jan 2024 14:33:00 +0100 (CET)
From: Richard Weinberger <richard@....at>
To: chengzhihao1 <chengzhihao1@...wei.com>
Cc: david oberhollenzer <david.oberhollenzer@...ma-star.at>,
Miquel Raynal <miquel.raynal@...tlin.com>,
Sascha Hauer <s.hauer@...gutronix.de>,
Tudor Ambarus <Tudor.Ambarus@...aro.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
linux-mtd <linux-mtd@...ts.infradead.org>
Subject: Re: [PATCH RFC 00/17] ubifs: Add filesystem repair support
----- Ursprüngliche Mail -----
> Von: "chengzhihao1" <chengzhihao1@...wei.com>
>> 2. Journal replay is also needed after a clean umount. The reason is that
>> UBIFS does no commit at umount time.
>
> I agree, there exists one situation that UBIFS replays journal even
> after clean umount.
> P1 ubifs_bgt umount
> mkdir
> run_bg_commit
> c->cmt_state = COMMIT_RUNNING_BACKGROUND
> do_commit
> ubifs_log_start_commit(c, &new_ltail_lnum) // log start
> up_write(&c->commit_sem)
> touch
> ubifs_jnl_update // new buds added
> cleanup_mnt
> deactivate_super
> fs->kill_sb
> generic_shutdown_super
> sync_filesystem
> ubifs_sync_fs
> ubifs_run_commit
> wait_for_commit // wait bg commit,
> 'touch' won't be commited, it will be replayed in next mount
BTW: I was imprecise, sorry for that.
The issue is that even after a commit you need to replay the journal.
Thanks,
//richard
Powered by blists - more mailing lists