NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
PR/60919 CVS commit: src
The following reply was made to PR kern/60919; it has been noted by GNATS.
From: "Thor Lancelot Simon" <tls%netbsd.org@localhost>
To: gnats-bugs%gnats.NetBSD.org@localhost
Cc:
Subject: PR/60919 CVS commit: src
Date: Wed, 28 Oct 2026 21:33:13 +0000
Module Name: src
Committed By: tls
Date: Wed Oct 28 21:33:13 UTC 2026
Modified Files:
src/sbin/raidctl: raidctl.c
src/sys/dev/raidframe: rf_disks.c rf_netbsdkintf.c rf_reconstruct.c
Log Message:
Fix PR kern/60919 (mysterious new RAID sets after a component is spared out)
Note that this fix will only prevent _new_ kernels with the fix from creating
these "rogue" sets from spared out components of mirrors. It will not ignore
nor delete any sets that may have been created in this way by an old kernel
without the fix; to fix that, the user should raidctl -A no the rogue set and
then delete it. This is left as it is now from an abundance of caution; being
less conservative could cause a lot of trouble for any users who may have,
unfortunately, initialized multiple RAID sets with the same serial number.
Other related fixes:
1. Sparing out a component at runtime could leak its vnode and also
disappear it from raidctl -s output if another spare was subsequently
added.
2. Make raidctl -r, -a, -R work with components that have been spared out.
Fixes some leaks and zeroes existing labels.
3. Avoid a case where we could pick the wrong disk to autoconfigure into a
set if a previously-failed column fails a second time (pick the component
with the highest mod counter, not the first component found).
4. Prevent mixing disks with different sector sizes when reconstructing.
5. Don't report ineligible members of the spares[] array in raidctl -G's
'START spare' output; do report everything sensible in raidctl -s
(some states like used_spare may not be sensible but the kernel no
longer creates them so they should never be reported).
To generate a diff of this commit:
cvs rdiff -u -r1.90 -r1.91 src/sbin/raidctl/raidctl.c
cvs rdiff -u -r1.98 -r1.99 src/sys/dev/raidframe/rf_disks.c
cvs rdiff -u -r1.422 -r1.423 src/sys/dev/raidframe/rf_netbsdkintf.c
cvs rdiff -u -r1.131 -r1.132 src/sys/dev/raidframe/rf_reconstruct.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index