Lines Matching refs:plex

90 enum requeststatus build_rq_buffer(struct rqelement *rqe, struct plex *plex);
125 struct plex *plex; in bre5() local
138 plex = &PLEX[plexno]; /* point to the plex */ in bre5()
142 … if (*diskaddr >= plex->length) /* beyond the end of the plex */ in bre5()
153 m.stripeoffset = *diskaddr % (plex->stripesize * (plex->subdisks - 1)); in bre5()
162 if (plex->organization == plex_raid5) in bre5()
163 m.psdno = plex->subdisks - 1 in bre5()
164 - (*diskaddr / (plex->stripesize * (plex->subdisks - 1))) in bre5()
165 % plex->subdisks; in bre5()
167 m.psdno = plex->subdisks - 1; in bre5()
173 m.firstsdno = m.stripeoffset / plex->stripesize; in bre5()
181 m.initoffset = m.stripeoffset % plex->stripesize; in bre5()
184 m.sdbase = m.stripebase / (plex->subdisks - 1); in bre5()
193plex->stripesize - m.initoffset); /* and the amount left in this block */ in bre5()
201 plex->stripesize * (plex->subdisks - 1) - m.stripeoffset); in bre5()
204 m.sdcount = (m.stripesectors + m.initoffset + plex->stripesize - 1) / plex->stripesize; in bre5()
350plex->multiblock++; /* more than one block for the request… in bre5()
357 if (rsectors < plex->stripesize) { in bre5()
363 if (SD[plex->sdnos[m.psdno]].state < sd_reborn) /* is our parity subdisk down? */ in bre5()
369 if (mysdno == plex->subdisks) /* wraparound */ in bre5()
374 if (SD[plex->sdnos[mysdno]].state < sd_reborn) { /* got a bad subdisk, */ in bre5()
381 plex->recovered_reads++; /* count another one */ in bre5()
388 … m.datalen = umin(rsectors, plex->stripesize); /* amount that will fit in this block */ in bre5()
394 if (mysdno == plex->subdisks) /* wraparound */ in bre5()
399 sd = &SD[plex->sdnos[mysdno]]; in bre5()
414 struct sd *sd = &SD[plex->sdnos[sdno]]; in bre5()
422 plex->degraded_writes++; /* count another one */ in bre5()
441 … m.datalen = umin(rsectors, plex->stripesize); /* amount that will fit in this block */ in bre5()
444 struct sd *psd = &SD[plex->sdnos[m.psdno]]; in bre5()
452 plex->parityless_writes++; /* count another one */ in bre5()
463 m.rqcount = plex->subdisks; /* all subdisks */ in bre5()
488 sd = &SD[plex->sdnos[m.psdno]]; /* the subdisk in question */ in bre5()
495 if (build_rq_buffer(rqe, plex)) /* build the buffer */ in bre5()
509 if (mysdno == plex->subdisks) /* got to the end, */ in bre5()
515 sd = &SD[plex->sdnos[mysdno]]; /* the subdisk in question */ in bre5()
534 if (build_rq_buffer(rqe, plex)) /* build the buffer */ in bre5()
544 m.datalen = umin(m.stripesectors, plex->stripesize); /* and recalculate */ in bre5()
560 if (mysdno == plex->subdisks) /* got to the end, */ in bre5()
566 … sd = &SD[plex->sdnos[mysdno]]; /* the subdisk in question */ in bre5()
579 if (build_rq_buffer(rqe, plex)) /* build the buffer */ in bre5()
594 plex->multistripe++; /* count another one */ in bre5()