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