| /linux/fs/btrfs/ |
| H A D | scrub.c | 231 #define scrub_calc_start_bit(stripe, name, block_nr) \ argument 235 ASSERT(block_nr < stripe->nr_sectors, \ 236 "nr_sectors=%u block_nr=%u", stripe->nr_sectors, block_nr); \ 237 __start_bit = scrub_bitmap_nr_##name * stripe->nr_sectors + block_nr; \ 242 static inline void scrub_bitmap_set_##name(struct scrub_stripe *stripe, \ 246 const unsigned int start_bit = scrub_calc_start_bit(stripe, \ 249 bitmap_set(stripe->bitmaps, start_bit, nr_blocks); \ 251 static inline void scrub_bitmap_clear_##name(struct scrub_stripe *stripe, \ 255 const unsigned int start_bit = scrub_calc_start_bit(stripe, name, \ 258 bitmap_clear(stripe->bitmaps, start_bit, nr_blocks); \ [all …]
|
| H A D | Makefile | 36 lru_cache.o raid-stripe-tree.o fiemap.o direct-io.o 47 tests/raid-stripe-tree-tests.o tests/delayed-refs-tests.o
|
| /linux/drivers/md/ |
| H A D | dm-stripe.c | 24 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(struct_size(sc, stripe, stripes), GFP_KERNEL); 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 D | raid-stripe-tree-tests.c | 68 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 D | raid5-ppl.rst | 6 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 D | raid5-cache.rst | 27 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 D | test_stress_03.sh | 34 ublk_io_and_remove 256M -t stripe -q 4 -z "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" & 40 ublk_io_and_remove 256M -t stripe -q 4 --auto_zc "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" & 48 …ublk_io_and_remove 256M -t stripe -q 4 --auto_zc --nthreads 8 --per_io_tasks "${UBLK_BACKFILES[1]}…
|
| H A D | test_stress_04.sh | 33 ublk_io_and_kill_daemon 256M -t stripe -q 4 -z "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" & 39 …ublk_io_and_kill_daemon 256M -t stripe -q 4 --auto_zc --no_ublk_fixed_fd "${UBLK_BACKFILES[1]}" "$… 47 …ublk_io_and_kill_daemon 256M -t stripe -q 4 --auto_zc --nthreads 8 --per_io_tasks "${UBLK_BACKFILE…
|
| H A D | stripe.c | 12 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() 152 struct stripe *t = &s->s[i - zc]; in stripe_queue_tgt_rw_io() 291 unsigned chunk_size = ctx->stripe.chunk_size; in ublk_stripe_tgt_init() 367 ctx->stripe.chunk_size = 65536; in ublk_stripe_cmd_line() 373 ctx->stripe.chunk_size = strtol(optarg, NULL, 10); in ublk_stripe_cmd_line()
|
| H A D | test_generic_04.sh | 31 ublk_run_recover_test -t stripe -q 2 -r 1 "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" & 36 ublk_run_recover_test -t stripe -q 2 -r 1 -i 1 "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" &
|
| H A D | test_generic_14.sh | 31 ublk_run_recover_test -t stripe -q 2 -r 1 -u "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" & 36 ublk_run_recover_test -t stripe -q 2 -r 1 -u -i 1 "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" &
|
| H A D | test_generic_05.sh | 35 ublk_run_recover_test -t stripe -q 2 -r 1 -z "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" & 40 ublk_run_recover_test -t stripe -q 2 -r 1 -z -i 1 "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" &
|
| H A D | test_generic_11.sh | 35 ublk_run_quiesce_recover -t stripe -q 2 -r 1 "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" & 40 ublk_run_quiesce_recover -t stripe -q 2 -r 1 -i 1 "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" &
|
| H A D | test_stress_06.sh | 30 ublk_io_and_remove 256M -t stripe -q 4 -u "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" & 35 ublk_io_and_remove 256M -t stripe -q 4 -u --nthreads 8 --per_io_tasks "${UBLK_BACKFILES[1]}" "${UBL…
|
| H A D | test_stress_07.sh | 30 ublk_io_and_kill_daemon 256M -t stripe -q 4 -u "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" & 35 ublk_io_and_kill_daemon 256M -t stripe -q 4 -u --nthreads 8 --per_io_tasks "${UBLK_BACKFILES[1]}" "…
|
| H A D | test_stripe_02.sh | 14 dev_id=$(_add_ublk_dev -t stripe "${UBLK_BACKFILES[0]}" "${UBLK_BACKFILES[1]}")
|
| H A D | test_stripe_04.sh | 14 dev_id=$(_add_ublk_dev -t stripe -z -q 2 "${UBLK_BACKFILES[0]}" "${UBLK_BACKFILES[1]}")
|
| H A D | test_stripe_06.sh | 14 dev_id=$(_add_ublk_dev -t stripe -u -q 2 "${UBLK_BACKFILES[0]}" "${UBLK_BACKFILES[1]}")
|
| H A D | test_stripe_01.sh | 18 dev_id=$(_add_ublk_dev -t stripe "${UBLK_BACKFILES[0]}" "${UBLK_BACKFILES[1]}")
|
| H A D | test_stripe_03.sh | 18 dev_id=$(_add_ublk_dev -q 2 -t stripe "${UBLK_BACKFILES[0]}" "${UBLK_BACKFILES[1]}")
|
| H A D | test_stripe_05.sh | 18 dev_id=$(_add_ublk_dev -t stripe -q 2 -u "${UBLK_BACKFILES[0]}" "${UBLK_BACKFILES[1]}")
|
| H A D | test_stress_01.sh | 30 ublk_io_and_remove 256M -t stripe -q 4 "${UBLK_BACKFILES[1]}" "${UBLK_BACKFILES[2]}" &
|
| /linux/drivers/md/bcache/ |
| H A D | writeback.h | 82 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 D | dev.c | 185 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() 493 d->children = kcalloc(v->stripe.volumes_count, in bl_parse_stripe() 498 for (i = 0; i < v->stripe.volumes_count; i++) { in bl_parse_stripe() 500 volumes, v->stripe.volumes[i], gfp_mask); in bl_parse_stripe() [all …]
|
| /linux/Documentation/admin-guide/device-mapper/ |
| H A D | unstriped.rst | 14 <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::
|