CVS commit: src
Module Name:src Committed By: oster Date: Sun Sep 17 20:07:39 UTC 2023 Modified Files: src/sbin/raidctl: raidctl.8 raidctl.c src/sys/dev/raidframe: raidframeio.h rf_diskqueue.c rf_diskqueue.h rf_disks.c rf_disks.h rf_driver.c rf_netbsdkintf.c rf_raid.h rf_reconstruct.c Log Message: Implement hot removal of spares and components. From manu@. Implement a long desired feature of automatically incorporating a used spare into the array after a reconstruct. Given the configuration: Components: /dev/wd0e: failed /dev/wd1e: optimal /dev/wd2e: optimal Spares: /dev/wd3e: spare Running 'raidctl -F /dev/wd0e raid0' will now result in the following configuration after a successful rebuild: Components: /dev/wd3e: optimal /dev/wd1e: optimal /dev/wd2e: optimal No spares. Thanks to manu@ for the development of the initial set of changes which allowed the changes to automatically incorporate a used spare to come to fruition. Thanks also to manu@ for useful discussions about and additional testing of these changes. To generate a diff of this commit: cvs rdiff -u -r1.79 -r1.80 src/sbin/raidctl/raidctl.8 cvs rdiff -u -r1.78 -r1.79 src/sbin/raidctl/raidctl.c cvs rdiff -u -r1.11 -r1.12 src/sys/dev/raidframe/raidframeio.h cvs rdiff -u -r1.63 -r1.64 src/sys/dev/raidframe/rf_diskqueue.c cvs rdiff -u -r1.29 -r1.30 src/sys/dev/raidframe/rf_diskqueue.h cvs rdiff -u -r1.93 -r1.94 src/sys/dev/raidframe/rf_disks.c cvs rdiff -u -r1.14 -r1.15 src/sys/dev/raidframe/rf_disks.h cvs rdiff -u -r1.140 -r1.141 src/sys/dev/raidframe/rf_driver.c cvs rdiff -u -r1.413 -r1.414 src/sys/dev/raidframe/rf_netbsdkintf.c cvs rdiff -u -r1.51 -r1.52 src/sys/dev/raidframe/rf_raid.h cvs rdiff -u -r1.128 -r1.129 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. Modified files: Index: src/sbin/raidctl/raidctl.8 diff -u src/sbin/raidctl/raidctl.8:1.79 src/sbin/raidctl/raidctl.8:1.80 --- src/sbin/raidctl/raidctl.8:1.79 Tue Jun 14 08:06:18 2022 +++ src/sbin/raidctl/raidctl.8 Sun Sep 17 20:07:39 2023 @@ -1,4 +1,4 @@ -.\" $NetBSD: raidctl.8,v 1.79 2022/06/14 08:06:18 kre Exp $ +.\" $NetBSD: raidctl.8,v 1.80 2023/09/17 20:07:39 oster Exp $ .\" .\" Copyright (c) 1998, 2002 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -53,7 +53,7 @@ .\" any improvements or extensions that they make and grant Carnegie the .\" rights to redistribute these changes. .\" -.Dd June 13, 2022 +.Dd September 16, 2023 .Dt RAIDCTL 8 .Os .Sh NAME @@ -322,9 +322,10 @@ if necessary, and immediately begins a r This is useful for reconstructing back onto a component after it has been replaced following a failure. .It Fl r Ar component Ar dev -Remove the spare disk specified by +Remove the specified .Ar component -from the set of available spare components. +from the RAID. The component must be in the failed, spare, or spared state +in order to be removed. .It Fl S Ar dev Check the status of parity re-writing, component reconstruction, and component copyback. @@ -1005,10 +1006,9 @@ option will show: .Bd -literal -offset indent Components: /dev/sd1e: optimal - /dev/sd2e: spared + /dev/sd4e: optimal /dev/sd3e: optimal -Spares: - /dev/sd4e: used_spare +No spares. [...] Parity status: clean Reconstruction is 100% complete. @@ -1016,62 +1016,10 @@ Parity Re-write is 100% complete. Copyback is 100% complete. .Ed .Pp -At this point there are at least two options. -First, if -.Pa /dev/sd2e -is known to be good (i.e., the failure was either caused by -.Fl f -or -.Fl F , -or the failed disk was replaced), then a copyback of the data can -be initiated with the -.Fl B -option. -In this example, this would copy the entire contents of -.Pa /dev/sd4e -to -.Pa /dev/sd2e . -Once the copyback procedure is complete, the -status of the device would be (in part): -.Bd -literal -offset indent -Components: - /dev/sd1e: optimal - /dev/sd2e: optimal - /dev/sd3e: optimal -Spares: - /dev/sd4e: spare -.Ed -.Pp -and the system is back to normal operation. -.Pp -The second option after the reconstruction is to simply use -.Pa /dev/sd4e -in place of -.Pa /dev/sd2e -in the configuration file. -For example, the configuration file (in part) might now look like: -.Bd -literal -offset indent -START array -3 0 - -START disks -/dev/sd1e -/dev/sd4e -/dev/sd3e -.Ed -.Pp -This can be done as -.Pa /dev/sd4e -is completely interchangeable with +as .Pa /dev/sd2e -at this point. -Note that extreme care must be taken when -changing the order of the drives in a configuration. -This is one of the few instances where the devices and/or -their orderings can be changed without loss of data! -In general, the ordering of components in a configuration file should -.Em never -be
CVS commit: src
Module Name:src Committed By: oster Date: Sun Sep 17 20:07:39 UTC 2023 Modified Files: src/sbin/raidctl: raidctl.8 raidctl.c src/sys/dev/raidframe: raidframeio.h rf_diskqueue.c rf_diskqueue.h rf_disks.c rf_disks.h rf_driver.c rf_netbsdkintf.c rf_raid.h rf_reconstruct.c Log Message: Implement hot removal of spares and components. From manu@. Implement a long desired feature of automatically incorporating a used spare into the array after a reconstruct. Given the configuration: Components: /dev/wd0e: failed /dev/wd1e: optimal /dev/wd2e: optimal Spares: /dev/wd3e: spare Running 'raidctl -F /dev/wd0e raid0' will now result in the following configuration after a successful rebuild: Components: /dev/wd3e: optimal /dev/wd1e: optimal /dev/wd2e: optimal No spares. Thanks to manu@ for the development of the initial set of changes which allowed the changes to automatically incorporate a used spare to come to fruition. Thanks also to manu@ for useful discussions about and additional testing of these changes. To generate a diff of this commit: cvs rdiff -u -r1.79 -r1.80 src/sbin/raidctl/raidctl.8 cvs rdiff -u -r1.78 -r1.79 src/sbin/raidctl/raidctl.c cvs rdiff -u -r1.11 -r1.12 src/sys/dev/raidframe/raidframeio.h cvs rdiff -u -r1.63 -r1.64 src/sys/dev/raidframe/rf_diskqueue.c cvs rdiff -u -r1.29 -r1.30 src/sys/dev/raidframe/rf_diskqueue.h cvs rdiff -u -r1.93 -r1.94 src/sys/dev/raidframe/rf_disks.c cvs rdiff -u -r1.14 -r1.15 src/sys/dev/raidframe/rf_disks.h cvs rdiff -u -r1.140 -r1.141 src/sys/dev/raidframe/rf_driver.c cvs rdiff -u -r1.413 -r1.414 src/sys/dev/raidframe/rf_netbsdkintf.c cvs rdiff -u -r1.51 -r1.52 src/sys/dev/raidframe/rf_raid.h cvs rdiff -u -r1.128 -r1.129 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.
CVS commit: src/sys/arch/sh3/dev
Module Name:src Committed By: andvar Date: Sun Sep 17 14:22:28 UTC 2023 Modified Files: src/sys/arch/sh3/dev: sci.c Log Message: remove unneeded whitespace in empty line from my previous commit. To generate a diff of this commit: cvs rdiff -u -r1.64 -r1.65 src/sys/arch/sh3/dev/sci.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/sh3/dev/sci.c diff -u src/sys/arch/sh3/dev/sci.c:1.64 src/sys/arch/sh3/dev/sci.c:1.65 --- src/sys/arch/sh3/dev/sci.c:1.64 Sat Sep 16 18:56:39 2023 +++ src/sys/arch/sh3/dev/sci.c Sun Sep 17 14:22:28 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: sci.c,v 1.64 2023/09/16 18:56:39 andvar Exp $ */ +/* $NetBSD: sci.c,v 1.65 2023/09/17 14:22:28 andvar Exp $ */ /*- * Copyright (C) 1999 T.Horiuchi and SAITOH Masanobu. All rights reserved. @@ -93,7 +93,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: sci.c,v 1.64 2023/09/16 18:56:39 andvar Exp $"); +__KERNEL_RCSID(0, "$NetBSD: sci.c,v 1.65 2023/09/17 14:22:28 andvar Exp $"); #include "opt_kgdb.h" #include "opt_sci.h" @@ -1215,7 +1215,7 @@ sciintr(void *arg) if (ISSET(~msr, sc->sc_msr_mask)) { sc->sc_tbc = 0; sc->sc_heldtbc = 0; - + DPRINTF(("%s: sciintr\n", device_xname(sc->sc_dev))); }
CVS commit: src/sys/arch/sh3/dev
Module Name:src Committed By: andvar Date: Sun Sep 17 14:22:28 UTC 2023 Modified Files: src/sys/arch/sh3/dev: sci.c Log Message: remove unneeded whitespace in empty line from my previous commit. To generate a diff of this commit: cvs rdiff -u -r1.64 -r1.65 src/sys/arch/sh3/dev/sci.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/m68k/fpe
Module Name:src Committed By: andvar Date: Sun Sep 17 13:14:08 UTC 2023 Modified Files: src/sys/arch/m68k/fpe: fpu_emulate.c Log Message: word was changed to sval at rev 1.39, but DPRINTF values were not updated. Fixes DEBUG_FPE enabled build for 68k FPE code. To generate a diff of this commit: cvs rdiff -u -r1.40 -r1.41 src/sys/arch/m68k/fpe/fpu_emulate.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/m68k/fpe/fpu_emulate.c diff -u src/sys/arch/m68k/fpe/fpu_emulate.c:1.40 src/sys/arch/m68k/fpe/fpu_emulate.c:1.41 --- src/sys/arch/m68k/fpe/fpu_emulate.c:1.40 Fri Dec 27 07:41:23 2019 +++ src/sys/arch/m68k/fpe/fpu_emulate.c Sun Sep 17 13:14:08 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: fpu_emulate.c,v 1.40 2019/12/27 07:41:23 msaitoh Exp $ */ +/* $NetBSD: fpu_emulate.c,v 1.41 2023/09/17 13:14:08 andvar Exp $ */ /* * Copyright (c) 1995 Gordon W. Ross @@ -37,7 +37,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: fpu_emulate.c,v 1.40 2019/12/27 07:41:23 msaitoh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: fpu_emulate.c,v 1.41 2023/09/17 13:14:08 andvar Exp $"); #include #include @@ -132,12 +132,12 @@ fpu_emulate(struct frame *frame, struct if ((sval & 0xf000) != 0xf000) { DPRINTF(("%s: not coproc. insn.: opcode=0x%x\n", - __func__, word)); + __func__, sval)); fpe_abort(frame, ksi, SIGILL, ILL_ILLOPC); } if ((sval & 0x0E00) != 0x0200) { - DPRINTF(("%s: bad coproc. id: opcode=0x%x\n", __func__, word)); + DPRINTF(("%s: bad coproc. id: opcode=0x%x\n", __func__, sval)); fpe_abort(frame, ksi, SIGILL, ILL_ILLOPC); }
CVS commit: src/sys/arch/m68k/fpe
Module Name:src Committed By: andvar Date: Sun Sep 17 13:14:08 UTC 2023 Modified Files: src/sys/arch/m68k/fpe: fpu_emulate.c Log Message: word was changed to sval at rev 1.39, but DPRINTF values were not updated. Fixes DEBUG_FPE enabled build for 68k FPE code. To generate a diff of this commit: cvs rdiff -u -r1.40 -r1.41 src/sys/arch/m68k/fpe/fpu_emulate.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/luna68k
Module Name:src Committed By: andvar Date: Sun Sep 17 12:30:00 UTC 2023 Modified Files: src/sys/arch/luna68k/conf: files.luna68k src/sys/arch/luna68k/luna68k: trap.c Log Message: fix KGDB enabled build for luna68k: * include sys/kgdb.h in luna68k/trap.c for missing definitions. * cast second kgdb_trap argument to (db_regs_t *). * build m68k/kgdb_machdep.c in kgdb enable build for kgdb_trap() implementation. To generate a diff of this commit: cvs rdiff -u -r1.30 -r1.31 src/sys/arch/luna68k/conf/files.luna68k cvs rdiff -u -r1.76 -r1.77 src/sys/arch/luna68k/luna68k/trap.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/luna68k/conf/files.luna68k diff -u src/sys/arch/luna68k/conf/files.luna68k:1.30 src/sys/arch/luna68k/conf/files.luna68k:1.31 --- src/sys/arch/luna68k/conf/files.luna68k:1.30 Fri Jun 10 21:42:23 2022 +++ src/sys/arch/luna68k/conf/files.luna68k Sun Sep 17 12:30:00 2023 @@ -1,5 +1,5 @@ # -# $NetBSD: files.luna68k,v 1.30 2022/06/10 21:42:23 tsutsui Exp $ +# $NetBSD: files.luna68k,v 1.31 2023/09/17 12:30:00 andvar Exp $ # maxpartitions 8 maxusers 2 8 64 @@ -16,6 +16,7 @@ file arch/luna68k/luna68k/pmap_bootstrap file arch/luna68k/luna68k/trap.c file arch/m68k/m68k/cacheops.c file arch/m68k/m68k/db_memrw.c ddb | kgdb +file arch/m68k/m68k/kgdb_machdep.c kgdb file arch/m68k/m68k/fpu.c compile-with "${M68K_KERN_FPU}" file arch/m68k/m68k/m68k_trap.c file arch/m68k/m68k/pmap_motorola.c Index: src/sys/arch/luna68k/luna68k/trap.c diff -u src/sys/arch/luna68k/luna68k/trap.c:1.76 src/sys/arch/luna68k/luna68k/trap.c:1.77 --- src/sys/arch/luna68k/luna68k/trap.c:1.76 Sat Sep 16 20:53:18 2023 +++ src/sys/arch/luna68k/luna68k/trap.c Sun Sep 17 12:30:00 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: trap.c,v 1.76 2023/09/16 20:53:18 andvar Exp $ */ +/* $NetBSD: trap.c,v 1.77 2023/09/17 12:30:00 andvar Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -39,7 +39,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: trap.c,v 1.76 2023/09/16 20:53:18 andvar Exp $"); +__KERNEL_RCSID(0, "$NetBSD: trap.c,v 1.77 2023/09/17 12:30:00 andvar Exp $"); #include "opt_ddb.h" #include "opt_kgdb.h" @@ -57,6 +57,7 @@ __KERNEL_RCSID(0, "$NetBSD: trap.c,v 1.7 #include #include #include +#include #include #include @@ -258,7 +259,7 @@ trap(struct frame *fp, int type, unsigne s = splhigh(); #ifdef KGDB /* If connected, step or cont returns 1 */ - if (kgdb_trap(type, fp)) + if (kgdb_trap(type, (db_regs_t *)fp)) goto kgdb_cont; #endif #ifdef DDB
CVS commit: src/sys/arch/luna68k
Module Name:src Committed By: andvar Date: Sun Sep 17 12:30:00 UTC 2023 Modified Files: src/sys/arch/luna68k/conf: files.luna68k src/sys/arch/luna68k/luna68k: trap.c Log Message: fix KGDB enabled build for luna68k: * include sys/kgdb.h in luna68k/trap.c for missing definitions. * cast second kgdb_trap argument to (db_regs_t *). * build m68k/kgdb_machdep.c in kgdb enable build for kgdb_trap() implementation. To generate a diff of this commit: cvs rdiff -u -r1.30 -r1.31 src/sys/arch/luna68k/conf/files.luna68k cvs rdiff -u -r1.76 -r1.77 src/sys/arch/luna68k/luna68k/trap.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/luna68k/luna68k
Module Name:src Committed By: andvar Date: Sun Sep 17 10:14:49 UTC 2023 Modified Files: src/sys/arch/luna68k/luna68k: machdep.c Log Message: all sunos_exec_aout_makecmds references were removed from machedep back in 1997, as the code was standardized and moved to sunos_exec_aout.c. removing this code from luna68k as well, for whatever reason it was missed. Fixes build with COMPAT_SUNOS enabled for luna68k. To generate a diff of this commit: cvs rdiff -u -r1.108 -r1.109 src/sys/arch/luna68k/luna68k/machdep.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/luna68k/luna68k/machdep.c diff -u src/sys/arch/luna68k/luna68k/machdep.c:1.108 src/sys/arch/luna68k/luna68k/machdep.c:1.109 --- src/sys/arch/luna68k/luna68k/machdep.c:1.108 Sat Oct 9 20:00:41 2021 +++ src/sys/arch/luna68k/luna68k/machdep.c Sun Sep 17 10:14:49 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.108 2021/10/09 20:00:41 tsutsui Exp $ */ +/* $NetBSD: machdep.c,v 1.109 2023/09/17 10:14:49 andvar Exp $ */ /*- * Copyright (c) 2000 The NetBSD Foundation, Inc. @@ -31,7 +31,7 @@ #include /* RCS ID & Copyright macro defns */ -__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.108 2021/10/09 20:00:41 tsutsui Exp $"); +__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.109 2023/09/17 10:14:49 andvar Exp $"); #include "opt_ddb.h" #include "opt_kgdb.h" @@ -822,14 +822,7 @@ luna68k_abort(const char *cp) int cpu_exec_aout_makecmds(struct lwp *l, struct exec_package *epp) { - int error = ENOEXEC; -#ifdef COMPAT_SUNOS - extern sunos_exec_aout_makecmds(struct proc *, struct exec_package *); - - if ((error = sunos_exec_aout_makecmds(l->l_proc, epp)) == 0) - return 0; -#endif - return error; + return ENOEXEC; } #ifdef MODULAR
CVS commit: src/sys/arch/luna68k/luna68k
Module Name:src Committed By: andvar Date: Sun Sep 17 10:14:49 UTC 2023 Modified Files: src/sys/arch/luna68k/luna68k: machdep.c Log Message: all sunos_exec_aout_makecmds references were removed from machedep back in 1997, as the code was standardized and moved to sunos_exec_aout.c. removing this code from luna68k as well, for whatever reason it was missed. Fixes build with COMPAT_SUNOS enabled for luna68k. To generate a diff of this commit: cvs rdiff -u -r1.108 -r1.109 src/sys/arch/luna68k/luna68k/machdep.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/x68k/x68k
Module Name:src Committed By: andvar Date: Sun Sep 17 07:22:17 UTC 2023 Modified Files: src/sys/arch/x68k/x68k: locore.s Log Message: add "#if defined(M68030)" around 68030 specific busaddrerr2030 calls. Makes M68030 build without 040/060 counterparts enabled for x68k. To generate a diff of this commit: cvs rdiff -u -r1.121 -r1.122 src/sys/arch/x68k/x68k/locore.s Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/x68k/x68k
Module Name:src Committed By: andvar Date: Sun Sep 17 07:22:17 UTC 2023 Modified Files: src/sys/arch/x68k/x68k: locore.s Log Message: add "#if defined(M68030)" around 68030 specific busaddrerr2030 calls. Makes M68030 build without 040/060 counterparts enabled for x68k. To generate a diff of this commit: cvs rdiff -u -r1.121 -r1.122 src/sys/arch/x68k/x68k/locore.s Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/x68k/x68k/locore.s diff -u src/sys/arch/x68k/x68k/locore.s:1.121 src/sys/arch/x68k/x68k/locore.s:1.122 --- src/sys/arch/x68k/x68k/locore.s:1.121 Mon May 30 09:56:03 2022 +++ src/sys/arch/x68k/x68k/locore.s Sun Sep 17 07:22:17 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.s,v 1.121 2022/05/30 09:56:03 andvar Exp $ */ +/* $NetBSD: locore.s,v 1.122 2023/09/17 07:22:17 andvar Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -209,8 +209,10 @@ Lstart1: jra Lstart2 1: #endif +#if defined(M68030) movl #_C_LABEL(busaddrerr2030),%a2@(8) movl #_C_LABEL(busaddrerr2030),%a2@(12) +#endif Lstart2: /* initialize source/destination control registers for movs */