Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kernel BUG with QAT during decompression #9276

Closed
luki-mbi opened this issue Sep 3, 2019 · 3 comments
Closed

Kernel BUG with QAT during decompression #9276

luki-mbi opened this issue Sep 3, 2019 · 3 comments

Comments

@luki-mbi
Copy link

luki-mbi commented Sep 3, 2019

System information

Type Version/Name
Distribution Name Ubuntu
Distribution Version 18.04.1
Linux Kernel 4.15.0-36-generic
Architecture x86_64
ZFS Version 0.8.1-1 (63b88f7)
SPL Version 0.8.1-1

Describe the problem you're observing

Kernel oops in z_uncompress or qat_compress_impl when reading a file with dd from a dataset with gzip compression and QAT enabled, after pressing Ctrl+C to abort the command. This is reproducible nearly every time on two different servers, one with PCIe DH8950 card and with with the Intel C627 chipset on the motherboard. Aborting a file copy doesn't seem to trigger it, only dd or cat to /dev/null (so far).

This is a new system with the C627 chipset and is not yet in production and contains no important data. It is otherwise stable for days during benchmarks with fio. I observed the same problem a year ago on different system with the PCIe card, but that was before 0.8.0 was officially released so I figured kinks are still being worked out.

Describe how to reproduce the problem

dd if=/jbod-2/test/test of=/dev/null bs=1M
(Ctrl+C)

or:

pv /jbod-2/test/test > /dev/null
(Ctrl+C)

Include any warning/errors/backtraces from the system logs

The BUG generates one of the two stack traces (50/50 chance). Haven't seen any other ones yet.

Trace 1:

BUG: unable to handle kernel paging request at 00000001f87d8a3b
IP: z_uncompress+0xc6/0x110 [spl]
PGD 0 P4D 0 
SMP NOPTI
Modules linked in: nfsv3 rpcsec_gss_krb5 nfsv4 nfs fscache i40e(OE) zfs(POE) binfmt_misc iptable_nat nf_nat_ipv4 nf_nat xt_tcpudp nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack nf_conntrack iptable_filter usdm_drv(OE) zunicode(POE) zavl(POE) zlua(POE) icp(POE) zcommon(POE) znvpair(POE) spl(OE) qat_api(OE) intel_rapl skx_edac x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm irqbypass intel_cstate intel_rapl_perf ipmi_ssif joydev input_leds qat_c62x(OE) intel_qat(OE) uio authenc ioatdma mei_me lpc_ich shpchp mei dca ipmi_si ipmi_devintf ipmi_msghandler acpi_power_meter acpi_pad mac_hid sch_fq_codel nfsd ib_iser auth_rpcgss rdma_cm nfs_acl iw_cm lockd ib_cm grace ib_core sunrpc iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi ip_tables x_tables autofs4 btrfs zstd_compress
 raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq libcrc32c raid1 raid0 multipath linear ses enclosure hid_generic usbhid hid crct10dif_pclmul crc32_pclmul ghash_clmulni_intel i2c_algo_bit pcbc ttm drm_kms_helper aesni_intel mpt3sas syscopyarea aes_x86_64 sysfillrect crypto_simd sysimgblt raid_class glue_helper fb_sys_fops cryptd scsi_transport_sas ptp drm pps_core i2c_i801 ahci libahci wmi [last unloaded: i40e]
CPU: 5 PID: 18549 Comm: dd Tainted: P           OE    4.15.0-36-generic #39-Ubuntu
Hardware name: Supermicro Super Server/X11DPH-Tq, BIOS 3.1 05/22/2019
RIP: 0010:z_uncompress+0xc6/0x110 [spl]
RSP: 0018:ffffc12ba190f830 EFLAGS: 00010246
RAX: 0000000000100000 RBX: 0000000000000001 RCX: 0000000000000001
RDX: 00000000000000c0 RSI: 0000000000000001 RDI: ffffc12ba190f830
RBP: ffffc12ba190f8a8 R08: 00000000005a4e1e R09: 000000000052c5d4
R10: 0000000000000000 R11: 0000000000000000 R12: 00000001f87d8a3b
R13: 00000000000ac000 R14: ffffc12d001c8000 R15: ffffc12ba190f8b8
FS:  00007f30a572d540(0000) GS:ffff9effffd40000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00000001f87d8a3b CR3: 000000176106e005 CR4: 00000000007606e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
PKRU: 55555554
Call Trace:
 gzip_decompress+0x70/0xa0 [zfs]
 zio_decompress_data_buf+0x3b/0x70 [zfs]
 zio_decompress_data+0x49/0xb0 [zfs]
 arc_buf_fill+0x14a/0xb60 [zfs]
 ? zio_data_buf_alloc+0x55/0x60 [zfs]
 arc_buf_alloc_impl.isra.38+0x21e/0x2f0 [zfs]
 arc_read+0xd40/0xff0 [zfs]
 ? dbuf_rele_and_unlock+0x620/0x620 [zfs]
 dbuf_read+0x611/0xb70 [zfs]
 dmu_buf_hold_array_by_dnode+0x10b/0x450 [zfs]
 dmu_read_uio_dnode+0x49/0x100 [zfs]
 dmu_read_uio_dbuf+0x49/0x70 [zfs]
 zfs_read+0x27b/0x440 [zfs]
 zpl_read_common_iovec+0x97/0xe0 [zfs]
 zpl_iter_read+0xfc/0x170 [zfs]
 new_sync_read+0xe4/0x130
 __vfs_read+0x29/0x40
 vfs_read+0x8e/0x130
 SyS_read+0x55/0xc0
 do_syscall_64+0x73/0x130
 entry_SYSCALL_64_after_hwframe+0x3d/0xa2
RIP: 0033:0x7f30a522e081
RSP: 002b:00007ffd6e83b858 EFLAGS: 00000246 ORIG_RAX: 0000000000000000
RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 00007f30a522e081
RDX: 0000000000080000 RSI: 00007f30a509d010 RDI: 0000000000000003
RBP: 0000000000080000 R08: 00007ffd6e83b8b0 R09: 00007ffd6e83bb48
R10: 00007ffd6e83b860 R11: 0000000000000246 R12: 00007f30a509d010
R13: 0000000000000000 R14: 00007ffd6e83b8d0 R15: 0000564c27f984c0
Code: 3d 20 7f 00 00 e8 2b 86 ff ff 83 fb 02 74 58 83 fb fb 75 32 48 83 7d 90 00 b8 fd ff ff ff 0f 44 d8 eb 23 48 8b 45 b0 48 8d 7d 88 <49> 89 04 24 e8 71 2a 84 d2 89 c3 48 8b 75 c8 48 8b 3d e4 7e 00 
RSP: ffffc12ba190f830
CR2: 00000001f87d8a3b
---[ end trace 2bf3a8c5536e13da ]---

Trace 2:

BUG: unable to handle kernel paging request at ffff9c9fa1e11001
IP: qat_compress_impl+0x778/0x940 [zfs]
PGD 1fff87c067 P4D 1fff87c067 PUD 0 
SMP NOPTI
Modules linked in: binfmt_misc zfs(POE) iptable_nat nf_nat_ipv4 nf_nat xt_tcpudp nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack nf_conntrack iptable_filter usdm_drv(OE) intel_rapl skx_edac x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm zunicode(POE) zavl(POE) irqbypass zlua(POE) intel_cstate icp(POE) intel_rapl_perf zcommon(POE) znvpair(POE) ipmi_ssif spl(OE) qat_api(OE) qat_c62x(OE) intel_qat(OE) uio authenc mei_me ioatdma joydev input_leds lpc_ich shpchp mei dca ipmi_si ipmi_devintf ipmi_msghandler acpi_power_meter acpi_pad mac_hid sch_fq_codel ib_iser rdma_cm iw_cm ib_cm nfsd ib_core auth_rpcgss iscsi_tcp nfs_acl libiscsi_tcp lockd libiscsi grace scsi_transport_iscsi sunrpc ip_tables x_tables autofs4 btrfs zstd_compress raid10 raid456 async_raid6_recov async_memcpy async_pq
 async_xor async_tx xor raid6_pq libcrc32c raid1 raid0 multipath linear hid_generic usbhid hid ses enclosure crct10dif_pclmul crc32_pclmul i2c_algo_bit ghash_clmulni_intel ttm pcbc drm_kms_helper syscopyarea aesni_intel sysfillrect sysimgblt aes_x86_64 fb_sys_fops mpt3sas crypto_simd glue_helper raid_class cryptd scsi_transport_sas drm i40e(OE) ptp pps_core i2c_i801 ahci libahci wmi [last unloaded: zfs]
CPU: 24 PID: 7571 Comm: dd Tainted: P           OE    4.15.0-36-generic #39-Ubuntu
Hardware name: Supermicro Super Server/X11DPH-Tq, BIOS 3.1 05/22/2019
RIP: 0010:qat_compress_impl+0x778/0x940 [zfs]
RSP: 0018:ffff9c9e820af740 EFLAGS: 00010246
RAX: 0000000001000000 RBX: ffff9c9e820af7c8 RCX: ffff9c9ea1e11000
RDX: 00000000ffffffff RSI: 0000000000000246 RDI: ffff9c9e820af810
RBP: ffff9c9e820af858 R08: ffff88cd7ff1a9b0 R09: 0000000000001fd6
R10: 0000000000000000 R11: 0000000000000c6c R12: ffff9c9e820af7c0
R13: ffff9c9e820af7b8 R14: ffff9c9e820af7d0 R15: 0000000000000000
FS:  00007f3a2444a540(0000) GS:ffff88cd7ff00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffff9c9fa1e11001 CR3: 0000003fbad58004 CR4: 00000000007606e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
PKRU: 55555554
Call Trace:
 qat_compress+0x21/0x90 [zfs]
 gzip_decompress+0x5b/0xa0 [zfs]
 zio_decompress_data_buf+0x3b/0x70 [zfs]
 zio_decompress_data+0x49/0xb0 [zfs]
 arc_buf_fill+0x14a/0xb60 [zfs]
 ? zio_data_buf_alloc+0x55/0x60 [zfs]
 arc_buf_alloc_impl.isra.38+0x21e/0x2f0 [zfs]
 arc_read+0xd40/0xff0 [zfs]
 ? dbuf_rele_and_unlock+0x620/0x620 [zfs]
 dbuf_read+0x611/0xb70 [zfs]
 dmu_buf_hold_array_by_dnode+0x10b/0x450 [zfs]
 dmu_read_uio_dnode+0x49/0x100 [zfs]
 dmu_read_uio_dbuf+0x49/0x70 [zfs]
 zfs_read+0x124/0x440 [zfs]
 zpl_read_common_iovec+0x97/0xe0 [zfs]
 zpl_iter_read+0xfc/0x170 [zfs]
 new_sync_read+0xe4/0x130
 __vfs_read+0x29/0x40
 vfs_read+0x8e/0x130
 SyS_read+0x55/0xc0
 do_syscall_64+0x73/0x130
 entry_SYSCALL_64_after_hwframe+0x3d/0xa2
RIP: 0033:0x7f3a23f4c081
RSP: 002b:00007ffed5563cf8 EFLAGS: 00000246 ORIG_RAX: 0000000000000000
RAX: ffffffffffffffda RBX: 000055f332c89160 RCX: 00007f3a23f4c081
RDX: 0000000000100000 RSI: 00007f3a23d3a000 RDI: 0000000000000000
RBP: 0000000000100000 R08: 00000000ffffffff R09: 0000000000000000
R10: 0000000000000022 R11: 0000000000000246 R12: 00007f3a23d3a000
R13: 0000000000000000 R14: 0000000000000000 R15: 00007f3a23d3a000
Code: 58 75 71 48 8d 7d b0 be f4 01 00 00 e8 12 81 a7 c0 48 85 c0 74 5e 83 7d 9c 00 75 58 8b 55 a4 8b 45 a8 48 8b 8d 48 ff ff ff 0f c8 <3b> 44 11 02 75 43 8b 4d a0 48 8b 95 40 ff ff ff 48 89 0a f0 48 
RSP: ffff9c9e820af740
CR2: ffff9c9fa1e11001
---[ end trace 4a8a9f532eb04a98 ]---

It appears that Ctrl+C causes the qat_compress to fail and the decompression is retried in software by uncompress_func (trace 1). How do I determine which line in that function offset 0xc6 corresponds to? At different times the BUG is triggered in qat_compress_impl itself (trace 2).

Disabling the QAT on the fly via /sys/module/zfs/parameters/zfs_qat_compress_disable mitigates the issue so this is definitely somehow related to the QAT.

@luki-mbi
Copy link
Author

luki-mbi commented Sep 3, 2019

Further info: trace 2 with BUG in qat_compress_impl also logs to dmesg: NMI watchdog: Watchdog detected hard LOCKUP, apparently in the IRQ handler in the completion callback.

NMI watchdog: Watchdog detected hard LOCKUP on cpu 6
Modules linked in: nfsv3 rpcsec_gss_krb5 nfsv4 nfs fscache i40e(OE) zfs(POE) binfmt_misc iptable_nat nf_nat_ipv4 nf_nat xt_tcpudp nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack nf_conntrack iptable_filter usdm_drv(OE) zunicode(POE) zavl(POE) zlua(POE) icp(POE) zcommon(POE) znvpair(POE) spl(OE) qat_api(OE) intel_rapl skx_edac x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm irqbypass intel_cstate intel_rapl_perf ipmi_ssif joydev input_leds qat_c62x(OE) intel_qat(OE) uio authenc ioatdma mei_me lpc_ich shpchp mei dca ipmi_si ipmi_devintf ipmi_msghandler acpi_power_meter acpi_pad mac_hid sch_fq_codel nfsd ib_iser auth_rpcgss rdma_cm nfs_acl iw_cm lockd ib_cm grace ib_core sunrpc iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi ip_tables x_tables autofs4 btrfs zstd_compress
 raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq libcrc32c raid1 raid0 multipath linear ses enclosure hid_generic usbhid hid crct10dif_pclmul crc32_pclmul ghash_clmulni_intel i2c_algo_bit pcbc ttm drm_kms_helper aesni_intel mpt3sas syscopyarea aes_x86_64 sysfillrect crypto_simd sysimgblt raid_class glue_helper fb_sys_fops cryptd scsi_transport_sas ptp drm pps_core i2c_i801 ahci libahci wmi [last unloaded: i40e]
CPU: 6 PID: 0 Comm: swapper/6 Tainted: P      D    OE    4.15.0-36-generic #39-Ubuntu
Hardware name: Supermicro Super Server/X11DPH-Tq, BIOS 3.1 05/22/2019
RIP: 0010:native_queued_spin_lock_slowpath+0x17b/0x1a0
RSP: 0018:ffff9effffd83df0 EFLAGS: 00000046
RAX: 0000000000000000 RBX: 0000000000000282 RCX: ffff9effffda3440
RDX: 0000000000003353 RSI: 00000000cd538000 RDI: ffffc12ba190f810
RBP: ffff9effffd83df0 R08: 00000000001c0000 R09: 9efff24084580000
R10: 0000000000000000 R11: 0000000000000008 R12: ffffc12ba190f808
R13: 0000000000000000 R14: 0000000000000000 R15: ffffc12ba190f7f4
FS:  0000000000000000(0000) GS:ffff9effffd80000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f97fcddd9d0 CR3: 00000009f600a002 CR4: 00000000007606e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
PKRU: 55555554
Call Trace:
 <IRQ>
 _raw_spin_lock_irqsave+0x37/0x40
 complete+0x1d/0x60
 qat_dc_callback+0x13/0x20 [zfs]
 dcCompression_ProcessCallback+0x38c/0x710 [qat_api]
 ? virt_to_phys+0x30/0x30 [zfs]
 adf_handle_response+0x4b/0xe0 [intel_qat]
 adf_response_handler+0x85/0xc0 [intel_qat]
 tasklet_hi_action+0x64/0x110
 __do_softirq+0xe4/0x2bb
 irq_exit+0xb8/0xc0
 do_IRQ+0x8a/0xd0
 common_interrupt+0x84/0x84
 </IRQ>
RIP: 0010:cpuidle_enter_state+0xa7/0x2f0
RSP: 0018:ffffc12b80253e68 EFLAGS: 00000246 ORIG_RAX: ffffffffffffffdb
RAX: ffff9effffda2880 RBX: 000134e3556eb876 RCX: 000000000000001f
RDX: 000134e3556eb876 RSI: ffff13e55fde474c RDI: 0000000000000000
RBP: ffffc12b80253ea8 R08: 0000000000000f0d R09: 00000000000047a9
R10: ffffc12b80253e38 R11: 0000000000000f07 R12: ffffe10b80582518
R13: 0000000000000003 R14: ffffffff94171c58 R15: 0000000000000000
 ? cpuidle_enter_state+0x97/0x2f0
 cpuidle_enter+0x17/0x20
 call_cpuidle+0x23/0x40
 do_idle+0x18c/0x1f0
 cpu_startup_entry+0x73/0x80
 start_secondary+0x1ab/0x200
 secondary_startup_64+0xa5/0xb0
Code: c9 c1 ea 12 83 e0 03 83 ea 01 48 c1 e0 04 48 63 d2 48 05 40 34 02 00 48 03 04 d5 c0 96 da 93 48 89 08 8b 41 08 85 c0 75 09 f3 90 <8b> 41 08 85 c0 74 f7 4c 8b 09 4d 85 c9 0f 84 59 ff ff ff 41 0f 
INFO: rcu_sched detected stalls on CPUs/tasks:
	6-...0: (2 GPs behind) idle=6e6/1/0 softirq=2623760/2623762 fqs=7086 
	(detected by 9, t=15002 jiffies, g=6728904, c=6728903, q=12389)
Sending NMI from CPU 9 to CPUs 6:
NMI backtrace for cpu 6
CPU: 6 PID: 0 Comm: swapper/6 Tainted: P      D    OE    4.15.0-36-generic #39-Ubuntu
Hardware name: Supermicro Super Server/X11DPH-Tq, BIOS 3.1 05/22/2019
RIP: 0010:native_queued_spin_lock_slowpath+0x17b/0x1a0
RSP: 0018:ffff9effffd83df0 EFLAGS: 00000046
RAX: 0000000000000000 RBX: 0000000000000282 RCX: ffff9effffda3440
RDX: 0000000000003353 RSI: 00000000cd538000 RDI: ffffc12ba190f810
RBP: ffff9effffd83df0 R08: 00000000001c0000 R09: 9efff24084580000
R10: 0000000000000000 R11: 0000000000000008 R12: ffffc12ba190f808
R13: 0000000000000000 R14: 0000000000000000 R15: ffffc12ba190f7f4
FS:  0000000000000000(0000) GS:ffff9effffd80000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f97fcddd9d0 CR3: 00000009f600a002 CR4: 00000000007606e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
PKRU: 55555554
Call Trace:
 <IRQ>
 _raw_spin_lock_irqsave+0x37/0x40
 complete+0x1d/0x60
 qat_dc_callback+0x13/0x20 [zfs]
 dcCompression_ProcessCallback+0x38c/0x710 [qat_api]
 ? virt_to_phys+0x30/0x30 [zfs]
 adf_handle_response+0x4b/0xe0 [intel_qat]
 adf_response_handler+0x85/0xc0 [intel_qat]
 tasklet_hi_action+0x64/0x110
 __do_softirq+0xe4/0x2bb
 irq_exit+0xb8/0xc0
 do_IRQ+0x8a/0xd0
 common_interrupt+0x84/0x84
 </IRQ>
RIP: 0010:cpuidle_enter_state+0xa7/0x2f0
RSP: 0018:ffffc12b80253e68 EFLAGS: 00000246 ORIG_RAX: ffffffffffffffdb
RAX: ffff9effffda2880 RBX: 000134e3556eb876 RCX: 000000000000001f
RDX: 000134e3556eb876 RSI: ffff13e55fde474c RDI: 0000000000000000
RBP: ffffc12b80253ea8 R08: 0000000000000f0d R09: 00000000000047a9
R10: ffffc12b80253e38 R11: 0000000000000f07 R12: ffffe10b80582518
R13: 0000000000000003 R14: ffffffff94171c58 R15: 0000000000000000
 ? cpuidle_enter_state+0x97/0x2f0
 cpuidle_enter+0x17/0x20
 call_cpuidle+0x23/0x40
 do_idle+0x18c/0x1f0
 cpu_startup_entry+0x73/0x80
 start_secondary+0x1ab/0x200
 secondary_startup_64+0xa5/0xb0
Code: c9 c1 ea 12 83 e0 03 83 ea 01 48 c1 e0 04 48 63 d2 48 05 40 34 02 00 48 03 04 d5 c0 96 da 93 48 89 08 8b 41 08 85 c0 75 09 f3 90 <8b> 41 08 85 c0 74 f7 4c 8b 09 4d 85 c9 0f 84 59 ff ff ff 41 0f 

@luki-mbi
Copy link
Author

luki-mbi commented Sep 5, 2019

Also happens with ZFS git master (a49dbbb) and newest QAT version (1.7.l.4.5.0-00034). Even a simple cat file > /dev/null and Ctrl+C triggers it.

@wli5
Copy link
Contributor

wli5 commented Sep 9, 2019

Thanks Luki for reporting the issue. The root cause is missing the return value check (-ERESTARTSYS) when call wait_for_completion_interruptible_timeout, we will submit a PR to fix this issue later.

@cfzhu cfzhu mentioned this issue Sep 10, 2019
12 tasks
tonyhutter pushed a commit to tonyhutter/zfs that referenced this issue Sep 17, 2019
1. Fix issue:  Kernel BUG with QAT during decompression  openzfs#9276.
   Now it is uninterruptible for a specific given QAT request,
   but Ctrl-C interrupt still works in user-space process.

2. Copy the digest result to the buffer only when doing encryption,
   and vise-versa for decryption.

Reviewed-by: Tom Caputi <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Chengfei Zhu <[email protected]>
Closes openzfs#9276 
Closes openzfs#9303
tonyhutter pushed a commit to tonyhutter/zfs that referenced this issue Sep 18, 2019
1. Fix issue:  Kernel BUG with QAT during decompression  openzfs#9276.
   Now it is uninterruptible for a specific given QAT request,
   but Ctrl-C interrupt still works in user-space process.

2. Copy the digest result to the buffer only when doing encryption,
   and vise-versa for decryption.

Reviewed-by: Tom Caputi <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Chengfei Zhu <[email protected]>
Closes openzfs#9276 
Closes openzfs#9303
tonyhutter pushed a commit to tonyhutter/zfs that referenced this issue Sep 18, 2019
1. Fix issue:  Kernel BUG with QAT during decompression  openzfs#9276.
   Now it is uninterruptible for a specific given QAT request,
   but Ctrl-C interrupt still works in user-space process.

2. Copy the digest result to the buffer only when doing encryption,
   and vise-versa for decryption.

Reviewed-by: Tom Caputi <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Chengfei Zhu <[email protected]>
Closes openzfs#9276 
Closes openzfs#9303
tonyhutter pushed a commit to tonyhutter/zfs that referenced this issue Sep 18, 2019
1. Fix issue:  Kernel BUG with QAT during decompression  openzfs#9276.
   Now it is uninterruptible for a specific given QAT request,
   but Ctrl-C interrupt still works in user-space process.

2. Copy the digest result to the buffer only when doing encryption,
   and vise-versa for decryption.

Reviewed-by: Tom Caputi <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Chengfei Zhu <[email protected]>
Closes openzfs#9276 
Closes openzfs#9303
tonyhutter pushed a commit to tonyhutter/zfs that referenced this issue Sep 19, 2019
1. Fix issue:  Kernel BUG with QAT during decompression  openzfs#9276.
   Now it is uninterruptible for a specific given QAT request,
   but Ctrl-C interrupt still works in user-space process.

2. Copy the digest result to the buffer only when doing encryption,
   and vise-versa for decryption.

Reviewed-by: Tom Caputi <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Chengfei Zhu <[email protected]>
Closes openzfs#9276 
Closes openzfs#9303
tonyhutter pushed a commit to tonyhutter/zfs that referenced this issue Sep 23, 2019
1. Fix issue:  Kernel BUG with QAT during decompression  openzfs#9276.
   Now it is uninterruptible for a specific given QAT request,
   but Ctrl-C interrupt still works in user-space process.

2. Copy the digest result to the buffer only when doing encryption,
   and vise-versa for decryption.

Reviewed-by: Tom Caputi <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Chengfei Zhu <[email protected]>
Closes openzfs#9276 
Closes openzfs#9303
tonyhutter pushed a commit that referenced this issue Sep 26, 2019
1. Fix issue:  Kernel BUG with QAT during decompression  #9276.
   Now it is uninterruptible for a specific given QAT request,
   but Ctrl-C interrupt still works in user-space process.

2. Copy the digest result to the buffer only when doing encryption,
   and vise-versa for decryption.

Reviewed-by: Tom Caputi <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Chengfei Zhu <[email protected]>
Closes #9276
Closes #9303
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants