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(); \ + } +#else +#define iomap_assert(expr) +#endif + /* * Types of block ranges for iomap mappings: */ -- 2.16.4