Deleted Added
full compact
array.h (142988) array.h (149871)
1/*
1/*
2 * Copyright (c) 2003-2004 HighPoint Technologies, Inc.
2 * Copyright (c) 2004-2005 HighPoint Technologies, Inc.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright

--- 7 unchanged lines hidden (view full) ---

18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright

--- 7 unchanged lines hidden (view full) ---

18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
26 * $FreeBSD: head/sys/dev/hptmv/array.h 142988 2005-03-02 05:14:28Z scottl $
26 * $FreeBSD: head/sys/dev/hptmv/array.h 149871 2005-09-07 23:33:26Z scottl $
27 */
28
29#ifndef _ARRAY_H_
30#define _ARRAY_H_
31
32/*
33 * time represented in DWORD format
34 */

--- 22 unchanged lines hidden (view full) ---

57 * basic information
58 */
59 UCHAR bArnMember; /* the number of members in array */
60 UCHAR bArRealnMember; /* real member count */
61 UCHAR bArBlockSizeShift; /* the number of shift bit for a block */
62 UCHAR reserve1;
63
64 ULONG dArStamp; /* array ID. all disks in a array has same ID */
27 */
28
29#ifndef _ARRAY_H_
30#define _ARRAY_H_
31
32/*
33 * time represented in DWORD format
34 */

--- 22 unchanged lines hidden (view full) ---

57 * basic information
58 */
59 UCHAR bArnMember; /* the number of members in array */
60 UCHAR bArRealnMember; /* real member count */
61 UCHAR bArBlockSizeShift; /* the number of shift bit for a block */
62 UCHAR reserve1;
63
64 ULONG dArStamp; /* array ID. all disks in a array has same ID */
65 ULONG failedStamp; /* stamp for failed member */
65 USHORT bStripeWitch; /* = (1 << BlockSizeShift) */
66
67 USHORT rf_broken: 1;
68 USHORT rf_need_rebuild: 1; /* one member's data are incorrect.
69 for R5, if CriticalMembers==0, it means
70 parity needs to be constructed */
71 USHORT rf_need_sync: 1; /* need write array info to disk */
72 /* ioctl flags */

--- 5 unchanged lines hidden (view full) ---

78 USHORT rf_abort_rebuild: 1;
79 USHORT rf_duplicate_and_create: 1;
80 USHORT rf_duplicate_and_created: 1;
81 USHORT rf_duplicate_must_done: 1;
82 USHORT rf_raid15: 1;
83
84 USHORT CriticalMembers; /* tell which member is critial */
85 UCHAR last_read; /* for RAID 1 load banlancing */
66 USHORT bStripeWitch; /* = (1 << BlockSizeShift) */
67
68 USHORT rf_broken: 1;
69 USHORT rf_need_rebuild: 1; /* one member's data are incorrect.
70 for R5, if CriticalMembers==0, it means
71 parity needs to be constructed */
72 USHORT rf_need_sync: 1; /* need write array info to disk */
73 /* ioctl flags */

--- 5 unchanged lines hidden (view full) ---

79 USHORT rf_abort_rebuild: 1;
80 USHORT rf_duplicate_and_create: 1;
81 USHORT rf_duplicate_and_created: 1;
82 USHORT rf_duplicate_must_done: 1;
83 USHORT rf_raid15: 1;
84
85 USHORT CriticalMembers; /* tell which member is critial */
86 UCHAR last_read; /* for RAID 1 load banlancing */
86 UCHAR pad1;
87 UCHAR PrivateFlag1;
87
88 LBA_T RebuildSectors; /* how many sectors is OK (LBA on member disk) */
89
90 PVDevice pMember[MAX_MEMBERS];
91 /*
92 * utility working data
93 */
94 UCHAR ArrayName[MAX_ARRAY_NAME]; /* The Name of the array */

--- 51 unchanged lines hidden (view full) ---

146 TIME_RECORD CreateTime; /* when created it */
147 UCHAR Description[64]; /* array description */
148 UCHAR CreateManager[16]; /* who created it */
149
150#define ArrayDescript_3_0_size ((unsigned)(ULONG_PTR)&((struct _ArrayDescript *)0)->bCheckSum31)
151#define ArrayDescript_3_1_size 512
152
153 UCHAR bCheckSum31; /* new check sum */
88
89 LBA_T RebuildSectors; /* how many sectors is OK (LBA on member disk) */
90
91 PVDevice pMember[MAX_MEMBERS];
92 /*
93 * utility working data
94 */
95 UCHAR ArrayName[MAX_ARRAY_NAME]; /* The Name of the array */

--- 51 unchanged lines hidden (view full) ---

147 TIME_RECORD CreateTime; /* when created it */
148 UCHAR Description[64]; /* array description */
149 UCHAR CreateManager[16]; /* who created it */
150
151#define ArrayDescript_3_0_size ((unsigned)(ULONG_PTR)&((struct _ArrayDescript *)0)->bCheckSum31)
152#define ArrayDescript_3_1_size 512
153
154 UCHAR bCheckSum31; /* new check sum */
154 UCHAR reserve2[2];
155 UCHAR PrivateFlag1; /* private */
156 UCHAR reserve1;
157
155#ifdef __BIG_ENDIAN_BITFIELD
156 UCHAR df_read_ahead: 1; /* enable read ahead */
157 UCHAR df_read_ahead_set: 1;
158 UCHAR df_write_cache: 1; /* enable write cache */
159 UCHAR df_write_cache_set: 1;
160 UCHAR df_ncq: 1; /* enable NCQ */
161 UCHAR df_ncq_set: 1;
162 UCHAR df_tcq: 1; /* enable TCQ */

--- 10 unchanged lines hidden (view full) ---

173#endif
174
175 struct {
176 ULONG CapacityHi32;
177 ULONG RebuildSectorsHi32;
178 }
179 levelex[2];
180
158#ifdef __BIG_ENDIAN_BITFIELD
159 UCHAR df_read_ahead: 1; /* enable read ahead */
160 UCHAR df_read_ahead_set: 1;
161 UCHAR df_write_cache: 1; /* enable write cache */
162 UCHAR df_write_cache_set: 1;
163 UCHAR df_ncq: 1; /* enable NCQ */
164 UCHAR df_ncq_set: 1;
165 UCHAR df_tcq: 1; /* enable TCQ */

--- 10 unchanged lines hidden (view full) ---

176#endif
177
178 struct {
179 ULONG CapacityHi32;
180 ULONG RebuildSectorsHi32;
181 }
182 levelex[2];
183
184 ULONG failedStamp; /* array stamp for failed memebr */
185
181} ArrayDescript;
182
186} ArrayDescript;
187
188/* report an error if ArrayDescript size exceed 512 */
189typedef char ArrayDescript_size_should_not_exceed_512[512-sizeof(ArrayDescript)];
190
183#pragma pack()
184
185/* Signature */
186#define HPT_ARRAY_V3 0x5a7816f3
187#ifdef ARRAY_V2_ONLY
188#define SAVE_FOR_RAID_INFO 0
189#else
190#define SAVE_FOR_RAID_INFO 10

--- 77 unchanged lines hidden ---
191#pragma pack()
192
193/* Signature */
194#define HPT_ARRAY_V3 0x5a7816f3
195#ifdef ARRAY_V2_ONLY
196#define SAVE_FOR_RAID_INFO 0
197#else
198#define SAVE_FOR_RAID_INFO 10

--- 77 unchanged lines hidden ---