Module Name:    src
Committed By:   oster
Date:           Mon Sep 25 21:59:39 UTC 2023

Modified Files:
        src/sbin/raidctl: raidctl.8 raidctl.c
        src/sys/dev/raidframe: files.raidframe rf_decluster.c rf_driver.c
            rf_netbsdkintf.c rf_paritymap.c rf_raid.h
        src/sys/modules/raid: Makefile
        src/sys/rump/dev/lib/libraidframe: Makefile
Removed Files:
        src/sys/dev/raidframe: rf_copyback.c rf_copyback.h

Log Message:
We no longer need the deprecated copyback functionality now that
incorporating a used spare is automatic.

Copyback has always been an issue, as to do a copyback all IO to
the array had to be suspended, and so was very, very unlikely to
have been used in anything resembling a production system.


To generate a diff of this commit:
cvs rdiff -u -r1.81 -r1.82 src/sbin/raidctl/raidctl.8 \
    src/sbin/raidctl/raidctl.c
cvs rdiff -u -r1.10 -r1.11 src/sys/dev/raidframe/files.raidframe \
    src/sys/dev/raidframe/rf_paritymap.c
cvs rdiff -u -r1.55 -r0 src/sys/dev/raidframe/rf_copyback.c
cvs rdiff -u -r1.6 -r0 src/sys/dev/raidframe/rf_copyback.h
cvs rdiff -u -r1.26 -r1.27 src/sys/dev/raidframe/rf_decluster.c
cvs rdiff -u -r1.141 -r1.142 src/sys/dev/raidframe/rf_driver.c
cvs rdiff -u -r1.414 -r1.415 src/sys/dev/raidframe/rf_netbsdkintf.c
cvs rdiff -u -r1.52 -r1.53 src/sys/dev/raidframe/rf_raid.h
cvs rdiff -u -r1.6 -r1.7 src/sys/modules/raid/Makefile
cvs rdiff -u -r1.13 -r1.14 src/sys/rump/dev/lib/libraidframe/Makefile

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.81 src/sbin/raidctl/raidctl.8:1.82
--- src/sbin/raidctl/raidctl.8:1.81	Thu Sep 21 01:40:44 2023
+++ src/sbin/raidctl/raidctl.8	Mon Sep 25 21:59:38 2023
@@ -1,4 +1,4 @@
-.\"     $NetBSD: raidctl.8,v 1.81 2023/09/21 01:40:44 oster Exp $
+.\"     $NetBSD: raidctl.8,v 1.82 2023/09/25 21:59:38 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 September 20, 2023
+.Dd September 25, 2023
 .Dt RAIDCTL 8
 .Os
 .Sh NAME
@@ -73,9 +73,6 @@
 .Fl a Ar component Ar dev
 .Nm
 .Op Fl v
-.Fl B Ar dev
-.Nm
-.Op Fl v
 .Fl C Ar config_file Ar dev
 .Nm
 .Op Fl v
@@ -223,11 +220,6 @@ component within a particular RAID set) 
 hot spare after it has been used and are not required for
 .Ar component
 before it is used.
-.It Fl B Ar dev
-Initiate a copyback of reconstructed data from a spare disk to
-its original disk.
-This is performed after a component has failed,
-and the failed drive has been reconstructed onto a spare drive.
 .It Fl C Ar config_file Ar dev
 As for
 .Fl c ,
@@ -351,8 +343,7 @@ Remove the specified
 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.
+Check the status of parity re-writing and component reconstruction.
 The output indicates the amount of progress
 achieved in each of these areas.
 .It Fl s Ar dev
@@ -374,9 +365,8 @@ Unconfigure the RAIDframe device.
 This does not remove any component labels or change any configuration
 settings (e.g. auto-configuration settings) for the RAID set.
 .It Fl v
-Be more verbose.
-For operations such as reconstructions, parity
-re-writing, and copybacks, provide a progress indicator.
+Be more verbose, and provide a progress indicator for operations such
+as reconstructions and parity re-writing.
 .El
 .Pp
 The device used by
@@ -965,7 +955,6 @@ Component label for /dev/sd3e:
 Parity status: clean
 Reconstruction is 100% complete.
 Parity Re-write is 100% complete.
-Copyback is 100% complete.
 .Ed
 .Pp
 This indicates that all is well with the RAID set.
@@ -1051,7 +1040,6 @@ Spares:
 Parity status: clean
 Reconstruction is 10% complete.
 Parity Re-write is 100% complete.
-Copyback is 100% complete.
 .Ed
 .Pp
 This indicates that a reconstruction is in progress.
@@ -1073,7 +1061,6 @@ No spares.
 Parity status: clean
 Reconstruction is 100% complete.
 Parity Re-write is 100% complete.
-Copyback is 100% complete.
 .Ed
 .Pp
 as
Index: src/sbin/raidctl/raidctl.c
diff -u src/sbin/raidctl/raidctl.c:1.81 src/sbin/raidctl/raidctl.c:1.82
--- src/sbin/raidctl/raidctl.c:1.81	Thu Sep 21 01:48:41 2023
+++ src/sbin/raidctl/raidctl.c	Mon Sep 25 21:59:38 2023
@@ -1,4 +1,4 @@
-/*      $NetBSD: raidctl.c,v 1.81 2023/09/21 01:48:41 oster Exp $   */
+/*      $NetBSD: raidctl.c,v 1.82 2023/09/25 21:59:38 oster Exp $   */
 
 /*-
  * Copyright (c) 1996, 1997, 1998 The NetBSD Foundation, Inc.
@@ -39,7 +39,7 @@
 #include <sys/cdefs.h>
 
 #ifndef lint
-__RCSID("$NetBSD: raidctl.c,v 1.81 2023/09/21 01:48:41 oster Exp $");
+__RCSID("$NetBSD: raidctl.c,v 1.82 2023/09/25 21:59:38 oster Exp $");
 #endif
 
 
@@ -191,10 +191,6 @@ main(int argc,char *argv[])
 			strlcpy(autoconf, optarg, sizeof(autoconf));
 			num_options++;
 			break;
-		case 'B':
-			action = RAIDFRAME_COPYBACK;
-			num_options++;
-			break;
 		case 'c':
 			action = RAIDFRAME_CONFIGURE;
 			strlcpy(config_filename, optarg,
@@ -371,15 +367,6 @@ main(int argc,char *argv[])
 	case RAIDFRAME_SET_AUTOCONFIG:
 		set_autoconfig(fd, raidID, autoconf);
 		break;
-	case RAIDFRAME_COPYBACK:
-		printf("Copyback.\n");
-		do_ioctl(fd, RAIDFRAME_COPYBACK, NULL, "RAIDFRAME_COPYBACK");
-		if (verbose) {
-			sleep(3); /* XXX give the copyback a chance to start */
-			printf("Copyback status:\n");
-			do_meter(fd,RAIDFRAME_CHECK_COPYBACK_STATUS_EXT);
-		}
-		break;
 	case RAIDFRAME_FAIL_DISK:
 		rf_fail_disk(fd, component, do_recon);
 		break;
@@ -1059,7 +1046,6 @@ check_status(int fd, int meter)
 {
 	int recon_percent_done = 0;
 	int parity_percent_done = 0;
-	int copyback_percent_done = 0;
 
 	do_ioctl(fd, RAIDFRAME_CHECK_RECON_STATUS, &recon_percent_done, 
 		 "RAIDFRAME_CHECK_RECON_STATUS");
@@ -1068,9 +1054,6 @@ check_status(int fd, int meter)
 		 &parity_percent_done, 
 		 "RAIDFRAME_CHECK_PARITYREWRITE_STATUS");
 	printf("Parity Re-write is %d%% complete.\n", parity_percent_done);
-	do_ioctl(fd, RAIDFRAME_CHECK_COPYBACK_STATUS, &copyback_percent_done, 
-		 "RAIDFRAME_CHECK_COPYBACK_STATUS");
-	printf("Copyback is %d%% complete.\n", copyback_percent_done);
 
 	if (meter) {
 		/* These 3 should be mutually exclusive at this point */
@@ -1080,9 +1063,6 @@ check_status(int fd, int meter)
 		} else if (parity_percent_done < 100) {
 			printf("Parity Re-write status:\n");
 			do_meter(fd,RAIDFRAME_CHECK_PARITYREWRITE_STATUS_EXT);
-		} else if (copyback_percent_done < 100) {
-			printf("Copyback status:\n");
-			do_meter(fd,RAIDFRAME_CHECK_COPYBACK_STATUS_EXT);
 		}
 	}
 }

Index: src/sys/dev/raidframe/files.raidframe
diff -u src/sys/dev/raidframe/files.raidframe:1.10 src/sys/dev/raidframe/files.raidframe:1.11
--- src/sys/dev/raidframe/files.raidframe:1.10	Thu Jan 18 00:32:49 2018
+++ src/sys/dev/raidframe/files.raidframe	Mon Sep 25 21:59:38 2023
@@ -1,4 +1,4 @@
-#	$NetBSD: files.raidframe,v 1.10 2018/01/18 00:32:49 mrg Exp $
+#	$NetBSD: files.raidframe,v 1.11 2023/09/25 21:59:38 oster Exp $
 
 defflag			RAID_AUTOCONFIG
 defflag			RAID_DIAGNOSTIC
@@ -10,7 +10,6 @@ file	dev/raidframe/rf_alloclist.c		raid
 file	dev/raidframe/rf_aselect.c		raid
 file	dev/raidframe/rf_callback.c		raid
 file	dev/raidframe/rf_chaindecluster.c	raid
-file	dev/raidframe/rf_copyback.c		raid
 file	dev/raidframe/rf_cvscan.c		raid
 file	dev/raidframe/rf_dagdegrd.c		raid
 file	dev/raidframe/rf_dagdegwr.c		raid
Index: src/sys/dev/raidframe/rf_paritymap.c
diff -u src/sys/dev/raidframe/rf_paritymap.c:1.10 src/sys/dev/raidframe/rf_paritymap.c:1.11
--- src/sys/dev/raidframe/rf_paritymap.c:1.10	Sun Sep 27 21:39:08 2020
+++ src/sys/dev/raidframe/rf_paritymap.c	Mon Sep 25 21:59:38 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: rf_paritymap.c,v 1.10 2020/09/27 21:39:08 christos Exp $ */
+/* $NetBSD: rf_paritymap.c,v 1.11 2023/09/25 21:59:38 oster Exp $ */
 
 /*-
  * Copyright (c) 2009 Jed Davis.
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rf_paritymap.c,v 1.10 2020/09/27 21:39:08 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rf_paritymap.c,v 1.11 2023/09/25 21:59:38 oster Exp $");
 
 #include <sys/param.h>
 #include <sys/callout.h>
@@ -727,7 +727,7 @@ rf_paritymap_attach(RF_Raid_t *raidPtr, 
 
 /*
  * For initializing the parity-map fields of a component label, both on
- * initial creation and on reconstruct/copyback/etc.  */
+ * initial creation and on reconstruct.  */
 void
 rf_paritymap_init_label(struct rf_paritymap *pm, RF_ComponentLabel_t *clabel)
 {

Index: src/sys/dev/raidframe/rf_decluster.c
diff -u src/sys/dev/raidframe/rf_decluster.c:1.26 src/sys/dev/raidframe/rf_decluster.c:1.27
--- src/sys/dev/raidframe/rf_decluster.c:1.26	Sat Feb  9 03:34:00 2019
+++ src/sys/dev/raidframe/rf_decluster.c	Mon Sep 25 21:59:38 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: rf_decluster.c,v 1.26 2019/02/09 03:34:00 christos Exp $	*/
+/*	$NetBSD: rf_decluster.c,v 1.27 2023/09/25 21:59:38 oster Exp $	*/
 /*
  * Copyright (c) 1995 Carnegie-Mellon University.
  * All rights reserved.
@@ -48,7 +48,7 @@
  *--------------------------------------------------------------------*/
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rf_decluster.c,v 1.26 2019/02/09 03:34:00 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rf_decluster.c,v 1.27 2023/09/25 21:59:38 oster Exp $");
 
 #include <dev/raidframe/raidframevar.h>
 
@@ -61,7 +61,6 @@ __KERNEL_RCSID(0, "$NetBSD: rf_decluster
 #include "rf_general.h"
 #include "rf_kintf.h"
 #include "rf_shutdown.h"
-#include "rf_copyback.h"
 
 #if (RF_INCLUDE_PARITY_DECLUSTERING > 0) || (RF_INCLUDE_PARITY_DECLUSTERING_PQ > 0)
 
@@ -350,8 +349,7 @@ rf_MapSectorDeclustered(RF_Raid_t *raidP
 
 	/* remap to distributed spare space if indicated */
 	if (remap) {
-		RF_ASSERT(raidPtr->Disks[*col].status == rf_ds_reconstructing || raidPtr->Disks[*col].status == rf_ds_dist_spared ||
-		    (rf_copyback_in_progress && raidPtr->Disks[*col].status == rf_ds_optimal));
+		RF_ASSERT(raidPtr->Disks[*col].status == rf_ds_reconstructing || raidPtr->Disks[*col].status == rf_ds_dist_spared);
 		rf_remap_to_spare_space(layoutPtr, info, FullTableID, TableID, BlockID, (base_suid) ? 1 : 0, SpareRegion, col, &outSU);
 	} else {
 
@@ -411,8 +409,7 @@ rf_MapParityDeclustered(RF_Raid_t *raidP
 	*col = info->LayoutTable[BlockID][RepIndex];
 
 	if (remap) {
-		RF_ASSERT(raidPtr->Disks[*col].status == rf_ds_reconstructing || raidPtr->Disks[*col].status == rf_ds_dist_spared ||
-		    (rf_copyback_in_progress && raidPtr->Disks[*col].status == rf_ds_optimal));
+		RF_ASSERT(raidPtr->Disks[*col].status == rf_ds_reconstructing || raidPtr->Disks[*col].status == rf_ds_dist_spared);
 		rf_remap_to_spare_space(layoutPtr, info, FullTableID, TableID, BlockID, (base_suid) ? 1 : 0, SpareRegion, col, &outSU);
 	} else {
 

Index: src/sys/dev/raidframe/rf_driver.c
diff -u src/sys/dev/raidframe/rf_driver.c:1.141 src/sys/dev/raidframe/rf_driver.c:1.142
--- src/sys/dev/raidframe/rf_driver.c:1.141	Sun Sep 17 20:07:39 2023
+++ src/sys/dev/raidframe/rf_driver.c	Mon Sep 25 21:59:38 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: rf_driver.c,v 1.141 2023/09/17 20:07:39 oster Exp $	*/
+/*	$NetBSD: rf_driver.c,v 1.142 2023/09/25 21:59:38 oster Exp $	*/
 /*-
  * Copyright (c) 1999 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -66,7 +66,7 @@
 
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rf_driver.c,v 1.141 2023/09/17 20:07:39 oster Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rf_driver.c,v 1.142 2023/09/25 21:59:38 oster Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_raid_diagnostic.h"
@@ -104,7 +104,6 @@ __KERNEL_RCSID(0, "$NetBSD: rf_driver.c,
 #include "rf_engine.h"
 #include "rf_mcpair.h"
 #include "rf_nwayxor.h"
-#include "rf_copyback.h"
 #include "rf_driver.h"
 #include "rf_options.h"
 #include "rf_shutdown.h"
@@ -322,7 +321,6 @@ rf_Configure(RF_Raid_t *raidPtr, RF_Conf
 #endif
 		DO_INIT_CONFIGURE(rf_ConfigureNWayXor);
 		DO_INIT_CONFIGURE(rf_ConfigureDAGFuncs);
-		DO_INIT_CONFIGURE(rf_ConfigureCopyback);
 		isconfigged = 1;
 	}
 	rf_unlock_mutex2(configureMutex);
@@ -400,7 +398,6 @@ rf_Configure(RF_Raid_t *raidPtr, RF_Conf
 	}
 #endif
 	raidPtr->numNewFailures = 0;
-	raidPtr->copyback_in_progress = 0;
 	raidPtr->parity_rewrite_in_progress = 0;
 	raidPtr->changing_components = 0;
 	raidPtr->recon_in_progress = 0;

Index: src/sys/dev/raidframe/rf_netbsdkintf.c
diff -u src/sys/dev/raidframe/rf_netbsdkintf.c:1.414 src/sys/dev/raidframe/rf_netbsdkintf.c:1.415
--- src/sys/dev/raidframe/rf_netbsdkintf.c:1.414	Sun Sep 17 20:07:39 2023
+++ src/sys/dev/raidframe/rf_netbsdkintf.c	Mon Sep 25 21:59:38 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: rf_netbsdkintf.c,v 1.414 2023/09/17 20:07:39 oster Exp $	*/
+/*	$NetBSD: rf_netbsdkintf.c,v 1.415 2023/09/25 21:59:38 oster Exp $	*/
 
 /*-
  * Copyright (c) 1996, 1997, 1998, 2008-2011 The NetBSD Foundation, Inc.
@@ -101,7 +101,7 @@
  ***********************************************************/
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rf_netbsdkintf.c,v 1.414 2023/09/17 20:07:39 oster Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rf_netbsdkintf.c,v 1.415 2023/09/25 21:59:38 oster Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_raid_autoconfig.h"
@@ -136,7 +136,6 @@ __KERNEL_RCSID(0, "$NetBSD: rf_netbsdkin
 #include <dev/raidframe/rf_paritymap.h>
 
 #include "rf_raid.h"
-#include "rf_copyback.h"
 #include "rf_dag.h"
 #include "rf_dagflags.h"
 #include "rf_desc.h"
@@ -296,7 +295,6 @@ static void rf_set_geometry(struct raid_
 
 static void rf_ReconThread(struct rf_recon_req_internal *);
 static void rf_RewriteParityThread(RF_Raid_t *raidPtr);
-static void rf_CopybackThread(RF_Raid_t *raidPtr);
 static void rf_ReconstructInPlaceThread(struct rf_recon_req_internal *);
 static int rf_autoconfig(device_t);
 static int rf_rescan(void);
@@ -1069,8 +1067,7 @@ raid_detach_unlocked(struct raid_softc *
 
 	if (DK_BUSY(dksc, 0) ||
 	    raidPtr->recon_in_progress != 0 ||
-	    raidPtr->parity_rewrite_in_progress != 0 ||
-	    raidPtr->copyback_in_progress != 0)
+	    raidPtr->parity_rewrite_in_progress != 0)
 		return EBUSY;
 
 	if ((rs->sc_flags & RAIDF_INITED) == 0)
@@ -1511,8 +1508,7 @@ raidioctl(dev_t dev, u_long cmd, void *d
 
 		if (DK_BUSY(dksc, pmask) ||
 		    raidPtr->recon_in_progress != 0 ||
-		    raidPtr->parity_rewrite_in_progress != 0 ||
-		    raidPtr->copyback_in_progress != 0)
+		    raidPtr->parity_rewrite_in_progress != 0)
 			retcode = EBUSY;
 		else {
 			/* detach and free on close */
@@ -1652,22 +1648,9 @@ raidioctl(dev_t dev, u_long cmd, void *d
 	case RAIDFRAME_FAIL_DISK:
 		return rf_fail_disk(raidPtr, data);
 
-		/* invoke a copyback operation after recon on whatever disk
-		 * needs it, if any */
+		/* copyback is no longer supported */
 	case RAIDFRAME_COPYBACK:
-
-		if (raidPtr->Layout.map->faultsTolerated == 0) {
-			/* This makes no sense on a RAID 0!! */
-			return EINVAL;
-		}
-
-		if (raidPtr->copyback_in_progress == 1) {
-			/* Copyback is already in progress! */
-			return EINVAL;
-		}
-
-		return RF_CREATE_THREAD(raidPtr->copyback_thread,
-		    rf_CopybackThread, raidPtr, "raid_copyback");
+		return EINVAL;
 
 		/* return the percentage completion of reconstruction */
 	case RAIDFRAME_CHECK_RECON_STATUS:
@@ -1698,17 +1681,7 @@ raidioctl(dev_t dev, u_long cmd, void *d
 		return 0;
 
 	case RAIDFRAME_CHECK_COPYBACK_STATUS:
-		if (raidPtr->Layout.map->faultsTolerated == 0) {
-			/* This makes no sense on a RAID 0 */
-			*(int *) data = 100;
-			return 0;
-		}
-		if (raidPtr->copyback_in_progress == 1) {
-			*(int *) data = 100 * raidPtr->copyback_stripes_done /
-				raidPtr->Layout.numStripe;
-		} else {
-			*(int *) data = 100;
-		}
+		*(int *) data = 100;
 		return 0;
 
 	case RAIDFRAME_CHECK_COPYBACK_STATUS_EXT:
@@ -2791,23 +2764,6 @@ rf_RewriteParityThread(RF_Raid_t *raidPt
 	kthread_exit(0);	/* does not return */
 }
 
-
-static void
-rf_CopybackThread(RF_Raid_t *raidPtr)
-{
-	int s;
-
-	raidPtr->copyback_in_progress = 1;
-	s = splbio();
-	rf_CopybackReconstructedData(raidPtr);
-	splx(s);
-	raidPtr->copyback_in_progress = 0;
-
-	/* That's all... */
-	kthread_exit(0);	/* does not return */
-}
-
-
 static void
 rf_ReconstructInPlaceThread(struct rf_recon_req_internal *req)
 {
@@ -3900,16 +3856,9 @@ rf_check_copyback_status_ext(RF_Raid_t *
 {
 
 	memset(info, 0, sizeof(*info));
-
-	if (raidPtr->copyback_in_progress == 1) {
-		info->total = raidPtr->Layout.numStripe;
-		info->completed = raidPtr->copyback_stripes_done;
-		info->remaining = info->total - info->completed;
-	} else {
-		info->remaining = 0;
-		info->completed = 100;
-		info->total = 100;
-	}
+	info->remaining = 0;
+	info->completed = 100;
+	info->total = 100;
 }
 
 /* Fill in config with the current info */

Index: src/sys/dev/raidframe/rf_raid.h
diff -u src/sys/dev/raidframe/rf_raid.h:1.52 src/sys/dev/raidframe/rf_raid.h:1.53
--- src/sys/dev/raidframe/rf_raid.h:1.52	Sun Sep 17 20:07:39 2023
+++ src/sys/dev/raidframe/rf_raid.h	Mon Sep 25 21:59:38 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: rf_raid.h,v 1.52 2023/09/17 20:07:39 oster Exp $	*/
+/*	$NetBSD: rf_raid.h,v 1.53 2023/09/25 21:59:38 oster Exp $	*/
 /*
  * Copyright (c) 1995 Carnegie-Mellon University.
  * All rights reserved.
@@ -209,11 +209,9 @@ struct RF_Raid_s {
          * Statistics
          */
 	RF_StripeCount_t     parity_rewrite_stripes_done;
-	RF_StripeCount_t     copyback_stripes_done;
 
 	int     recon_in_progress;
 	int     parity_rewrite_in_progress;
-	int     copyback_in_progress;
 	int     changing_components;
 
 	rf_declare_cond2(parity_rewrite_cv);
@@ -226,7 +224,6 @@ struct RF_Raid_s {
 	rf_declare_cond2(node_queue_cv);
 	RF_DagNode_t *node_queue;
 	RF_Thread_t parity_rewrite_thread;
-	RF_Thread_t copyback_thread;
 	RF_Thread_t engine_thread;
 	RF_Thread_t engine_helper_thread;
 	RF_Thread_t recon_thread;

Index: src/sys/modules/raid/Makefile
diff -u src/sys/modules/raid/Makefile:1.6 src/sys/modules/raid/Makefile:1.7
--- src/sys/modules/raid/Makefile:1.6	Sun Feb 17 04:05:57 2019
+++ src/sys/modules/raid/Makefile	Mon Sep 25 21:59:38 2023
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.6 2019/02/17 04:05:57 rin Exp $
+#	$NetBSD: Makefile,v 1.7 2023/09/25 21:59:38 oster Exp $
 
 .include "../Makefile.inc"
 
@@ -9,7 +9,7 @@ IOCONF=	raid.ioconf
 KMOD=	raid
 
 SRCS+=	rf_acctrace.c           rf_alloclist.c         rf_aselect.c
-SRCS+=	rf_callback.c           rf_chaindecluster.c    rf_copyback.c
+SRCS+=	rf_callback.c           rf_chaindecluster.c
 SRCS+=	rf_cvscan.c             rf_dagdegrd.c          rf_dagdegwr.c
 SRCS+=	rf_dagffrd.c            rf_dagffwr.c           rf_dagfuncs.c
 SRCS+=	rf_dagutils.c           rf_debugMem.c          rf_debugprint.c

Index: src/sys/rump/dev/lib/libraidframe/Makefile
diff -u src/sys/rump/dev/lib/libraidframe/Makefile:1.13 src/sys/rump/dev/lib/libraidframe/Makefile:1.14
--- src/sys/rump/dev/lib/libraidframe/Makefile:1.13	Wed Feb  6 23:00:56 2019
+++ src/sys/rump/dev/lib/libraidframe/Makefile	Mon Sep 25 21:59:38 2023
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.13 2019/02/06 23:00:56 christos Exp $
+#	$NetBSD: Makefile,v 1.14 2023/09/25 21:59:38 oster Exp $
 #
 
 .PATH:	${.CURDIR}/../../../../dev/raidframe
@@ -8,7 +8,7 @@ COMMENT=RAIDframe (software RAID)
 
 IOCONF=	RAIDFRAME.ioconf
 SRCS=   rf_acctrace.c rf_alloclist.c rf_aselect.c rf_callback.c		\
-	rf_chaindecluster.c rf_copyback.c rf_cvscan.c rf_dagdegrd.c	\
+	rf_chaindecluster.c rf_cvscan.c rf_dagdegrd.c			\
 	rf_dagdegwr.c rf_dagffrd.c rf_dagffwr.c rf_dagfuncs.c		\
 	rf_dagutils.c rf_debugMem.c rf_debugprint.c rf_decluster.c	\
 	rf_declusterPQ.c rf_diskqueue.c rf_disks.c rf_driver.c		\

Reply via email to