[RFC PATCH v2 0/4] make jbd2 debug switch per device

Chunguang Xu
2021-01-23T12:02:32Z

On a multi-disk machine, because jbd2 debugging switch is global, this
confuses the logs of multiple disks. It is not easy to distinguish the
logs of each disk and the amount of generated logs is very large. Maybe
a separate debugging switch for each disk would be better, so that we
can easily distinguish the logs of a certain disk.

We can enable jbd2 debugging of a device in the following ways:
echo X > /proc/fs/jbd2/sdX/jbd2_debug

But there is a small disadvantage here. Because the debugging switch is
placed in the journal_t object, the log before the object is initialized
will be lost. However, usually this will not have much impact on
debugging.

Chunguang Xu (4):
jbd2: make jdb2_debug module parameter per device
jbd2: introduce some new log interfaces
jbd2: replace jbd_debug with the new log interface
ext4: replace jbd_debug with the new log interface

fs/ext4/balloc.c | 2 +-
fs/ext4/ext4_jbd2.c | 3 +-
fs/ext4/fast_commit.c | 64 +++++++++++++-----------
fs/ext4/indirect.c | 4 +-
fs/ext4/inode.c | 3 +-
fs/ext4/namei.c | 10 ++--
fs/ext4/super.c | 16 +++---
fs/jbd2/checkpoint.c | 6 +--
fs/jbd2/commit.c | 36 ++++++-------
fs/jbd2/journal.c | 114 +++++++++++++++++++++++++++++-------------
fs/jbd2/recovery.c | 59 +++++++++++-----------
fs/jbd2/revoke.c | 8 +--
fs/jbd2/transaction.c | 35 ++++++-------
include/linux/jbd2.h | 66 +++++++++++++++++-------
14 files changed, 258 insertions(+), 168 deletions(-)

--
2.30.0