diff --git a/module/zfs/include/sys/zfs_debug.h b/module/zfs/include/sys/zfs_debug.h index 3f3d8125e8..f08d7cd2bc 100644 --- a/module/zfs/include/sys/zfs_debug.h +++ b/module/zfs/include/sys/zfs_debug.h @@ -55,8 +55,16 @@ extern int zfs_flags; #ifdef ZFS_DEBUG #if defined(_KERNEL) && defined(HAVE_SPL) -#include -#define dprintf(...) CDEBUG_LIMIT(D_DPRINTF, __VA_ARGS__) +/* + * Log ZFS debug messages as the spl SS_USER1 subsystem. + */ +#include + +#ifdef SS_DEBUG_SUBSYS +#undef SS_DEBUG_SUBSYS +#endif +#define SS_DEBUG_SUBSYS SS_USER1 +#define dprintf(...) SDEBUG_LIMIT(SD_DPRINTF, __VA_ARGS__) #else extern void __dprintf(const char *file, const char *func, int line, const char *fmt, ...); diff --git a/module/zfs/vdev_disk.c b/module/zfs/vdev_disk.c index 799587a809..dbf9b08e76 100644 --- a/module/zfs/vdev_disk.c +++ b/module/zfs/vdev_disk.c @@ -235,15 +235,13 @@ BIO_END_IO_PROTO(vdev_disk_physio_completion, bio, size, error) int rc; /* Fatal error but print some useful debugging before asserting */ - if (dr == NULL) { - printk("FATAL: bio->bi_private == NULL\n" - "bi_next: %p, bi_flags: %lx, bi_rw: %lu, bi_vcnt: %d\n" - "bi_idx: %d, bi_size: %d, bi_end_io: %p, bi_cnt: %d\n", - bio->bi_next, bio->bi_flags, bio->bi_rw, bio->bi_vcnt, - bio->bi_idx, bio->bi_size, bio->bi_end_io, - atomic_read(&bio->bi_cnt)); - SBUG(); - } + if (dr == NULL) + PANIC("dr == NULL, bio->bi_private == NULL\n" + "bi_next: %p, bi_flags: %lx, bi_rw: %lu, bi_vcnt: %d\n" + "bi_idx: %d, bi_size: %d, bi_end_io: %p, bi_cnt: %d\n", + bio->bi_next, bio->bi_flags, bio->bi_rw, bio->bi_vcnt, + bio->bi_idx, bio->bi_size, bio->bi_end_io, + atomic_read(&bio->bi_cnt)); #ifndef HAVE_2ARGS_BIO_END_IO_T if (bio->bi_size)