biodone vs geom_up
Alexander Motin
mav at FreeBSD.org
Tue Oct 7 18:53:11 UTC 2014
Hi, Max.
> Removing the BIO_DONE setting at [1] resolves the issue I'm seeing,
but I wonder if there is a better way to resolve this? Should
g_disk_start() clone a bio for its callback instead? Are there other
places that set a bio_done callback on the way down?
Originally requests were always cloned in g_disk_start(). Skipping BIO
cloning there was my change to reduce I/O processing overhead. It is
indeed kind of hack, but supposed to be a small one.
I think I see the problem there too now. Removing BIO_DONE setting at
[1] indeed should help. Grepping through the tree I don't see much other
checks for BIO_DONE, so I would guess it should not be a problem. Any
way, unlocked BIO_DONE setting there should be pointless or at least
unreliable, except may be for some debugging.
--
Alexander Motin
More information about the freebsd-geom
mailing list