Date: Tue, 07 Oct 2014 21:53:05 +0300 From: Alexander Motin <mav@FreeBSD.org> To: "Laier, Max" <max.laier@isilon.com> Cc: "Rice, Benno" <Benno.Rice@emc.com>, "Ferris, Scott" <scott.ferris@isilon.com>, "freebsd-geom@FreeBSD.org" <freebsd-geom@FreeBSD.org> Subject: Re: biodone vs geom_up Message-ID: <54343691.1030600@FreeBSD.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?54343691.1030600>