Changeset View
Changeset View
Standalone View
Standalone View
head/sys/geom/raid/md_promise.c
Show First 20 Lines • Show All 338 Lines • ▼ Show 20 Lines | promise_meta_read(struct g_consumer *cp, struct promise_raid_conf **metaarr) | ||||
struct promise_raid_conf *meta; | struct promise_raid_conf *meta; | ||||
char *buf; | char *buf; | ||||
int error, i, subdisks; | int error, i, subdisks; | ||||
uint32_t checksum, *ptr; | uint32_t checksum, *ptr; | ||||
pp = cp->provider; | pp = cp->provider; | ||||
subdisks = 0; | subdisks = 0; | ||||
if (pp->sectorsize * 4 > MAXPHYS) { | if (pp->sectorsize * 4 > maxphys) { | ||||
G_RAID_DEBUG(1, "%s: Blocksize is too big.", pp->name); | G_RAID_DEBUG(1, "%s: Blocksize is too big.", pp->name); | ||||
return (subdisks); | return (subdisks); | ||||
} | } | ||||
next: | next: | ||||
/* Read metadata block. */ | /* Read metadata block. */ | ||||
buf = g_read_data(cp, pp->mediasize - pp->sectorsize * | buf = g_read_data(cp, pp->mediasize - pp->sectorsize * | ||||
(63 - subdisks * PROMISE_META_OFFSET), | (63 - subdisks * PROMISE_META_OFFSET), | ||||
pp->sectorsize * 4, &error); | pp->sectorsize * 4, &error); | ||||
▲ Show 20 Lines • Show All 1,649 Lines • Show Last 20 Lines |