Home
last modified time | relevance | path

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

123

/linux/fs/btrfs/
H A Dscrub.c25 #include "raid-stripe-tree.h"
93 * Set for data stripes if it's triggered from P/Q stripe.
154 * How many data/meta extents are in this stripe. Only for scrub status
165 * Indicate the states of the stripe. Bits are defined in
185 * Checksum for the whole stripe if this stripe is inside a data block
230 #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
336 release_scrub_stripe(struct scrub_stripe * stripe) release_scrub_stripe() argument
355 init_scrub_stripe(struct btrfs_fs_info * fs_info,struct scrub_stripe * stripe) init_scrub_stripe() argument
391 wait_scrub_stripe_io(struct scrub_stripe * stripe) wait_scrub_stripe_io() argument
684 scrub_stripe_get_kaddr(struct scrub_stripe * stripe,int sector_nr) scrub_stripe_get_kaddr() argument
697 scrub_stripe_get_paddr(struct scrub_stripe * stripe,int sector_nr) scrub_stripe_get_paddr() argument
712 scrub_verify_one_metadata(struct scrub_stripe * stripe,int sector_nr) scrub_verify_one_metadata() argument
798 scrub_verify_one_sector(struct scrub_stripe * stripe,int sector_nr) scrub_verify_one_sector() argument
859 scrub_verify_one_stripe(struct scrub_stripe * stripe,unsigned long bitmap) scrub_verify_one_stripe() argument
872 calc_sector_number(struct scrub_stripe * stripe,struct bio_vec * first_bvec) calc_sector_number() argument
892 struct scrub_stripe *stripe = bbio->private; scrub_repair_read_endio() local
919 scrub_bio_add_sector(struct btrfs_bio * bbio,struct scrub_stripe * stripe,int sector_nr) scrub_bio_add_sector() argument
953 scrub_stripe_submit_repair_read(struct scrub_stripe * stripe,int mirror,int blocksize,bool wait) scrub_stripe_submit_repair_read() argument
994 scrub_stripe_report_errors(struct scrub_ctx * sctx,struct scrub_stripe * stripe,const struct scrub_error_records * errors) scrub_stripe_report_errors() argument
1155 struct scrub_stripe *stripe = container_of(work, struct scrub_stripe, work); scrub_stripe_read_repair_worker() local
1246 struct scrub_stripe *stripe = bbio->private; scrub_read_endio() local
1270 struct scrub_stripe *stripe = bbio->private; scrub_write_endio() local
1293 scrub_submit_write_bio(struct scrub_ctx * sctx,struct scrub_stripe * stripe,struct btrfs_bio * bbio,bool dev_replace) scrub_submit_write_bio() argument
1334 scrub_write_sectors(struct scrub_ctx * sctx,struct scrub_stripe * stripe,unsigned long write_bitmap,bool dev_replace) scrub_write_sectors() argument
1613 fill_one_extent_info(struct btrfs_fs_info * fs_info,struct scrub_stripe * stripe,u64 extent_start,u64 extent_len,u64 extent_flags,u64 extent_gen) fill_one_extent_info() argument
1634 scrub_stripe_reset_bitmaps(struct scrub_stripe * stripe) scrub_stripe_reset_bitmaps() argument
1653 scrub_find_fill_first_stripe(struct btrfs_block_group * bg,struct btrfs_path * extent_path,struct btrfs_path * csum_path,struct btrfs_device * dev,u64 physical,int mirror_num,u64 logical_start,u32 logical_len,struct scrub_stripe * stripe) scrub_find_fill_first_stripe() argument
1765 scrub_reset_stripe(struct scrub_stripe * stripe) scrub_reset_stripe() argument
1779 stripe_length(const struct scrub_stripe * stripe) stripe_length() argument
1787 scrub_submit_extent_sector_read(struct scrub_stripe * stripe) scrub_submit_extent_sector_read() argument
1867 scrub_submit_initial_read(struct scrub_ctx * sctx,struct scrub_stripe * stripe) scrub_submit_initial_read() argument
1907 stripe_has_metadata_error(struct scrub_stripe * stripe) stripe_has_metadata_error() argument
1939 struct scrub_stripe *stripe = &sctx->stripes[first_slot + i]; submit_initial_group_read() local
1951 struct scrub_stripe *stripe; flush_scrub_stripes() local
2027 struct scrub_stripe *stripe; queue_scrub_stripe() local
2138 struct scrub_stripe *stripe = &sctx->raid56_data_stripes[i]; scrub_raid56_cached_parity() local
2161 struct scrub_stripe *stripe; scrub_raid56_parity_stripe() local
[all...]
H A Draid56.c190 * the stripe hash table is used for locking, and to collect
191 * bios in hopes of making a full stripe
252 * use the page uptodate bit in the stripe cache array
287 * we hash on the first logical address of the stripe
408 * Stealing an rbio means taking all the uptodate pages from the stripe array
433 * all data stripe pages present and uptodate. in steal_rbio()
571 * insert an rbio into the stripe cache. It
621 * Returns true if the bio list inside this rbio covers an entire stripe (no
641 * the same stripe and if they are both going in the same
673 * We've need read the full stripe fro in rbio_can_merge()
1226 struct btrfs_io_stripe *stripe; rbio_add_io_paddrs() local
1393 int stripe; generate_pq_vertical_step() local
1445 int stripe; rmw_assemble_write_bios() local
2145 int stripe = total_sector_nr / rbio->stripe_nsectors; recover_rbio() local
2362 int stripe = total_sector_nr / rbio->stripe_nsectors; rmw_read_wait_recover() local
2639 for (int stripe = 0; stripe < nr_data; stripe++) verify_one_parity_step() local
2662 for (int stripe = nr_data - 1; stripe >= 0; stripe--) verify_one_parity_step() local
2803 is_data_stripe(struct btrfs_raid_bio * rbio,int stripe) is_data_stripe() argument
2904 int stripe = total_sector_nr / rbio->stripe_nsectors; scrub_assemble_read_bios() local
[all...]
H A Draid-stripe-tree.c12 #include "raid-stripe-tree.h"
130 * The stripe extent starts before the range we want to delete, in btrfs_delete_raid_extent()
131 * but the range spans more than one stripe extent: in btrfs_delete_raid_extent()
166 /* That stripe ends before we start, we're done. */ in btrfs_delete_raid_extent()
174 * The stripe extent starts before the range we want to delete in btrfs_delete_raid_extent()
176 * punching a hole in the stripe extent: in btrfs_delete_raid_extent()
233 * The stripe extent starts before the range we want to delete: in btrfs_delete_raid_extent()
260 * The stripe extent ends after the range we want to delete: in btrfs_delete_raid_extent()
400 u32 stripe_index, struct btrfs_io_stripe *stripe) in btrfs_get_raid_extent_offset()
425 if (stripe in btrfs_get_raid_extent_offset()
398 btrfs_get_raid_extent_offset(struct btrfs_fs_info * fs_info,u64 logical,u64 * length,u64 map_type,u32 stripe_index,struct btrfs_io_stripe * stripe) btrfs_get_raid_extent_offset() argument
[all...]
/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