All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 0/3] ext4, jbd2: journal cycled record transactions between each mount
@ 2023-03-22  1:33 Zhang Yi
  2023-03-22  1:33 ` [PATCH v5 1/3] jbd2: continue to record log " Zhang Yi
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Zhang Yi @ 2023-03-22  1:33 UTC (permalink / raw)
  To: linux-ext4; +Cc: tytso, adilger.kernel, jack, yi.zhang, yi.zhang, yukuai3

From: Zhang Yi <yi.zhang@huawei.com>

v4->v5:
 - Update doc about journal superblock in journal.rst.
v3->v4:
 - Remove journal_cycle_record mount option, always enable it on ext4.
v2->v3:
 - Prevent warning if mount old image with journal_cycle_record enabled.
 - Limit this mount option into ext4 iamge only.
v1->v2:
 - Fix the format type warning.
 - Add more check of journal_cycle_record mount options in remount.

Hello!

This patch set add a new journal option 'JBD2_CYCLE_RECORD' and always
enable on ext4. It saves journal head for a clean unmounted file system
in the journal super block, which could let us record journal
transactions between each mount continuously. It could help us to do
journal backtrack and find root cause from a corrupted filesystem.
Current filesystem's corruption analysis is difficult and less useful
information, especially on the real products. It is useful to some
extent, especially for the cases of doing fuzzy tests and deploy in some
shout-runing products.

I've sent out the corresponding e2fsprogs part v2 separately[1], all of
these have done below test cases and also passed xfstests in auto mode.
 - Mount a filesystem with empty journal.
 - Mount a filesystem with journal ended in an unrecovered complete
   transaction.
 - Mount a filesystem with journal ended in an incomplete transaction.
 - Mount a corrupted filesystem with out of bound journal s_head.
 - Mount old filesystem without journal s_head set.

Any comments are welcome.

[1] https://lore.kernel.org/linux-ext4/20230317091716.4150992-1-yi.zhang@huaweicloud.com

Thanks!
Yi.

v4: https://lore.kernel.org/linux-ext4/20230317090926.4149399-1-yi.zhang@huaweicloud.com/
v3: https://lore.kernel.org/linux-ext4/20230314140522.3266591-1-yi.zhang@huaweicloud.com/
v2: https://lore.kernel.org/linux-ext4/20230202142224.3679549-1-yi.zhang@huawei.com/
v1: https://lore.kernel.org/linux-ext4/20230119034600.3431194-3-yi.zhang@huaweicloud.com/

Zhang Yi (3):
  jbd2: continue to record log between each mount
  ext4: add journal cycled recording support
  ext4: update doc about journal superblock description

 Documentation/filesystems/ext4/journal.rst |  7 ++++++-
 fs/ext4/super.c                            |  5 +++++
 fs/jbd2/journal.c                          | 18 ++++++++++++++++--
 fs/jbd2/recovery.c                         | 22 +++++++++++++++++-----
 include/linux/jbd2.h                       |  9 +++++++--
 5 files changed, 51 insertions(+), 10 deletions(-)

-- 
2.31.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-06-15 15:01 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-22  1:33 [PATCH v5 0/3] ext4, jbd2: journal cycled record transactions between each mount Zhang Yi
2023-03-22  1:33 ` [PATCH v5 1/3] jbd2: continue to record log " Zhang Yi
2023-03-22  1:33 ` [PATCH v5 2/3] ext4: add journal cycled recording support Zhang Yi
2023-03-22  1:33 ` [PATCH v5 3/3] ext4: update doc about journal superblock description Zhang Yi
2023-03-22 21:34 ` [PATCH v5 0/3] ext4, jbd2: journal cycled record transactions between each mount Andreas Dilger
2023-03-23  8:20   ` Zhang Yi
2023-06-15 14:59 ` Theodore Ts'o

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.