hastd: assertion (res->hr_event != NULL) fails in secondary on
split-brain
Mikolaj Golub
to.my.trociny at gmail.com
Fri Oct 8 14:46:26 UTC 2010
On Thu, 7 Oct 2010 20:24:36 +0200 Pawel Jakub Dawidek wrote:
PJD> On Tue, Oct 05, 2010 at 09:47:36AM +0200, Pawel Jakub Dawidek wrote:
>> On Tue, Oct 05, 2010 at 10:05:13AM +0300, Mikolaj Golub wrote:
>> >
>> > On Mon, 4 Oct 2010 23:36:47 +0200 Pawel Jakub Dawidek wrote:
>> >
>> > PJD> I see three problems:)
>> >
>> > PJD> 1. In child_kill() you interpret status value always, even if it is
>> > PJD> invalid due to earlier errors.
>> > PJD> 2. While copying the code you changed style. Don't you like style(9)?:)
>> >
>> > Me like :-). But it looks like my emacs don't. Need to teach it somehow...
>> >
>> > PJD> 3. The patch doesn't fix the root cause of the problem.
>> >
>> > Thank you for your comments.
>>
>> The hang you reported is still not fixed, but I'm working on it.
PJD> Could you verify if the primary/secondary loop doesn't cause hangs
PJD> anymore with most recent hast?
It doesn't, thanks!
But to test I had to run hastd with two changes. The first was needed to fix
the issue that described in Subject :-) (adding (res->hr_event != NULL) check
in child_cleanup() -- you wrote that the fix was correct but did not commit
it).
The second one was needed to fix the issue that I observed after the latest
commit r213533:
Oct 8 16:14:04 hasta hastd[2175]: [storage] (primary) G_GATE_CMD_START failed: Invalid argument.
Oct 8 16:14:04 hasta kernel: Version mismatch 0 != 2.
Zerroing hio->hio_ggio we clear version and data pointer. This looks wrong for
me -- they are set and allocated in init_environment(). Also it looks like
setting ggio->gctl_length = MAXPHYS is not needed here too. See the attached
patch.
--
Mikolaj Golub
-------------- next part --------------
A non-text attachment was scrubbed...
Name: hastd.patch
Type: text/x-patch
Size: 1023 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-fs/attachments/20101008/f3cab360/hastd.bin
More information about the freebsd-fs
mailing list