On Sun, Sep 01, 2019 at 03:08:22PM -0500, Goldwyn Rodrigues wrote: > From: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> > > To improve debugging abilities, especially invalid option > asserts. > > Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> > --- > fs/Kconfig | 3 +++ > include/linux/iomap.h | 11 +++++++++++ > 2 files changed, 14 insertions(+) > > diff --git a/fs/Kconfig b/fs/Kconfig > index bfb1c6095c7a..4bed5df9b55f 100644 > --- a/fs/Kconfig > +++ b/fs/Kconfig > @@ -19,6 +19,9 @@ if BLOCK > > config FS_IOMAP > bool > +config FS_IOMAP_DEBUG > + bool "Debugging for the iomap code" > + depends on FS_IOMAP > > source "fs/ext2/Kconfig" > source "fs/ext4/Kconfig" > diff --git a/include/linux/iomap.h b/include/linux/iomap.h > index bc499ceae392..209b6c93674e 100644 > --- a/include/linux/iomap.h > +++ b/include/linux/iomap.h > @@ -18,6 +18,17 @@ struct page; > struct vm_area_struct; > struct vm_fault; > > +#ifdef CONFIG_FS_IOMAP_DEBUG > +#define iomap_assert(expr) \ > + if(!(expr)) { \ > + printk( "Assertion failed! %s,%s,%s,line=%d\n",\ > +#expr,__FILE__,__func__,__LINE__); \ > + BUG(); \ Hmm, this log message ought to have a priority level, right? #define IOMAP_ASSERT(expr) do { WARN_ON(!(expr)); } while(0) (or crib ASSERT/ass{fail,warn} from XFS? :D) > + } > +#else > +#define iomap_assert(expr) ((void)0) So we don't just have stray semicolons in the code stream? --D > +#endif > + > /* > * Types of block ranges for iomap mappings: > */ > -- > 2.16.4 >