⬢ DragonFlyBSD Kernel Audit
DF-4714 / run.log
← back to finding ↓ download raw
== initial state ==
D d1                    State: up	Device /dev/md0s0	Avail: 5/8 MB (74%)
D d2                    State: up	Device /dev/md1s0	Avail: 3/8 MB (49%)
V rv                    State: up	Plexes:       1	Size:       4096 kB
P rv.p0              R5 State: up	Subdisks:     3	Size:       4096 kB
S rv.p0.s0              State: up	PO:        0  B Size:       2048 kB
S rv.p0.s1              State: up	PO:       16 kB Size:       2048 kB
S rv.p0.s2              State: up	PO:       32 kB Size:       2048 kB
SANITY: 32KB roundtrip OK
===== [1] DF-4714 scenario A: parity sd DOWN + data sd REBORN, 16KB single write
S rv.p0.s0              State: down	PO:        0  B Size:       2048 kB
S rv.p0.s1              State: reborn	PO:       16 kB Size:       2048 kB
S rv.p0.s2              State: up	PO:       32 kB Size:       2048 kB
DF-4714-A: write OK (16KB accepted with parity sd DOWN + data sd REBORN)
DF-4714-A RESULT: *** SILENT DATA LOSS (readback 75 != bb) ***
trigger_a rc=1
-- physical evidence: parity (d1) region for this stripe:
           ce  ce  ce  ce  ce  ce  ce  ce                                
-- s1 (d2) data region (should still be old zeros - never written):
           75  75  75  75  75  75  75  75                                
===== [2] DF-4715: two DOWN data sds, 32KB single write -> refusal path
-- pre-write states (s0 must be UP):
S rv.p0.s0              State: up	PO:        0  B Size:       2048 kB
S rv.p0.s1              State: down	PO:       16 kB Size:       2048 kB
S rv.p0.s2              State: down	PO:       32 kB Size:       2048 kB
0 bytes transferred in 0.000331 secs (0 bytes/sec)
write rc=0 (EIO expected)
-- post-write states (buggy: s0 WRONGLY stale; fixed: s0 stays up):
S rv.p0.s0              State: stale	PO:        0  B Size:       2048 kB
S rv.p0.s1              State: obsolete	PO:       16 kB Size:       2048 kB
S rv.p0.s2              State: obsolete	PO:       32 kB Size:       2048 kB
===== [3] control: all sds up, 32KB roundtrip
control FAILED
===== [4] DF-4714 scenario B: BOTH data sds REBORN, 32KB single write
S rv.p0.s0              State: up	PO:        0  B Size:       2048 kB
S rv.p0.s1              State: reborn	PO:       16 kB Size:       2048 kB
S rv.p0.s2              State: reborn	PO:       32 kB Size:       2048 kB
-- firing trigger (32KB, blocks on s1+s2) - expect panic on buggy kernel:
open: Input/output error
trigger rc=2
END-BASELINE
BASELINE_DONE