On Oct 19, 2020, at 3:02 AM, Chunguang Xu wrote: > > There are currently multiple forms of assertion, such as J_ASSERT(). > J_ASEERT is provided for the jbd module, which is a public module. (typo) "J_ASSERT()" > Maybe we should use custom ASSERT() like other file systems, such as > xfs, which would be better. My one minor complaint is that "ASSERT()" is a very generic name and is likely to cause conflicts with ASSERT in other headers. That said, I also see many other filesystems using their own ASSERT() macro, so I guess they are all in private headers only? Some minor comments/questions below, but not worth changing the patch unless you think they are important... You can add: Reviewed-by: Andreas Dilger > @@ -185,7 +185,7 @@ static int ext4_init_block_bitmap(struct super_block *sb, > struct ext4_sb_info *sbi = EXT4_SB(sb); > ext4_fsblk_t start, tmp; > > - J_ASSERT_BH(bh, buffer_locked(bh)); > + ASSERT(buffer_locked(bh)); I thought J_ASSERT_BH() did something useful, but J_ASSERT_BH() just maps to J_ASSERT() internally anyway. > +#define ASSERT(assert) \ > +do { \ > + if (unlikely(!(assert))) { \ > + printk(KERN_EMERG \ > + "Assertion failure in %s() at %s:%d: \"%s\"\n", \ (style) better to use single quotes '%s' to avoid the need to escape \". Cheers, Andreas