EnhanceIO
EnhanceIO copied to clipboard
'kernel BUG at /home/adam/code/EnhanceIO/Driver/enhanceio/eio_ttc.c:1168!'
This assertion keeps firing on a 4.18 kernel: EIO_ASSERT(op != REQ_OP_READ);
It always fires once during startup and then typically fires again when doing 'sync'. Subsequent IO operations on the source disk also usually (but not always) silently start to hang.
Example trace:
[ 2850.000007] Call Trace: [ 2850.000015] eio_map+0x280/0x1780 [enhanceio] [ 2850.000020] ? iget5_locked+0x2e/0x90 [ 2850.000024] ? bdev_test+0x20/0x20 [ 2850.000031] eio_make_request_fn+0x36d/0x4d0 [enhanceio] [ 2850.000036] ? generic_make_request_checks+0x387/0x630 [ 2850.000041] ? wait_woken+0x80/0x80 [ 2850.000045] ? mempool_alloc_slab+0x15/0x20 [ 2850.000048] generic_make_request+0x1a4/0x400 [ 2850.000052] submit_bio+0x73/0x140 [ 2850.000054] ? submit_bio+0x73/0x140 [ 2850.000058] ? _cond_resched+0x19/0x40 [ 2850.000117] vdev_disk_io_start+0x61e/0x760 [zfs] [ 2850.000126] ? spl_kmem_cache_alloc+0x64/0x140 [spl] [ 2850.000129] ? _cond_resched+0x19/0x40 [ 2850.000132] ? mutex_lock+0x12/0x40 [ 2850.000139] ? taskq_init_ent+0x3c/0x80 [spl] [ 2850.000142] ? _cond_resched+0x19/0x40 [ 2850.000194] zio_vdev_io_start+0xa8/0x340 [zfs] [ 2850.000241] ? vdev_disk_open+0x540/0x540 [zfs] [ 2850.000290] ? zio_vdev_io_start+0xa8/0x340 [zfs] [ 2850.000337] zio_nowait+0xb1/0x150 [zfs] [ 2850.000381] zio_flush+0x2d/0x30 [zfs] [ 2850.000426] zil_commit_writer+0x769/0x7c0 [zfs] [ 2850.000471] zil_commit.part.15+0x93/0x100 [zfs] [ 2850.000514] zil_commit+0x17/0x20 [zfs] [ 2850.000558] zfs_sync+0x6e/0xb0 [zfs] [ 2850.000603] zpl_sync_fs+0x50/0x80 [zfs] [ 2850.000607] sync_fs_one_sb+0x23/0x30 [ 2850.000611] iterate_supers+0xa2/0x110 [ 2850.000614] ? __ia32_sys_fdatasync+0x20/0x20 [ 2850.000618] ksys_sync+0x62/0xb0 [ 2850.000622] __ia32_sys_sync+0xe/0x20 [ 2850.000626] do_syscall_64+0x5a/0x120 [ 2850.000630] entry_SYSCALL_64_after_hwframe+0x44/0xa9
What are your cache settings?
It happens with fifo/wt, fifo/wb, and lru/wb
Removing the assert appears to make enhanceio work okay, but it doesn't make me feel confident. :)
I ask as I've been having errors with write-through in some scenarios. Working on more thorough testing for that specific problem.
Oddly enough though I've never seen this specific assertion fire on any of my systems running kernel 5.0. I doubt removing it will fix anything; More likely it's just suppressing the issue. I'f possible, I'd try updating your kernel and see if that fixes it.
This may be one of those rare problems where the source lies elsewhere. That or someone needs to patch the compat.h header again, but it's strange that it's occurring on 4.18 but not 5.0.
Out of curiosity. What dostro are you using?
Ubuntu 18.04.x with the 'hwe' kernel flavors.
Have you tried the normal LTS kernel? Perhaps it's in issue with the current hwe kernel.
If I have time when I get home, I'll run some tests.