Skip site navigation (1)Skip section navigation (2)
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>