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 (3): jbd2: make jdb2_debug module parameter per device jbd2: update the arguments of jbd_debug() ext4: update the arguments of jbd_debug() fs/ext4/balloc.c | 2 +- fs/ext4/ext4_jbd2.c | 4 +- fs/ext4/fast_commit.c | 60 ++++++++++++++----------- fs/ext4/indirect.c | 4 +- fs/ext4/inode.c | 3 +- fs/ext4/namei.c | 10 ++--- fs/ext4/super.c | 15 ++++--- fs/jbd2/checkpoint.c | 6 +-- fs/jbd2/commit.c | 32 ++++++------- fs/jbd2/journal.c | 101 ++++++++++++++++++++++++++++++++---------- fs/jbd2/recovery.c | 32 ++++++------- fs/jbd2/revoke.c | 8 ++-- fs/jbd2/transaction.c | 30 ++++++------- include/linux/jbd2.h | 41 ++++++++++------- 14 files changed, 209 insertions(+), 139 deletions(-) -- 2.30.0