Home
last modified time | relevance | path

Searched refs:raidPtr (Results 1 – 25 of 82) sorted by relevance

1234

/netbsd-src/sys/dev/raidframe/
H A Drf_paritylogging.c65 static void FreeRegionInfo(RF_Raid_t * raidPtr, RF_RegionId_t regionID);
76 RF_Raid_t * raidPtr, in rf_ConfigureParityLogging() argument
82 RF_RaidLayout_t *layoutPtr = &raidPtr->Layout; in rf_ConfigureParityLogging()
97 raidPtr->numSectorsPerLog = RF_DEFAULT_NUM_SECTORS_PER_LOG; in rf_ConfigureParityLogging()
100 info = RF_MallocAndAdd(sizeof(*info), raidPtr->cleanupList); in rf_ConfigureParityLogging()
107 info->stripeIdentifier = rf_make_2d_array((raidPtr->numCol), in rf_ConfigureParityLogging()
108 (raidPtr->numCol), in rf_ConfigureParityLogging()
109 raidPtr->cleanupList); in rf_ConfigureParityLogging()
114 for (i = 0; i < (raidPtr->numCol); i++) { in rf_ConfigureParityLogging()
115 for (j = 0; j < (raidPtr->numCol); j++) { in rf_ConfigureParityLogging()
[all …]
H A Drf_driver.c149 static int rf_ConfigureRDFreeList(RF_ShutdownList_t ** listp, RF_Raid_t *raidPtr, RF_Config_t *cfgPtr);
205 rf_Shutdown(RF_Raid_t *raidPtr) in rf_Shutdown() argument
208 if (!raidPtr->valid) { in rf_Shutdown()
220 rf_lock_mutex2(raidPtr->rad_lock); in rf_Shutdown()
221 if (raidPtr->waitShutdown) { in rf_Shutdown()
222 rf_unlock_mutex2(raidPtr->rad_lock); in rf_Shutdown()
225 raidPtr->waitShutdown = 1; in rf_Shutdown()
226 while (raidPtr->nAccOutstanding) { in rf_Shutdown()
227 rf_wait_cond2(raidPtr->outstandingCond, raidPtr in rf_Shutdown()
298 rf_Configure(RF_Raid_t * raidPtr,RF_Config_t * cfgPtr,RF_AutoConfig_t * ac) rf_Configure() argument
480 rf_AllocEmergBuffers(RF_Raid_t * raidPtr) rf_AllocEmergBuffers() argument
535 rf_FreeEmergBuffers(RF_Raid_t * raidPtr) rf_FreeEmergBuffers() argument
560 RF_Raid_t *raidPtr; rf_ShutdownRDFreeList() local
568 rf_ConfigureRDFreeList(RF_ShutdownList_t ** listp,RF_Raid_t * raidPtr,RF_Config_t * cfgPtr) rf_ConfigureRDFreeList() argument
579 rf_AllocRaidAccDesc(RF_Raid_t * raidPtr,RF_IoType_t type,RF_RaidAddr_t raidAddress,RF_SectorCount_t numBlocks,void * bufPtr,void * bp,RF_RaidAccessFlags_t flags,const RF_AccessState_t * states) rf_AllocRaidAccDesc() argument
631 RF_Raid_t *raidPtr = desc->raidPtr; rf_FreeRaidAccDesc() local
675 rf_DoAccess(RF_Raid_t * raidPtr,RF_IoType_t type,RF_RaidAddr_t raidAddress,RF_SectorCount_t numBlocks,void * bufPtr,struct buf * bp,RF_RaidAccessFlags_t flags) rf_DoAccess() argument
742 rf_FailDisk(RF_Raid_t * raidPtr,int fcol,int initRecon) rf_FailDisk() argument
791 rf_SignalQuiescenceLock(RF_Raid_t * raidPtr) rf_SignalQuiescenceLock() argument
807 rf_SuspendNewRequestsAndWait(RF_Raid_t * raidPtr) rf_SuspendNewRequestsAndWait() argument
837 rf_ResumeNewRequests(RF_Raid_t * raidPtr) rf_ResumeNewRequests() argument
938 rf_alloc_mutex_cond(RF_Raid_t * raidPtr) rf_alloc_mutex_cond() argument
956 rf_destroy_mutex_cond(RF_Raid_t * raidPtr) rf_destroy_mutex_cond() argument
[all...]
H A Drf_reconstruct.c150 RF_Raid_t *raidPtr; in rf_ShutdownReconstruction() local
152 raidPtr = (RF_Raid_t *) arg; in rf_ShutdownReconstruction()
154 pool_destroy(&raidPtr->pools.reconbuffer); in rf_ShutdownReconstruction()
158 rf_ConfigureReconstruction(RF_ShutdownList_t **listp, RF_Raid_t *raidPtr, in rf_ConfigureReconstruction() argument
162 …rf_pool_init(raidPtr, raidPtr->poolNames.reconbuffer, &raidPtr->pools.reconbuffer, sizeof(RF_Recon… in rf_ConfigureReconstruction()
164 rf_ShutdownCreate(listp, rf_ShutdownReconstruction, raidPtr); in rf_ConfigureReconstruction()
170 AllocRaidReconDesc(RF_Raid_t *raidPtr, RF_RowCol_t col, in AllocRaidReconDesc() argument
178 reconDesc->raidPtr = raidPtr; in AllocRaidReconDesc()
193 reconDesc->raidPtr->raidid, in FreeReconDesc()
198 reconDesc->raidPtr->raidid, in FreeReconDesc()
[all …]
H A Drf_disks.c110 rf_ConfigureDisks(RF_ShutdownList_t **listp, RF_Raid_t *raidPtr, in rf_ConfigureDisks() argument
122 ret = rf_AllocDiskStructures(raidPtr, cfgPtr); in rf_ConfigureDisks()
126 disks = raidPtr->Disks; in rf_ConfigureDisks()
129 for (c = 0; c < raidPtr->numCol; c++) { in rf_ConfigureDisks()
130 ret = rf_ConfigureDisk(raidPtr, in rf_ConfigureDisks()
138 ret = raidfetch_component_label(raidPtr, c); in rf_ConfigureDisks()
143 if (!rf_reasonable_label(&raidPtr->raid_cinfo[c].ci_label,0) && !force) { in rf_ConfigureDisks()
165 raidPtr->status = rf_rs_degraded; in rf_ConfigureDisks()
171 for (c = 0; c < raidPtr->numCol; c++) { in rf_ConfigureDisks()
192 if (rf_CheckLabels( raidPtr, cfgPtr )) { in rf_ConfigureDisks()
[all …]
H A Drf_paritylog.c62 AllocParityLogCommonData(RF_Raid_t * raidPtr) in AllocParityLogCommonData() argument
70 rf_lock_mutex2(raidPtr->parityLogDiskQueue.mutex); in AllocParityLogCommonData()
71 if (raidPtr->parityLogDiskQueue.freeCommonList) { in AllocParityLogCommonData()
72 common = raidPtr->parityLogDiskQueue.freeCommonList; in AllocParityLogCommonData()
73 raidPtr->parityLogDiskQueue.freeCommonList = raidPtr->parityLogDiskQueue.freeCommonList->next; in AllocParityLogCommonData()
74 rf_unlock_mutex2(raidPtr->parityLogDiskQueue.mutex); in AllocParityLogCommonData()
76 rf_unlock_mutex2(raidPtr->parityLogDiskQueue.mutex); in AllocParityLogCommonData()
88 RF_Raid_t *raidPtr; in FreeParityLogCommonData() local
94 raidPtr = common->raidPtr; in FreeParityLogCommonData()
95 rf_lock_mutex2(raidPtr->parityLogDiskQueue.mutex); in FreeParityLogCommonData()
[all …]
H A Drf_chaindecluster.c65 RF_Raid_t *raidPtr, RF_Config_t *cfgPtr) in rf_ConfigureChainDecluster() argument
67 RF_RaidLayout_t *layoutPtr = &raidPtr->Layout; in rf_ConfigureChainDecluster()
73 info = RF_MallocAndAdd(sizeof(*info), raidPtr->cleanupList); in rf_ConfigureChainDecluster()
79 info->stripeIdentifier = rf_make_2d_array(raidPtr->numCol, 2, raidPtr->cleanupList); in rf_ConfigureChainDecluster()
82 for (i = 0; i < raidPtr->numCol; i++) { in rf_ConfigureChainDecluster()
83 info->stripeIdentifier[i][0] = i % raidPtr->numCol; in rf_ConfigureChainDecluster()
84 info->stripeIdentifier[i][1] = (i + 1) % raidPtr->numCol; in rf_ConfigureChainDecluster()
89 (2 * raidPtr->numCol - 2)); in rf_ConfigureChainDecluster()
90 info->numSparingRegions = num_used_stripeUnitsPerDisk / (2 * raidPtr->numCol - 2); in rf_ConfigureChainDecluster()
91 info->stripeUnitsPerSparingRegion = raidPtr->numCol * (raidPtr->numCol - 1); in rf_ConfigureChainDecluster()
[all …]
H A Drf_interdecluster.c67 RF_Raid_t * raidPtr, in rf_ConfigureInterDecluster() argument
70 RF_RaidLayout_t *layoutPtr = &raidPtr->Layout; in rf_ConfigureInterDecluster()
76 info = RF_MallocAndAdd(sizeof(*info), raidPtr->cleanupList); in rf_ConfigureInterDecluster()
82 SUs_per_region = raidPtr->numCol * (raidPtr->numCol - 1); in rf_ConfigureInterDecluster()
83 info->stripeIdentifier = rf_make_2d_array(SUs_per_region, 2, raidPtr->cleanupList); in rf_ConfigureInterDecluster()
87 info->stripeIdentifier[i][0] = i / (raidPtr->numCol - 1); in rf_ConfigureInterDecluster()
88 tmp = i / raidPtr->numCol; in rf_ConfigureInterDecluster()
89 info->stripeIdentifier[i][1] = (i + 1 + tmp) % raidPtr->numCol; in rf_ConfigureInterDecluster()
98 (2 * raidPtr->numCol)); in rf_ConfigureInterDecluster()
99 info->numSparingRegions = num_used_stripeUnitsPerDisk / (2 * raidPtr->numCol); in rf_ConfigureInterDecluster()
[all …]
H A Drf_paritylogDiskMgr.c115 RF_Raid_t * raidPtr, in ReadRegionLog() argument
130 *rrd_dag_h = rf_MakeSimpleDAG(raidPtr, 1, 0, regionBuffer, in ReadRegionLog()
137 *rrd_pda = rf_AllocPDAList(raidPtr, 1); in ReadRegionLog()
138 rf_MapLogParityLogging(raidPtr, regionID, 0, in ReadRegionLog()
140 (*rrd_pda)->numSector = raidPtr->regionInfo[regionID].capacity; in ReadRegionLog()
166 RF_Raid_t * raidPtr, in WriteCoreLog() argument
183 *fwr_dag_h = rf_MakeSimpleDAG(raidPtr, 1, 0, log->bufPtr, in WriteCoreLog()
187 *fwr_pda = rf_AllocPDAList(raidPtr, 1); in WriteCoreLog()
189 rf_MapLogParityLogging(raidPtr, regionID, regionOffset, in WriteCoreLog()
192 (*fwr_pda)->numSector = raidPtr->numSectorsPerLog; in WriteCoreLog()
[all …]
H A Drf_netbsdkintf.c183 static int raiddoaccess(RF_Raid_t *raidPtr, struct buf *bp);
184 static int rf_get_component_caches(RF_Raid_t *raidPtr, int *);
261 void *raidPtr; member
299 static void rf_RewriteParityThread(RF_Raid_t *raidPtr);
847 RF_Raid_t *raidPtr; in raid_dumpblocks() local
851 raidPtr = &rs->sc_r; in raid_dumpblocks()
854 if (raidPtr->Layout.numDataCol != 1 || in raid_dumpblocks()
855 raidPtr->Layout.numParityCol != 1) in raid_dumpblocks()
873 for (c = 0; c < raidPtr->numCol; c++) { in raid_dumpblocks()
874 if (raidPtr in raid_dumpblocks()
1060 raid_wakeup(RF_Raid_t * raidPtr) raid_wakeup() argument
1073 RF_Raid_t *raidPtr; raidstrategy() local
1106 RF_Raid_t *raidPtr; raid_diskstart() local
1121 raiddone(RF_Raid_t * raidPtr,struct buf * bp) raiddone() argument
1177 RF_Raid_t *raidPtr; raid_detach_unlocked() local
1211 rf_fail_disk(RF_Raid_t * raidPtr,struct rf_recon_req * rr) rf_fail_disk() argument
1326 RF_Raid_t *raidPtr = &rs->sc_r; rf_construct() local
1400 rf_set_component_label(RF_Raid_t * raidPtr,RF_ComponentLabel_t * clabel) rf_set_component_label() argument
1438 rf_init_component_label(RF_Raid_t * raidPtr,RF_ComponentLabel_t * clabel) rf_init_component_label() argument
1471 rf_rebuild_in_place(RF_Raid_t * raidPtr,RF_SingleComponent_t * componentPtr) rf_rebuild_in_place() argument
1539 rf_check_recon_status(RF_Raid_t * raidPtr,int * data) rf_check_recon_status() argument
1579 RF_Raid_t *raidPtr; raidioctl() local
1940 RF_Raid_t *raidPtr = &rs->sc_r; raidinit() local
2034 raidstart(RF_Raid_t * raidPtr) raidstart() argument
2061 raiddoaccess(RF_Raid_t * raidPtr,struct buf * bp) raiddoaccess() argument
2366 rf_parity_map_offset(RF_Raid_t * raidPtr) rf_parity_map_offset() argument
2381 rf_parity_map_size(RF_Raid_t * raidPtr) rf_parity_map_size() argument
2394 raidmarkclean(RF_Raid_t * raidPtr,RF_RowCol_t col) raidmarkclean() argument
2406 raidmarkdirty(RF_Raid_t * raidPtr,RF_RowCol_t col) raidmarkdirty() argument
2417 raidfetch_component_label(RF_Raid_t * raidPtr,RF_RowCol_t col) raidfetch_component_label() argument
2428 raidget_component_label(RF_Raid_t * raidPtr,RF_RowCol_t col) raidget_component_label() argument
2434 raidflush_component_label(RF_Raid_t * raidPtr,RF_RowCol_t col) raidflush_component_label() argument
2590 rf_paritymap_kern_write(RF_Raid_t * raidPtr,struct rf_paritymap_ondisk * map) rf_paritymap_kern_write() argument
2608 rf_paritymap_kern_read(RF_Raid_t * raidPtr,struct rf_paritymap_ondisk * map) rf_paritymap_kern_read() argument
2633 rf_markalldirty(RF_Raid_t * raidPtr) rf_markalldirty() argument
2695 rf_update_component_labels(RF_Raid_t * raidPtr,int final) rf_update_component_labels() argument
2774 rf_close_component(RF_Raid_t * raidPtr,struct vnode * vp,int auto_configured) rf_close_component() argument
2791 rf_UnconfigureVnodes(RF_Raid_t * raidPtr) rf_UnconfigureVnodes() argument
2822 RF_Raid_t *raidPtr; rf_ReconThread() local
2849 rf_RewriteParityThread(RF_Raid_t * raidPtr) rf_RewriteParityThread() argument
2885 RF_Raid_t *raidPtr; rf_ReconstructInPlaceThread() local
3495 rf_create_configuration(RF_AutoConfig_t * ac,RF_Config_t * config,RF_Raid_t * raidPtr) rf_create_configuration() argument
3528 rf_set_autoconfig(RF_Raid_t * raidPtr,int new_value) rf_set_autoconfig() argument
3556 rf_set_rootpartition(RF_Raid_t * raidPtr,int new_value) rf_set_rootpartition() argument
3623 raid_init_component_label(RF_Raid_t * raidPtr,RF_ComponentLabel_t * clabel) raid_init_component_label() argument
3659 RF_Raid_t *raidPtr; rf_auto_config_set() local
3729 rf_pool_init(RF_Raid_t * raidPtr,char * w_chan,struct pool * p,size_t size,const char * pool_name,size_t xmin,size_t xmax) rf_pool_init() argument
3750 rf_buf_queue_check(RF_Raid_t * raidPtr) rf_buf_queue_check() argument
3826 rf_set_geometry(struct raid_softc * rs,RF_Raid_t * raidPtr) rf_set_geometry() argument
3848 rf_get_component_caches(RF_Raid_t * raidPtr,int * data) rf_get_component_caches() argument
3891 rf_sync_component_cache(RF_Raid_t * raidPtr,int c,int force) rf_sync_component_cache() argument
3906 rf_sync_component_caches(RF_Raid_t * raidPtr,int force) rf_sync_component_caches() argument
3935 rf_check_recon_status_ext(RF_Raid_t * raidPtr,RF_ProgressInfo_t * info) rf_check_recon_status_ext() argument
3952 rf_check_parityrewrite_status_ext(RF_Raid_t * raidPtr,RF_ProgressInfo_t * info) rf_check_parityrewrite_status_ext() argument
3969 rf_check_copyback_status_ext(RF_Raid_t * raidPtr,RF_ProgressInfo_t * info) rf_check_copyback_status_ext() argument
3980 rf_get_info(RF_Raid_t * raidPtr,RF_DeviceConfig_t * config) rf_get_info() argument
4010 rf_get_component_label(RF_Raid_t * raidPtr,void * data) rf_get_component_label() argument
[all...]
H A Drf_engine.c94 RF_Raid_t *raidPtr; in rf_ShutdownEngine() local
96 raidPtr = (RF_Raid_t *) arg; in rf_ShutdownEngine()
99 rf_lock_mutex2(raidPtr->iodone_lock); in rf_ShutdownEngine()
101 raidPtr->shutdown_raidio = 1; in rf_ShutdownEngine()
102 rf_signal_cond2(raidPtr->iodone_cv); in rf_ShutdownEngine()
105 while (raidPtr->shutdown_raidio) in rf_ShutdownEngine()
106 rf_wait_cond2(raidPtr->iodone_cv, raidPtr->iodone_lock); in rf_ShutdownEngine()
108 rf_unlock_mutex2(raidPtr->iodone_lock); in rf_ShutdownEngine()
111 DO_LOCK(raidPtr); in rf_ShutdownEngine()
112 raidPtr->shutdown_engine = 1; in rf_ShutdownEngine()
[all …]
H A Drf_raid5_rotatedspare.c59 RF_Raid_t * raidPtr, in rf_ConfigureRAID5_RS() argument
62 RF_RaidLayout_t *layoutPtr = &raidPtr->Layout; in rf_ConfigureRAID5_RS()
67 info = RF_MallocAndAdd(sizeof(*info), raidPtr->cleanupList); in rf_ConfigureRAID5_RS()
72 RF_ASSERT(raidPtr->numCol >= 3); in rf_ConfigureRAID5_RS()
76 info->stripeIdentifier = rf_make_2d_array(raidPtr->numCol, raidPtr->numCol, raidPtr->cleanupList); in rf_ConfigureRAID5_RS()
80 for (i = 0; i < raidPtr->numCol; i++) { in rf_ConfigureRAID5_RS()
81 for (j = 0; j < raidPtr->numCol; j++) { in rf_ConfigureRAID5_RS()
82 info->stripeIdentifier[i][j] = (startdisk + j) % raidPtr->numCol; in rf_ConfigureRAID5_RS()
85 startdisk = raidPtr->numCol - 1; in rf_ConfigureRAID5_RS()
90 layoutPtr->numDataCol = raidPtr->numCol - 2; in rf_ConfigureRAID5_RS()
[all …]
H A Drf_dagutils.c102 RF_Raid_t *raidPtr; in rf_InitNode() local
127 raidPtr = hdr->raidPtr; in rf_InitNode()
146 node->big_dag_ptrs = rf_AllocDAGPCache(raidPtr); in rf_InitNode()
160 node->big_dag_params = rf_AllocDAGPCache(raidPtr); in rf_InitNode()
186 RF_Raid_t *raidPtr; in rf_FreeDAG() local
189 raidPtr = dag_h->raidPtr; in rf_FreeDAG()
197 rf_FreeAccessStripeMap(raidPtr, t_asmap); in rf_FreeDAG()
202 rf_FreePhysDiskAddr(raidPtr, pda); in rf_FreeDAG()
207 rf_FreeDAGNode(raidPtr, tmpnode); in rf_FreeDAG()
209 rf_FreeDAGHeader(raidPtr, dag_h); in rf_FreeDAG()
[all …]
H A Drf_map.c46 static void rf_FreePDAList(RF_Raid_t *raidPtr, RF_PhysDiskAddr_t *pda_list);
47 static void rf_FreeASMList(RF_Raid_t *raidPtr, RF_AccessStripeMap_t *asm_list);
79 rf_MapAccess(RF_Raid_t *raidPtr, RF_RaidAddr_t raidAddress, in rf_MapAccess() argument
82 RF_RaidLayout_t *layoutPtr = &(raidPtr->Layout); in rf_MapAccess()
89 RF_RaidDisk_t *disks = raidPtr->Disks; in rf_MapAccess()
111 asmList = rf_AllocASMList(raidPtr, totStripes); in rf_MapAccess()
114 pdaList = rf_AllocPDAList(raidPtr, lastSUID - SUID + 1 + in rf_MapAccess()
118 if (raidAddress + numBlocks > raidPtr->totalSectors) { in rf_MapAccess()
125 rf_PrintRaidAddressInfo(raidPtr, raidAddress, numBlocks); in rf_MapAccess()
169 (layoutPtr->map->MapSector) (raidPtr, raidAddress, in rf_MapAccess()
[all …]
H A Drf_reconutil.c60 RF_Raid_t *raidPtr = reconDesc->raidPtr; in rf_MakeReconControl() local
61 RF_RaidLayout_t *layoutPtr = &raidPtr->Layout; in rf_MakeReconControl()
72 lp = raidPtr->Layout.map; in rf_MakeReconControl()
79 reconCtrlPtr->perDiskInfo = RF_Malloc(raidPtr->numCol * in rf_MakeReconControl()
90 for (i = 0; i < raidPtr->numCol; i++) { in rf_MakeReconControl()
102 numSpareRUs = lp->GetNumSpareRUs(raidPtr); in rf_MakeReconControl()
112 retcode = rf_InstallSpareTable(raidPtr, fcol); in rf_MakeReconControl()
119 …reconCtrlPtr->reconMap = rf_MakeReconMap(raidPtr, (int) (layoutPtr->SUsPerRU * layoutPtr->sectorsP… in rf_MakeReconControl()
120 raidPtr->sectorsPerDisk, numSpareRUs); in rf_MakeReconControl()
123 for (i = 0; i < raidPtr->numCol; i++) { in rf_MakeReconControl()
[all …]
H A Drf_raid5.c58 rf_ConfigureRAID5(RF_ShutdownList_t **listp, RF_Raid_t *raidPtr, in rf_ConfigureRAID5() argument
61 RF_RaidLayout_t *layoutPtr = &raidPtr->Layout; in rf_ConfigureRAID5()
66 info = RF_MallocAndAdd(sizeof(*info), raidPtr->cleanupList); in rf_ConfigureRAID5()
73 info->stripeIdentifier = rf_make_2d_array(raidPtr->numCol, raidPtr->numCol, raidPtr->cleanupList); in rf_ConfigureRAID5()
77 for (i = 0; i < raidPtr->numCol; i++) { in rf_ConfigureRAID5()
78 for (j = 0; j < raidPtr->numCol; j++) { in rf_ConfigureRAID5()
79 info->stripeIdentifier[i][j] = (startdisk + j) % raidPtr->numCol; in rf_ConfigureRAID5()
82 startdisk = raidPtr->numCol - 1; in rf_ConfigureRAID5()
87 layoutPtr->numDataCol = raidPtr->numCol - 1; in rf_ConfigureRAID5()
92raidPtr->totalSectors = layoutPtr->stripeUnitsPerDisk * layoutPtr->numDataCol * layoutPtr->sectors… in rf_ConfigureRAID5()
[all …]
H A Drf_raid1.c61 rf_ConfigureRAID1(RF_ShutdownList_t **listp, RF_Raid_t *raidPtr, in rf_ConfigureRAID1() argument
64 RF_RaidLayout_t *layoutPtr = &raidPtr->Layout; in rf_ConfigureRAID1()
69 if (raidPtr->numCol < 2 || raidPtr->numCol % 2 != 0) { in rf_ConfigureRAID1()
74 info = RF_MallocAndAdd(sizeof(*info), raidPtr->cleanupList); in rf_ConfigureRAID1()
80 info->stripeIdentifier = rf_make_2d_array(raidPtr->numCol / 2, 2, raidPtr->cleanupList); in rf_ConfigureRAID1()
83 for (i = 0; i < (raidPtr->numCol / 2); i++) { in rf_ConfigureRAID1()
92raidPtr->totalSectors = layoutPtr->stripeUnitsPerDisk * (raidPtr->numCol / 2) * layoutPtr->sectors… in rf_ConfigureRAID1()
93 layoutPtr->numStripe = layoutPtr->stripeUnitsPerDisk * (raidPtr->numCol / 2); in rf_ConfigureRAID1()
103 rf_MapSectorRAID1(RF_Raid_t *raidPtr, RF_RaidAddr_t raidSector, in rf_MapSectorRAID1() argument
107 RF_StripeNum_t SUID = raidSector / raidPtr->Layout.sectorsPerStripeUnit; in rf_MapSectorRAID1()
[all …]
H A Drf_raid4.c57 rf_ConfigureRAID4(RF_ShutdownList_t **listp, RF_Raid_t *raidPtr, in rf_ConfigureRAID4() argument
60 RF_RaidLayout_t *layoutPtr = &raidPtr->Layout; in rf_ConfigureRAID4()
65 info = RF_MallocAndAdd(sizeof(*info), raidPtr->cleanupList); in rf_ConfigureRAID4()
71 info->stripeIdentifier = RF_MallocAndAdd(raidPtr->numCol * in rf_ConfigureRAID4()
72 sizeof(*info->stripeIdentifier), raidPtr->cleanupList); in rf_ConfigureRAID4()
75 for (i = 0; i < raidPtr->numCol; i++) in rf_ConfigureRAID4()
80 layoutPtr->numDataCol = raidPtr->numCol - 1; in rf_ConfigureRAID4()
83raidPtr->totalSectors = layoutPtr->stripeUnitsPerDisk * layoutPtr->numDataCol * layoutPtr->sectors… in rf_ConfigureRAID4()
89 rf_GetDefaultNumFloatingReconBuffersRAID4(RF_Raid_t *raidPtr) in rf_GetDefaultNumFloatingReconBuffersRAID4() argument
95 rf_GetDefaultHeadSepLimitRAID4(RF_Raid_t *raidPtr) in rf_GetDefaultHeadSepLimitRAID4() argument
[all …]
H A Drf_callback.c58 RF_Raid_t *raidPtr; in rf_ShutdownCallback() local
60 raidPtr = (RF_Raid_t *) arg; in rf_ShutdownCallback()
62 pool_destroy(&raidPtr->pools.callbackf); in rf_ShutdownCallback()
63 pool_destroy(&raidPtr->pools.callbackv); in rf_ShutdownCallback()
67 rf_ConfigureCallback(RF_ShutdownList_t **listp, RF_Raid_t *raidPtr, in rf_ConfigureCallback() argument
71 …rf_pool_init(raidPtr, raidPtr->poolNames.callbackf, &raidPtr->pools.callbackf, sizeof(RF_CallbackF… in rf_ConfigureCallback()
73 …rf_pool_init(raidPtr, raidPtr->poolNames.callbackv, &raidPtr->pools.callbackv, sizeof(RF_CallbackV… in rf_ConfigureCallback()
75 rf_ShutdownCreate(listp, rf_ShutdownCallback, raidPtr); in rf_ConfigureCallback()
81 rf_AllocCallbackFuncDesc(RF_Raid_t *raidPtr) in rf_AllocCallbackFuncDesc() argument
83 return pool_get(&raidPtr->pools.callbackf, PR_WAITOK); in rf_AllocCallbackFuncDesc()
[all …]
H A Drf_evenodd.c70 rf_ConfigureEvenOdd(RF_ShutdownList_t **listp, RF_Raid_t *raidPtr, in rf_ConfigureEvenOdd() argument
73 RF_RaidLayout_t *layoutPtr = &raidPtr->Layout; in rf_ConfigureEvenOdd()
77 info = RF_MallocAndAdd(sizeof(*info), raidPtr->cleanupList); in rf_ConfigureEvenOdd()
80 info->stripeIdentifier = rf_make_2d_array(raidPtr->numCol, raidPtr->numCol, raidPtr->cleanupList); in rf_ConfigureEvenOdd()
82 for (i = 0; i < raidPtr->numCol; i++) { in rf_ConfigureEvenOdd()
83 for (j = 0; j < raidPtr->numCol; j++) { in rf_ConfigureEvenOdd()
84 info->stripeIdentifier[i][j] = (startdisk + j) % raidPtr->numCol; in rf_ConfigureEvenOdd()
87 startdisk += raidPtr->numCol; in rf_ConfigureEvenOdd()
92 layoutPtr->numDataCol = raidPtr->numCol - 2; /* ORIG: in rf_ConfigureEvenOdd()
96 if (raidPtr->numCol <= 17) { in rf_ConfigureEvenOdd()
[all …]
H A Drf_psstatus.c61 RealPrintPSStatusTable(RF_Raid_t * raidPtr,
72 RF_Raid_t *raidPtr; in rf_ShutdownPSStatus() local
74 raidPtr = (RF_Raid_t *) arg; in rf_ShutdownPSStatus()
76 pool_destroy(&raidPtr->pools.pss); in rf_ShutdownPSStatus()
80 rf_ConfigurePSStatus(RF_ShutdownList_t **listp, RF_Raid_t *raidPtr, in rf_ConfigurePSStatus() argument
84 …rf_pool_init(raidPtr, raidPtr->poolNames.pss, &raidPtr->pools.pss, sizeof(RF_ReconParityStripeStat… in rf_ConfigurePSStatus()
86 rf_ShutdownCreate(listp, rf_ShutdownPSStatus, raidPtr); in rf_ConfigurePSStatus()
92 rf_InitPSStatus(RF_Raid_t *raidPtr) in rf_InitPSStatus() argument
94 raidPtr->pssTableSize = RF_PSS_DEFAULT_TABLESIZE; in rf_InitPSStatus()
104 rf_MakeParityStripeStatusTable(RF_Raid_t *raidPtr) in rf_MakeParityStripeStatusTable() argument
[all …]
H A Drf_diskqueue.c168 rf_ConfigureDiskQueue(RF_Raid_t *raidPtr, RF_DiskQueue_t *diskqueue, in rf_ConfigureDiskQueue() argument
183 diskqueue->raidPtr = raidPtr; in rf_ConfigureDiskQueue()
184 diskqueue->rf_cinfo = &raidPtr->raid_cinfo[c]; in rf_ConfigureDiskQueue()
200 RF_Raid_t *raidPtr; in rf_ShutdownDiskQueueSystem() local
202 raidPtr = (RF_Raid_t *) arg; in rf_ShutdownDiskQueueSystem()
204 pool_destroy(&raidPtr->pools.dqd); in rf_ShutdownDiskQueueSystem()
205 pool_destroy(&raidPtr->pools.bufio); in rf_ShutdownDiskQueueSystem()
209 rf_ConfigureDiskQueueSystem(RF_ShutdownList_t **listp, RF_Raid_t *raidPtr, in rf_ConfigureDiskQueueSystem() argument
214 rf_pool_init(raidPtr, raidPtr->poolNames.dqd, &raidPtr->pools.dqd, sizeof(RF_DiskQueueData_t), in rf_ConfigureDiskQueueSystem()
216 rf_pool_init(raidPtr, raidPtr->poolNames.bufio, &raidPtr->pools.bufio, sizeof(buf_t), in rf_ConfigureDiskQueueSystem()
[all …]
H A Drf_parityscan.c65 rf_RewriteParity(RF_Raid_t *raidPtr) in rf_RewriteParity() argument
67 if (raidPtr->parity_map != NULL) in rf_RewriteParity()
68 return rf_paritymap_rewrite(raidPtr->parity_map); in rf_RewriteParity()
70 return rf_RewriteParityRange(raidPtr, 0, raidPtr->totalSectors); in rf_RewriteParity()
74 rf_RewriteParityRange(RF_Raid_t *raidPtr, RF_SectorNum_t sec_begin, in rf_RewriteParityRange() argument
81 RF_RaidLayout_t *layoutPtr = &raidPtr->Layout; in rf_RewriteParityRange()
87 if (raidPtr->Layout.map->faultsTolerated == 0) { in rf_RewriteParityRange()
91 if (raidPtr->status != rf_rs_optimal) { in rf_RewriteParityRange()
107 if (raidPtr->waitShutdown) { in rf_RewriteParityRange()
112 asm_h = rf_MapAccess(raidPtr, i, in rf_RewriteParityRange()
[all …]
H A Drf_states.c104 int unit = desc->raidPtr->raidid; in rf_ContinueRaidAccess()
201 desc->raidPtr->raidid, desc->type, in rf_ContinueDagAccess()
222 if (desc->raidPtr->parity_map != NULL && in rf_State_LastState()
224 rf_paritymap_end(desc->raidPtr->parity_map, in rf_State_LastState()
228 raiddone(desc->raidPtr, desc->bp); /* access came through ioctl */ in rf_State_LastState()
240 RF_Raid_t *raidPtr; in rf_State_IncrAccessCount() local
242 raidPtr = desc->raidPtr; in rf_State_IncrAccessCount()
245 rf_lock_mutex2(raidPtr->access_suspend_mutex); in rf_State_IncrAccessCount()
246 raidPtr->accs_in_flight++; /* used to detect quiescence */ in rf_State_IncrAccessCount()
247 rf_unlock_mutex2(raidPtr->access_suspend_mutex); in rf_State_IncrAccessCount()
[all …]
H A Drf_reconbuffer.c108 lp = rbuf->raidPtr->Layout.map; in rf_SubmitReconBuffer()
122 RF_Raid_t *raidPtr = rbuf->raidPtr; in rf_SubmitReconBufferBasic() local
123 RF_RaidLayout_t *layoutPtr = &raidPtr->Layout; in rf_SubmitReconBufferBasic()
124 RF_ReconCtrl_t *reconCtrlPtr = raidPtr->reconControl; in rf_SubmitReconBufferBasic()
141 RF_LOCK_PSS_MUTEX(raidPtr, rbuf->parityStripeID); in rf_SubmitReconBufferBasic()
150 …pssPtr = rf_LookupRUStatus(raidPtr, reconCtrlPtr->pssTable, rbuf->parityStripeID, rbuf->which_ru, … in rf_SubmitReconBufferBasic()
168 rf_MultiWayReconXor(raidPtr, pssPtr); in rf_SubmitReconBufferBasic()
171 raidPtr->accumXorTimeUs += RF_ETIMER_VAL_US(timer); in rf_SubmitReconBufferBasic()
174 raidPtr->recon_tracerecs[rbuf->col].xor_us = RF_ETIMER_VAL_US(timer); in rf_SubmitReconBufferBasic()
175 RF_ETIMER_STOP(raidPtr->recon_tracerecs[rbuf->col].recon_timer); in rf_SubmitReconBufferBasic()
[all …]
H A Drf_raid0.c55 rf_ConfigureRAID0(RF_ShutdownList_t **listp, RF_Raid_t *raidPtr, in rf_ConfigureRAID0() argument
58 RF_RaidLayout_t *layoutPtr = &raidPtr->Layout; in rf_ConfigureRAID0()
63 info = RF_MallocAndAdd(sizeof(*info), raidPtr->cleanupList); in rf_ConfigureRAID0()
68 info->stripeIdentifier = RF_MallocAndAdd(raidPtr->numCol in rf_ConfigureRAID0()
69 * sizeof(*info->stripeIdentifier), raidPtr->cleanupList); in rf_ConfigureRAID0()
72 for (i = 0; i < raidPtr->numCol; i++) in rf_ConfigureRAID0()
75raidPtr->totalSectors = layoutPtr->stripeUnitsPerDisk * raidPtr->numCol * layoutPtr->sectorsPerStr… in rf_ConfigureRAID0()
77 layoutPtr->dataSectorsPerStripe = raidPtr->numCol * layoutPtr->sectorsPerStripeUnit; in rf_ConfigureRAID0()
78 layoutPtr->numDataCol = raidPtr->numCol; in rf_ConfigureRAID0()
84 rf_MapSectorRAID0(RF_Raid_t *raidPtr, RF_RaidAddr_t raidSector, in rf_MapSectorRAID0() argument
[all …]

1234