/linux/fs/btrfs/ |
H A D | scrub.c | 231 static void release_scrub_stripe(struct scrub_stripe *stripe) in release_scrub_stripe() argument 233 if (!stripe) in release_scrub_stripe() 237 if (stripe->pages[i]) in release_scrub_stripe() 238 __free_page(stripe->pages[i]); in release_scrub_stripe() 239 stripe->pages[i] = NULL; in release_scrub_stripe() 241 kfree(stripe->sectors); in release_scrub_stripe() 242 kfree(stripe->csums); in release_scrub_stripe() 243 stripe->sectors = NULL; in release_scrub_stripe() 244 stripe->csums = NULL; in release_scrub_stripe() 245 stripe->sctx = NULL; in release_scrub_stripe() [all …]
|
H A D | raid56.c | 1133 struct btrfs_io_stripe *stripe; in rbio_add_io_sector() local 1147 stripe = &rbio->bioc->stripes[stripe_nr]; in rbio_add_io_sector() 1148 disk_start = stripe->physical + sector_nr * sectorsize; in rbio_add_io_sector() 1151 if (!stripe->dev->bdev) { in rbio_add_io_sector() 1175 last->bi_bdev == stripe->dev->bdev) { in rbio_add_io_sector() 1184 bio = bio_alloc(stripe->dev->bdev, in rbio_add_io_sector() 1299 int stripe; in generate_pq_vertical() local 1303 for (stripe = 0; stripe < rbio->nr_data; stripe++) { in generate_pq_vertical() 1304 sector = sector_in_rbio(rbio, stripe, sectornr, 0); in generate_pq_vertical() 1305 pointers[stripe] = kmap_local_page(sector->page) + in generate_pq_vertical() [all …]
|
H A D | raid-stripe-tree.c | 188 u32 stripe_index, struct btrfs_io_stripe *stripe) in btrfs_get_raid_extent_offset() argument 213 if (stripe->rst_search_commit_root) { in btrfs_get_raid_extent_offset() 266 if (devid != stripe->dev->devid) in btrfs_get_raid_extent_offset() 272 stripe->physical = physical + offset; in btrfs_get_raid_extent_offset() 275 stripe->physical, devid); in btrfs_get_raid_extent_offset() 286 if (ret && ret != -EIO && !stripe->rst_search_commit_root) { in btrfs_get_raid_extent_offset() 289 logical, logical + *length, stripe->dev->devid, in btrfs_get_raid_extent_offset()
|
H A D | bio.c | 392 struct btrfs_io_stripe *stripe = bio->bi_private; in btrfs_orig_write_end_io() local 393 struct btrfs_io_context *bioc = stripe->bioc; in btrfs_orig_write_end_io() 400 btrfs_log_dev_io_error(bio, stripe->dev); in btrfs_orig_write_end_io() 413 stripe->physical = bio->bi_iter.bi_sector << SECTOR_SHIFT; in btrfs_orig_write_end_io() 421 struct btrfs_io_stripe *stripe = bio->bi_private; in btrfs_clone_write_end_io() local 424 atomic_inc(&stripe->bioc->error); in btrfs_clone_write_end_io() 425 btrfs_log_dev_io_error(bio, stripe->dev); in btrfs_clone_write_end_io() 427 stripe->physical = bio->bi_iter.bi_sector << SECTOR_SHIFT; in btrfs_clone_write_end_io() 431 bio_endio(stripe->bioc->orig_bio); in btrfs_clone_write_end_io()
|
H A D | raid-stripe-tree.h | 27 u32 stripe_index, struct btrfs_io_stripe *stripe);
|
H A D | print-tree.c | 208 struct btrfs_stripe_extent *stripe) in print_raid_stripe_key() argument 214 i, btrfs_raid_stride_devid(eb, &stripe->strides[i]), in print_raid_stripe_key() 215 btrfs_raid_stride_physical(eb, &stripe->strides[i])); in print_raid_stripe_key()
|
/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/drivers/staging/media/ipu3/ |
H A D | ipu3-css-params.c | 1005 osys->stripe[s].crop_top[pin] = in imgu_css_osys_calc() 1007 osys->stripe[s].input_width = in imgu_css_osys_calc() 1009 osys->stripe[s].input_height = in imgu_css_osys_calc() 1011 osys->stripe[s].block_height = in imgu_css_osys_calc() 1013 osys->stripe[s].block_width = in imgu_css_osys_calc() 1015 osys->stripe[s].output_width[pin] = in imgu_css_osys_calc() 1017 osys->stripe[s].output_height[pin] = in imgu_css_osys_calc() 1022 osys->stripe[s].crop_left[pin] = in imgu_css_osys_calc() 1024 osys->stripe[s].output_offset[pin] = in imgu_css_osys_calc() 1032 osys->stripe[s].crop_left[pin] = 0; in imgu_css_osys_calc() [all …]
|
/linux/drivers/md/bcache/ |
H A D | writeback.c | 601 int stripe; in bcache_dev_sectors_dirty_add() local 606 stripe = offset_to_stripe(d, offset); in bcache_dev_sectors_dirty_add() 607 if (stripe < 0) in bcache_dev_sectors_dirty_add() 622 if (stripe >= d->nr_stripes) in bcache_dev_sectors_dirty_add() 626 d->stripe_sectors_dirty + stripe); in bcache_dev_sectors_dirty_add() 628 if (!test_bit(stripe, d->full_dirty_stripes)) in bcache_dev_sectors_dirty_add() 629 set_bit(stripe, d->full_dirty_stripes); in bcache_dev_sectors_dirty_add() 631 if (test_bit(stripe, d->full_dirty_stripes)) in bcache_dev_sectors_dirty_add() 632 clear_bit(stripe, d->full_dirty_stripes); in bcache_dev_sectors_dirty_add() 637 stripe++; in bcache_dev_sectors_dirty_add() [all …]
|
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/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/fs/nfs/blocklayout/ |
H A D | dev.c | 187 p = xdr_decode_hyper(p, &b->stripe.chunk_size); in nfs4_block_decode_volume() 188 b->stripe.volumes_count = be32_to_cpup(p++); in nfs4_block_decode_volume() 189 if (b->stripe.volumes_count > PNFS_BLOCK_MAX_DEVICES) { in nfs4_block_decode_volume() 190 dprintk("Too many volumes: %d\n", b->stripe.volumes_count); in nfs4_block_decode_volume() 194 p = xdr_inline_decode(xdr, b->stripe.volumes_count * 4); in nfs4_block_decode_volume() 197 for (i = 0; i < b->stripe.volumes_count; i++) in nfs4_block_decode_volume() 198 b->stripe.volumes[i] = be32_to_cpup(p++); in nfs4_block_decode_volume() 492 d->children = kcalloc(v->stripe.volumes_count, in bl_parse_stripe() 497 for (i = 0; i < v->stripe.volumes_count; i++) { in bl_parse_stripe() 499 volumes, v->stripe.volumes[i], gfp_mask); in bl_parse_stripe() [all …]
|
H A D | blocklayout.h | 83 } stripe; member
|
/linux/fs/bcachefs/ |
H A D | alloc_background_format.h | 19 x(stripe, 32) \ 42 x(stripe, 32) \ 70 __u32 stripe; member
|
H A D | alloc_background.h | 47 dst->stripe = src.stripe; in alloc_to_bucket() 57 dst->stripe = src.stripe; in __bucket_m_to_alloc() 133 if (a.stripe) in alloc_data_type()
|
H A D | alloc_foreground.c | 693 static int __dev_stripe_cmp(struct dev_stripe_state *stripe, in __dev_stripe_cmp() argument 696 return ((stripe->next_alloc[l] > stripe->next_alloc[r]) - in __dev_stripe_cmp() 697 (stripe->next_alloc[l] < stripe->next_alloc[r])); in __dev_stripe_cmp() 700 #define dev_stripe_cmp(l, r) __dev_stripe_cmp(stripe, l, r) 703 struct dev_stripe_state *stripe, in bch2_dev_alloc_list() argument 717 struct dev_stripe_state *stripe, in bch2_dev_stripe_increment_inlined() argument 720 u64 *v = stripe->next_alloc + ca->dev_idx; in bch2_dev_stripe_increment_inlined() 732 for (v = stripe->next_alloc; in bch2_dev_stripe_increment_inlined() 733 v < stripe->next_alloc + ARRAY_SIZE(stripe->next_alloc); v++) in bch2_dev_stripe_increment_inlined() 738 struct dev_stripe_state *stripe) in bch2_dev_stripe_increment() argument [all …]
|
H A D | ec.h | 225 void bch2_stripes_heap_update(struct bch_fs *, struct stripe *, size_t); 226 void bch2_stripes_heap_del(struct bch_fs *, struct stripe *, size_t); 227 void bch2_stripes_heap_insert(struct bch_fs *, struct stripe *, size_t);
|
H A D | ec.c | 194 if (bch2_trans_inconsistent_on(a->stripe || in __mark_stripe_bucket() 200 a->stripe, s.k->p.offset, in __mark_stripe_bucket() 217 if (bch2_trans_inconsistent_on(a->stripe != s.k->p.offset || in __mark_stripe_bucket() 221 a->stripe, in __mark_stripe_bucket() 258 a->stripe = s.k->p.offset; in __mark_stripe_bucket() 261 a->stripe = 0; in __mark_stripe_bucket() 361 static inline void stripe_to_mem(struct stripe *m, const struct bch_stripe *s) in stripe_to_mem() 468 struct stripe *m = genradix_ptr(&c->stripes, idx); in bch2_trigger_stripe() 810 struct ec_stripe_buf *stripe) in get_stripe_key_trans() argument 825 bkey_reassemble(&stripe->key, k); in get_stripe_key_trans() [all …]
|
H A D | disk_accounting_format.h | 63 x(stripe, 7) \
|
/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::
|
H A D | dm-raid.rst | 83 "stripe size". It is the only mandatory parameter and 194 starting at data_offset to fill up a new stripe with the larger 196 and write that new stripe to offset 0. Same will be applied to all 355 of a RAID 4/5/6 stripe and if subsequent read results are not 416 1.14.0 Fix reshape race on small devices. Fix stripe adding reshape
|
H A D | striped.rst | 2 dm-stripe
|
/linux/drivers/staging/media/atomisp/pci/isp/modes/interface/ |
H A D | isp_const.h | 75 #define CEIL_ROUND_DIV_STRIPE(width, stripe, padding) \ argument 76 …CEIL_MUL(padding + CEIL_DIV(width - padding, stripe), ((ENABLE_RAW_BINNING || ENABLE_FIXED_BAYER_D…
|
/linux/Documentation/admin-guide/ |
H A D | xfs.rst | 134 stripe unit configured at **mkfs(8)** time. 147 Data allocations will not be aligned at stripe unit 183 Used to specify the stripe unit and width for a RAID device 184 or a stripe volume. "value" must be specified in 512-byte 200 Data allocations will be rounded up to stripe width boundaries 202 size is larger than the stripe width size.
|