]> git.proxmox.com Git - mirror_zfs.git/commit
vdev_disk: don't touch vbio after its handed off to the kernel
authorRob N <robn@despairlabs.com>
Wed, 3 Apr 2024 22:17:07 +0000 (09:17 +1100)
committerGitHub <noreply@github.com>
Wed, 3 Apr 2024 22:17:07 +0000 (15:17 -0700)
commit917ff75e9510d19968ef3cc5c80b1cd0ef48f84d
tree9fc2b3438c8924ec44093f69d1dd9ede7bf094ee
parenta9a4290173dfdfd25aabd623bc3ccd994126794a
vdev_disk: don't touch vbio after its handed off to the kernel

After IO is unplugged, it may complete immediately and vbio_completion
be called on interrupt context. That may interrupt or deschedule our
task. If its the last bio, the vbio will be freed. Then, we get
rescheduled, and try to write to freed memory through vbio->.

This patch just removes the the cleanup, and the corresponding assert.
These were leftovers from a previous iteration of vbio_submit() and were
always "belt and suspenders" ops anyway, never strictly required.

Sponsored-by: Klara, Inc.
Sponsored-by: Wasabi Technology, Inc
Reported-by: Rich Ercolani <rincebrain@gmail.com>
Reviewed-by: Laurențiu Nicola <lnicola@dend.ro>
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Reviewed-by: George Wilson <george.wilson@delphix.com>
Signed-off-by: Rob Norris <rob.norris@klarasystems.com>
Closes #16045
Closes #16050
Closes #16049
module/os/linux/zfs/vdev_disk.c