Lines Matching defs:stripe
19 struct stripe {
34 /* stripe chunk size */
44 struct stripe stripe[0];
51 * drops out of a stripe volume.
65 if (dm_array_too_big(sizeof(struct stripe_c), sizeof(struct stripe),
69 len = sizeof(struct stripe_c) + (sizeof(struct stripe) * stripes);
78 unsigned int stripe, char **argv)
86 &sc->stripe[stripe].dev))
89 sc->stripe[stripe].physical_start = start;
115 ti->error = "Invalid stripe count";
185 * Get the stripe destinations.
192 ti->error = "Couldn't parse stripe destination";
194 dm_put_device(ti, sc->stripe[i].dev);
198 atomic_set(&(sc->stripe[i].error_count), 0);
212 dm_put_device(ti, sc->stripe[i].dev);
219 uint32_t *stripe, sector_t *result)
225 *stripe = sector_div(chunk, sc->stripes);
227 *stripe = chunk & sc->stripes_mask;
237 uint32_t stripe;
239 stripe_map_sector(sc, sector, &stripe, result);
240 if (stripe == target_stripe)
243 if (target_stripe < stripe)
256 bio->bi_bdev = sc->stripe[target_stripe].dev->bdev;
257 bio->bi_sector = begin + sc->stripe[target_stripe].physical_start;
261 /* The range doesn't map to the target stripe */
271 uint32_t stripe;
277 bio->bi_bdev = sc->stripe[target_request_nr].dev->bdev;
286 stripe_map_sector(sc, bio->bi_sector, &stripe, &bio->bi_sector);
288 bio->bi_sector += sc->stripe[stripe].physical_start;
289 bio->bi_bdev = sc->stripe[stripe].dev->bdev;
302 * #stripes [stripe chunk size]
319 DMEMIT("%s ", sc->stripe[i].dev->name);
320 buffer[i] = atomic_read(&(sc->stripe[i].error_count)) ?
331 DMEMIT(" %s %llu", sc->stripe[i].dev->name,
332 (unsigned long long)sc->stripe[i].physical_start);
360 * Test to see which stripe drive triggered the event
366 if (!strcmp(sc->stripe[i].dev->name, major_minor)) {
367 atomic_inc(&(sc->stripe[i].error_count));
368 if (atomic_read(&(sc->stripe[i].error_count)) <
384 ret = fn(ti, sc->stripe[i].dev,
385 sc->stripe[i].physical_start,