Home
last modified time | relevance | path

Searched refs:stripe (Results 1 – 25 of 55) sorted by relevance

123

/linux/fs/btrfs/
H A Dscrub.c230 #define scrub_calc_start_bit(stripe, name, block_nr) \ argument
234 ASSERT(block_nr < stripe->nr_sectors, \
235 "nr_sectors=%u block_nr=%u", stripe->nr_sectors, block_nr); \
236 __start_bit = scrub_bitmap_nr_##name * stripe->nr_sectors + block_nr; \
241 static inline void scrub_bitmap_set_##name(struct scrub_stripe *stripe, \
245 const unsigned int start_bit = scrub_calc_start_bit(stripe, \
248 bitmap_set(stripe->bitmaps, start_bit, nr_blocks); \
250 static inline void scrub_bitmap_clear_##name(struct scrub_stripe *stripe, \
254 const unsigned int start_bit = scrub_calc_start_bit(stripe, name, \
257 bitmap_clear(stripe->bitmaps, start_bit, nr_blocks); \
[all …]
H A Draid56.c1226 struct btrfs_io_stripe *stripe; in rbio_add_io_paddrs() local
1240 stripe = &rbio->bioc->stripes[stripe_nr]; in rbio_add_io_paddrs()
1241 disk_start = stripe->physical + sector_nr * sectorsize; in rbio_add_io_paddrs()
1244 if (!stripe->dev->bdev) { in rbio_add_io_paddrs()
1268 last->bi_bdev == stripe->dev->bdev) { in rbio_add_io_paddrs()
1276 bio = bio_alloc(stripe->dev->bdev, in rbio_add_io_paddrs()
1393 int stripe; in generate_pq_vertical_step() local
1397 for (stripe = 0; stripe < rbio->nr_data; stripe++) in generate_pq_vertical_step()
1398 pointers[stripe] = kmap_local_paddr( in generate_pq_vertical_step()
1399 sector_paddr_in_rbio(rbio, stripe, sector_nr, step_nr, 0)); in generate_pq_vertical_step()
[all …]
H A Draid-stripe-tree.c398 u32 stripe_index, struct btrfs_io_stripe *stripe) in btrfs_get_raid_extent_offset() argument
423 if (stripe->rst_search_commit_root) { in btrfs_get_raid_extent_offset()
476 if (devid != stripe->dev->devid) in btrfs_get_raid_extent_offset()
482 stripe->physical = physical + offset; in btrfs_get_raid_extent_offset()
485 stripe->physical, devid); in btrfs_get_raid_extent_offset()
495 if (ret && ret != -EIO && !stripe->rst_search_commit_root) { in btrfs_get_raid_extent_offset()
498 logical, logical + *length, stripe->dev->devid, in btrfs_get_raid_extent_offset()
/linux/drivers/md/
H A Ddm-stripe.c24 struct stripe { struct
47 struct stripe stripe[] __counted_by(stripes); argument
65 unsigned int stripe, char **argv) in get_stripe() argument
75 &sc->stripe[stripe].dev); in get_stripe()
79 sc->stripe[stripe].physical_start = start; in get_stripe()
132 sc = kmalloc_flex(*sc, stripe, stripes); in stripe_ctr()
178 dm_put_device(ti, sc->stripe[i].dev); in stripe_ctr()
182 atomic_set(&(sc->stripe[i].error_count), 0); in stripe_ctr()
196 dm_put_device(ti, sc->stripe[i].dev); in stripe_dtr()
203 uint32_t *stripe, sector_t *result) in stripe_map_sector() argument
[all …]
/linux/fs/btrfs/tests/
H A Draid-stripe-tree-tests.c68 struct btrfs_io_stripe *stripe = &bioc->stripes[i]; in test_punch_hole_3extents() local
70 stripe->dev = btrfs_device_by_devid(fs_info->fs_devices, i); in test_punch_hole_3extents()
71 if (!stripe->dev) { in test_punch_hole_3extents()
77 stripe->physical = logical1 + i * SZ_1G; in test_punch_hole_3extents()
89 struct btrfs_io_stripe *stripe = &bioc->stripes[i]; in test_punch_hole_3extents() local
91 stripe->dev = btrfs_device_by_devid(fs_info->fs_devices, i); in test_punch_hole_3extents()
92 if (!stripe->dev) { in test_punch_hole_3extents()
98 stripe->physical = logical2 + i * SZ_1G; in test_punch_hole_3extents()
110 struct btrfs_io_stripe *stripe = &bioc->stripes[i]; in test_punch_hole_3extents() local
112 stripe->dev = btrfs_device_by_devid(fs_info->fs_devices, i); in test_punch_hole_3extents()
[all …]
/linux/Documentation/driver-api/md/
H A Draid5-ppl.rst6 addressed by PPL is that after a dirty shutdown, parity of a particular stripe
15 Partial parity for a write operation is the XOR of stripe data chunks not
18 the stripe, consistent with its state before the write operation, regardless of
20 this stripe is missing, this updated parity can be used to recover its
29 stripe. It does not require a dedicated journaling drive. Write performance is
36 silent data corruption. If a dirty disk of a stripe is lost, no PPL recovery is
37 performed for this stripe (parity is not updated). So it is possible to have
38 arbitrary data in the written part of a stripe if that disk is lost. In such
H A Draid5-cache.rst27 and parity don't match. The reason is that a stripe write involves several RAID
52 write. If a write crosses all RAID disks of a stripe, we call it full-stripe
53 write. For non-full-stripe writes, MD must read old data before the new parity
57 RAID disks only after the data becomes a full stripe write. This will
101 release the memory cache. The flush conditions could be stripe becomes a full
102 stripe write, free cache disk space is low or free in-kernel memory cache space
107 data and data. If MD finds a stripe with data and valid parities (1 parity for
/linux/tools/testing/selftests/ublk/
H A Dtest_recover_01.sh30 ublk_run_recover_test -t stripe -q 2 -r 1 -b "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" &
35 ublk_run_recover_test -t stripe -q 2 -r 1 "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" &
40 ublk_run_recover_test -t stripe -q 2 -r 1 -i 1 "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" &
H A Dtest_recover_02.sh34 ublk_run_recover_test -t stripe -q 2 -r 1 -z -b "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" &
39 ublk_run_recover_test -t stripe -q 2 -r 1 -z "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" &
44 ublk_run_recover_test -t stripe -q 2 -r 1 -z -i 1 "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" &
H A Dtest_stress_03.sh33 ublk_io_and_remove 256M -t stripe -q 4 -z "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" &
39 ublk_io_and_remove 256M -t stripe -q 4 --auto_zc "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" &
47 …ublk_io_and_remove 256M -t stripe -q 4 --auto_zc --nthreads 8 --per_io_tasks "${UBLK_BACKFILES[1]}…
H A Dtest_stress_04.sh32 ublk_io_and_kill_daemon 256M -t stripe -q 4 -z "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" &
38 …ublk_io_and_kill_daemon 256M -t stripe -q 4 --auto_zc --no_ublk_fixed_fd "${UBLK_BACKFILES[1]}" "$…
46 …ublk_io_and_kill_daemon 256M -t stripe -q 4 --auto_zc --nthreads 8 --per_io_tasks "${UBLK_BACKFILE…
H A Dstripe.c12 struct stripe { struct
23 struct stripe s[NR_STRIPE]; argument
56 struct stripe *t = &s->s[i]; in alloc_stripe_array()
87 struct stripe *this = &s->s[idx]; in calculate_stripe_array()
153 struct stripe *t = &s->s[i - zc]; in stripe_queue_tgt_rw_io()
292 unsigned chunk_size = ctx->stripe.chunk_size; in ublk_stripe_tgt_init()
372 ctx->stripe.chunk_size = 65536; in ublk_stripe_cmd_line()
378 ctx->stripe.chunk_size = strtol(optarg, NULL, 10); in ublk_stripe_cmd_line()
H A Dtest_recover_04.sh30 ublk_run_recover_test -t stripe -q 2 -r 1 -u "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" &
35 ublk_run_recover_test -t stripe -q 2 -r 1 -u -i 1 "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" &
H A Dtest_recover_03.sh34 ublk_run_quiesce_recover -t stripe -q 2 -r 1 "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" &
39 ublk_run_quiesce_recover -t stripe -q 2 -r 1 -i 1 "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" &
H A Dtest_stress_06.sh29 ublk_io_and_remove 256M -t stripe -q 4 -u "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" &
34 ublk_io_and_remove 256M -t stripe -q 4 -u --nthreads 8 --per_io_tasks "${UBLK_BACKFILES[1]}" "${UBL…
H A Dtest_stress_07.sh29 ublk_io_and_kill_daemon 256M -t stripe -q 4 -u "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" &
34 ublk_io_and_kill_daemon 256M -t stripe -q 4 -u --nthreads 8 --per_io_tasks "${UBLK_BACKFILES[1]}" "…
H A Dtest_stripe_02.sh13 dev_id=$(_add_ublk_dev -t stripe "${UBLK_BACKFILES[0]}" "${UBLK_BACKFILES[1]}")
H A Dtest_stripe_06.sh13 dev_id=$(_add_ublk_dev -t stripe -u -q 2 "${UBLK_BACKFILES[0]}" "${UBLK_BACKFILES[1]}")
H A Dtest_stripe_04.sh13 dev_id=$(_add_ublk_dev -t stripe -z -q 2 "${UBLK_BACKFILES[0]}" "${UBLK_BACKFILES[1]}")
H A Dtest_stripe_05.sh17 dev_id=$(_add_ublk_dev -t stripe -q 2 -u "${UBLK_BACKFILES[0]}" "${UBLK_BACKFILES[1]}")
H A Dtest_stripe_01.sh17 dev_id=$(_add_ublk_dev -t stripe "${UBLK_BACKFILES[0]}" "${UBLK_BACKFILES[1]}")
H A Dtest_stripe_03.sh17 dev_id=$(_add_ublk_dev -q 2 -t stripe "${UBLK_BACKFILES[0]}" "${UBLK_BACKFILES[1]}")
/linux/drivers/md/bcache/
H A Dwriteback.h82 int stripe = offset_to_stripe(&dc->disk, offset); in bcache_dev_stripe_dirty() local
84 if (stripe < 0) in bcache_dev_stripe_dirty()
88 if (atomic_read(dc->disk.stripe_sectors_dirty + stripe)) in bcache_dev_stripe_dirty()
95 stripe++; in bcache_dev_stripe_dirty()
/linux/fs/nfs/blocklayout/
H A Ddev.c185 p = xdr_decode_hyper(p, &b->stripe.chunk_size); in nfs4_block_decode_volume()
186 b->stripe.volumes_count = be32_to_cpup(p++); in nfs4_block_decode_volume()
187 if (b->stripe.volumes_count > PNFS_BLOCK_MAX_DEVICES) { in nfs4_block_decode_volume()
188 dprintk("Too many volumes: %d\n", b->stripe.volumes_count); in nfs4_block_decode_volume()
192 p = xdr_inline_decode(xdr, b->stripe.volumes_count * 4); in nfs4_block_decode_volume()
195 for (i = 0; i < b->stripe.volumes_count; i++) in nfs4_block_decode_volume()
196 b->stripe.volumes[i] = be32_to_cpup(p++); in nfs4_block_decode_volume()
497 v->stripe.volumes_count, gfp_mask); in bl_parse_stripe()
501 for (i = 0; i < v->stripe.volumes_count; i++) { in bl_parse_stripe()
503 volumes, v->stripe.volumes[i], gfp_mask); in bl_parse_stripe()
[all …]
/linux/Documentation/admin-guide/device-mapper/
H A Dunstriped.rst14 <number of stripes> <chunk size> <stripe #> <dev_path> <offset>
25 <stripe #>
26 The stripe number within the device that corresponds to physical
33 An example of undoing an existing dm-stripe
88 in a 256k stripe across the two cores::

123