From 1aaf6772f1cd00520131a35a50bf41c196fe1ffc Mon Sep 17 00:00:00 2001 From: oster Date: Sun, 28 May 2000 00:48:30 +0000 Subject: - Add a mechanism for obtaining finer-grained 'progress' information regarding reconstructs, copybacks, etc. - RAID 0 doesn't do copybacks, but don't make raidctl sweat about it. --- sys/dev/raidframe/rf_raidframe.h | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'sys/dev/raidframe/rf_raidframe.h') diff --git a/sys/dev/raidframe/rf_raidframe.h b/sys/dev/raidframe/rf_raidframe.h index d0cf35e9f9c..3ffbb8a07fb 100644 --- a/sys/dev/raidframe/rf_raidframe.h +++ b/sys/dev/raidframe/rf_raidframe.h @@ -1,4 +1,4 @@ -/* $NetBSD: rf_raidframe.h,v 1.10 2000/03/26 22:38:29 oster Exp $ */ +/* $NetBSD: rf_raidframe.h,v 1.11 2000/05/28 00:48:31 oster Exp $ */ /* * Copyright (c) 1995 Carnegie-Mellon University. * All rights reserved. @@ -79,6 +79,12 @@ typedef struct RF_DeviceConfig_s { RF_RaidDisk_t spares[RF_MAX_DISKS]; } RF_DeviceConfig_t; +typedef struct RF_ProgressInfo_s { + RF_uint64 remaining; + RF_uint64 completed; + RF_uint64 total; +} RF_ProgressInfo_t; + /* flags that can be put in the rf_recon_req structure */ #define RF_FDFLAGS_NONE 0x0 /* just fail the disk */ #define RF_FDFLAGS_RECON 0x1 /* fail and initiate recon */ @@ -134,4 +140,9 @@ typedef struct RF_DeviceConfig_s { #define RAIDFRAME_SET_ROOT _IOWR ('r', 29, int) #define RAIDFRAME_DELETE_COMPONENT _IOW ('r', 30, RF_SingleComponent_t) #define RAIDFRAME_INCORPORATE_HOT_SPARE _IOW ('r', 31, RF_SingleComponent_t) +/* 'Extended' status versions */ +#define RAIDFRAME_CHECK_RECON_STATUS_EXT _IOWR('r', 32, RF_ProgressInfo_t *) +#define RAIDFRAME_CHECK_PARITYREWRITE_STATUS_EXT _IOWR ('r', 33, RF_ProgressInfo_t *) +#define RAIDFRAME_CHECK_COPYBACK_STATUS_EXT _IOWR ('r', 34, RF_ProgressInfo_t *) + #endif /* !_RF__RF_RAIDFRAME_H_ */ -- cgit