Lines Matching refs:ap

66 struct	alts_mempart	*ap = &alts_part;	/* pointer to incore */  variable
98 ap->ap_flag |= ALTS_ADDPART; in updatebadsec()
101 ent_sort(ap->ap_gbadp, ap->ap_gbadcnt); in updatebadsec()
102 ent_compress(ap->ap_gbadp, ap->ap_gbadcnt); in updatebadsec()
115 if (ap->ap_tblp == NULL) { in read_altsctr()
117 ap->ap_tbl_secsiz = byte_to_secsiz(ALTS_PARTTBL_SIZE, NBPSCTR); in read_altsctr()
118 ap->ap_tblp = malloc(ap->ap_tbl_secsiz); in read_altsctr()
119 if (ap->ap_tblp == NULL) { in read_altsctr()
131 if ((ap->ap_memmapp = malloc(part->p_size)) == NULL) { in read_altsctr()
136 ap->ap_tblp->alts_map_len = (part->p_size + 8 - 1) / 8; in read_altsctr()
137 ap->ap_map_secsiz = byte_to_secsiz(ap->ap_tblp->alts_map_len, in read_altsctr()
139 ap->ap_map_sectot = ap->ap_map_secsiz / NBPSCTR; in read_altsctr()
140 if ((ap->ap_mapp = malloc(ap->ap_map_secsiz)) == NULL) { in read_altsctr()
146 (void) memset(ap->ap_memmapp, 0, part->p_size); in read_altsctr()
147 (void) memset(ap->ap_mapp, 0, ap->ap_map_secsiz); in read_altsctr()
148 ap->part = *part; /* struct copy */ in read_altsctr()
155 if (ap->ap_flag & ALTS_ADDPART) { in read_altsctr()
177 blkaddr_t altsp_srtsec = ap->part.p_start; in chk_badsec()
178 blkaddr_t altsp_endsec = ap->part.p_start + ap->part.p_size - 1; in chk_badsec()
182 for (cnt = 0; cnt < ap->ap_gbadcnt; cnt++) { in chk_badsec()
183 badsec = (ap->ap_gbadp)[cnt].bad_start; in chk_badsec()
187 if ((ap->ap_memmapp)[badsec - altsp_srtsec] != in chk_badsec()
191 ap->ap_tbl_secsiz / NBPSCTR - 1))) { in chk_badsec()
198 altsp_srtsec+ap->ap_tblp->alts_map_base) && in chk_badsec()
200 (altsp_srtsec + ap->ap_tblp->alts_map_base + in chk_badsec()
201 ap->ap_map_sectot - 1))) { in chk_badsec()
207 altsp_srtsec+ap->ap_tblp->alts_ent_base) && in chk_badsec()
209 (altsp_srtsec + ap->ap_tblp->alts_ent_base + in chk_badsec()
210 ap->ap_ent_secsiz / NBPSCTR - 1))) { in chk_badsec()
215 (ap->ap_memmapp)[badsec - altsp_srtsec] = in chk_badsec()
217 (ap->ap_gbadp)[cnt].bad_start = in chk_badsec()
221 (ap->ap_gbadp)[cnt].bad_start = in chk_badsec()
228 status = ent_bsearch(ap->ap_entp, in chk_badsec()
229 ap->ap_tblp->alts_ent_used, in chk_badsec()
230 &((ap->ap_gbadp)[cnt])); in chk_badsec()
236 (ap->ap_gbadp)[cnt].bad_start = in chk_badsec()
251 blkaddr_t altsp_srtsec = ap->part.p_start; in init_altsctr()
252 blkaddr_t altsp_endsec = ap->part.p_start + ap->part.p_size - 1; in init_altsctr()
255 ap->ap_entp = NULL; in init_altsctr()
256 ap->ap_ent_secsiz = 0; in init_altsctr()
257 ap->ap_tblp->alts_sanity = ALTS_SANITY; in init_altsctr()
258 ap->ap_tblp->alts_version = ALTS_VERSION1; in init_altsctr()
259 ap->ap_tblp->alts_map_len = (ap->part.p_size + 8 - 1) / 8; in init_altsctr()
260 ap->ap_tblp->alts_ent_used = 0; in init_altsctr()
261 ap->ap_tblp->alts_ent_base = 0; in init_altsctr()
262 ap->ap_tblp->alts_ent_end = 0; in init_altsctr()
263 ap->ap_tblp->alts_resv_base = ap->part.p_size - 1; in init_altsctr()
265 ap->ap_tblp->alts_pad[cnt] = 0; in init_altsctr()
267 for (cnt = 0; cnt < ap->ap_gbadcnt; cnt++) { in init_altsctr()
268 badsec = (ap->ap_gbadp)[cnt].bad_start; in init_altsctr()
275 (ap->ap_memmapp)[badsec - altsp_srtsec] = ALTS_BAD; in init_altsctr()
276 (ap->ap_gbadp)[cnt].bad_start = in init_altsctr()
282 ap->ap_tblp->alts_map_base = in init_altsctr()
283 altsmap_alloc(ap->ap_tbl_secsiz / NBPSCTR, in init_altsctr()
284 ap->part.p_size, ap->ap_map_sectot, ALTS_MAP_UP); in init_altsctr()
285 if (ap->ap_tblp->alts_map_base == 0) { in init_altsctr()
307 ap->ap_tbl_secsiz / UBSIZE, (char *)ap->ap_tblp, 0, NULL); in get_altsctr()
312 if (ap->ap_tblp->alts_sanity != ALTS_SANITY) in get_altsctr()
317 (ap->ap_tblp->alts_map_base) + altsec_offset, in get_altsctr()
318 ap->ap_map_secsiz / UBSIZE, (char *)ap->ap_mapp, 0, NULL); in get_altsctr()
327 if (ap->ap_tblp->alts_ent_used == 0) { in get_altsctr()
328 ap->ap_entp = NULL; in get_altsctr()
329 ap->ap_ent_secsiz = 0; in get_altsctr()
331 ap->ap_ent_secsiz = byte_to_secsiz( in get_altsctr()
332 (ap->ap_tblp->alts_ent_used*ALTS_ENT_SIZE), NBPSCTR); in get_altsctr()
333 ap->ap_entp = malloc(ap->ap_ent_secsiz); in get_altsctr()
334 if (ap->ap_entp == NULL) { in get_altsctr()
341 (ap->ap_tblp->alts_ent_base) + altsec_offset, in get_altsctr()
342 ap->ap_ent_secsiz / UBSIZE, (char *)ap->ap_entp, in get_altsctr()
362 if (ap->ap_tblp == NULL) in wr_altsctr()
365 ap->ap_tbl_secsiz / UBSIZE, (char *)ap->ap_tblp, 0, NULL); in wr_altsctr()
368 status, ap->ap_tbl_secsiz / 512); in wr_altsctr()
373 if (ata_rdwr(DIR_WRITE, cur_file, (ap->ap_tblp->alts_map_base) + in wr_altsctr()
374 altsec_offset, ap->ap_map_secsiz / UBSIZE, in wr_altsctr()
375 (char *)ap->ap_mapp, 0, NULL) == FAILURE) { in wr_altsctr()
380 if (ap->ap_tblp->alts_ent_used != 0) { in wr_altsctr()
382 (ap->ap_tblp->alts_ent_base)+ altsec_offset, in wr_altsctr()
383 ap->ap_ent_secsiz / UBSIZE, in wr_altsctr()
384 (char *)ap->ap_entp, 0, NULL) == FAILURE) { in wr_altsctr()
410 ap->ap_gbadp = NULL; in get_badsec()
411 ap->ap_gbadcnt = 0; in get_badsec()
413 ap->ap_gbadp = malloc(cnt * ALTS_ENT_SIZE); in get_badsec()
414 if (ap->ap_gbadp == NULL) { in get_badsec()
419 (void) memset(ap->ap_gbadp, 0, cnt * ALTS_ENT_SIZE); in get_badsec()
421 for (growbadp = ap->ap_gbadp, cnt = 0, blc_p = badsl_chain; in get_badsec()
444 ap->ap_gbadcnt = cnt; in get_badsec()
480 if (ap->ap_gbadcnt == 0) in gen_alts_ent()
483 ent_used = ap->ap_tblp->alts_ent_used + ap->ap_gbadcnt; in gen_alts_ent()
484 ap->ap_ent_secsiz = byte_to_secsiz(ent_used*ALTS_ENT_SIZE, NBPSCTR); in gen_alts_ent()
485 entp = malloc(ap->ap_ent_secsiz); in gen_alts_ent()
488 ap->ap_ent_secsiz); in gen_alts_ent()
492 ent_used = ent_merge(entp, ap->ap_entp, ap->ap_tblp->alts_ent_used, in gen_alts_ent()
493 ap->ap_gbadp, ap->ap_gbadcnt); in gen_alts_ent()
494 free(ap->ap_entp); in gen_alts_ent()
495 free(ap->ap_gbadp); in gen_alts_ent()
496 ap->ap_entp = entp; in gen_alts_ent()
497 ap->ap_ent_secsiz = byte_to_secsiz(ent_used*ALTS_ENT_SIZE, NBPSCTR); in gen_alts_ent()
498 ap->ap_tblp->alts_ent_used = ent_used; in gen_alts_ent()
499 ap->ap_gbadp = NULL; in gen_alts_ent()
500 ap->ap_gbadcnt = 0; in gen_alts_ent()
506 ap->ap_tblp->alts_ent_base = in gen_alts_ent()
507 altsmap_alloc((blkaddr_t)ap->ap_tblp->alts_map_base + in gen_alts_ent()
508 ap->ap_map_sectot, (blkaddr_t)ap->part.p_size, in gen_alts_ent()
509 ap->ap_ent_secsiz / NBPSCTR, ALTS_MAP_UP); in gen_alts_ent()
510 if (ap->ap_tblp->alts_ent_base == 0) { in gen_alts_ent()
515 ap->ap_tblp->alts_ent_end = ap->ap_tblp->alts_ent_base + in gen_alts_ent()
516 (ap->ap_ent_secsiz / NBPSCTR) - 1; in gen_alts_ent()
532 for (i = 0; i < ap->ap_tblp->alts_ent_used; i++) { in assign_altsctr()
533 if ((ap->ap_entp)[i].bad_start == (uint32_t)ALTS_ENT_EMPTY) in assign_altsctr()
535 if ((ap->ap_entp)[i].good_start != 0) in assign_altsctr()
538 (ap->ap_entp)[i].bad_end - (ap->ap_entp)[i].bad_start + 1; in assign_altsctr()
539 alts_ind = altsmap_alloc(ap->part.p_size - 1, in assign_altsctr()
540 ap->ap_tblp->alts_map_base + in assign_altsctr()
541 ap->ap_map_sectot - 1, cluster, ALTS_MAP_DOWN); in assign_altsctr()
545 (ap->ap_entp)[i].bad_start); in assign_altsctr()
549 (ap->ap_entp)[i].good_start = alts_ind +ap->part.p_start; in assign_altsctr()
551 (ap->ap_memmapp)[alts_ind+j] = ALTS_BAD; in assign_altsctr()
565 for (i = 0; i < ap->part.p_size; i++) { in expand_map()
566 (ap->ap_memmapp)[i] = altsmap_getbit(i); in expand_map()
581 for (i = 0, bytesz = 7; i < ap->part.p_size; i++) { in compress_map()
582 mask |= ((ap->ap_memmapp)[i] << bytesz--); in compress_map()
584 (ap->ap_mapp)[maplen++] = mask; in compress_map()
594 (ap->ap_mapp)[maplen] = mask; in compress_map()
610 if ((ap->ap_mapp)[slot] & mask) in altsmap_getbit()
628 if ((ap->ap_memmapp)[i] == ALTS_BAD) { in altsmap_alloc()
789 int cnt = ap->ap_tblp->alts_ent_used; in chk_bad_altsctr()
795 numsec = (ap->ap_entp)[i].bad_end - (ap->ap_entp)[i].bad_start; in chk_bad_altsctr()
796 if ((badsec >= (ap->ap_entp)[i].good_start) && in chk_bad_altsctr()
797 (badsec <= ((ap->ap_entp)[i].good_start + numsec))) { in chk_bad_altsctr()