Home
last modified time | relevance | path

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

123

/linux/fs/btrfs/
H A Dscrub.c231 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 Draid-stripe-tree.c370 u32 stripe_index, struct btrfs_io_stripe *stripe) in btrfs_get_raid_extent_offset() argument
395 if (stripe->rst_search_commit_root) { in btrfs_get_raid_extent_offset()
448 if (devid != stripe->dev->devid) in btrfs_get_raid_extent_offset()
454 stripe->physical = physical + offset; in btrfs_get_raid_extent_offset()
457 stripe->physical, devid); in btrfs_get_raid_extent_offset()
468 if (ret && ret != -EIO && !stripe->rst_search_commit_root) { in btrfs_get_raid_extent_offset()
471 logical, logical + *length, stripe->dev->devid, in btrfs_get_raid_extent_offset()
H A Dbio.c384 struct btrfs_io_stripe *stripe = bio->bi_private; in btrfs_orig_write_end_io() local
385 struct btrfs_io_context *bioc = stripe->bioc; in btrfs_orig_write_end_io()
392 btrfs_log_dev_io_error(bio, stripe->dev); in btrfs_orig_write_end_io()
405 stripe->physical = bio->bi_iter.bi_sector << SECTOR_SHIFT; in btrfs_orig_write_end_io()
413 struct btrfs_io_stripe *stripe = bio->bi_private; in btrfs_clone_write_end_io() local
416 atomic_inc(&stripe->bioc->error); in btrfs_clone_write_end_io()
417 btrfs_log_dev_io_error(bio, stripe->dev); in btrfs_clone_write_end_io()
419 stripe->physical = bio->bi_iter.bi_sector << SECTOR_SHIFT; in btrfs_clone_write_end_io()
423 bio_endio(stripe->bioc->orig_bio); in btrfs_clone_write_end_io()
H A DMakefile36 lru_cache.o raid-stripe-tree.o fiemap.o direct-io.o
47 tests/raid-stripe-tree-tests.o tests/delayed-refs-tests.o
H A Dprint-tree.c208 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 Ddm-stripe.c24 struct stripe { struct
47 struct stripe stripe[] __counted_by(stripes); argument
52 * drops out of a stripe volume.
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()
103 ti->error = "Invalid stripe coun in stripe_ctr()
203 stripe_map_sector(struct stripe_c * sc,sector_t sector,uint32_t * stripe,sector_t * result) stripe_map_sector() argument
233 uint32_t stripe; stripe_map_range_sector() local
275 uint32_t stripe; stripe_map() local
307 uint32_t stripe; stripe_dax_pgoff() local
[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/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()
490 d->children = kcalloc(v->stripe.volumes_count, in bl_parse_stripe()
495 for (i = 0; i < v->stripe.volumes_count; i++) { in bl_parse_stripe()
497 volumes, v->stripe.volumes[i], gfp_mask); in bl_parse_stripe()
[all …]
H A Dblocklayout.h83 } stripe; member
/linux/fs/bcachefs/
H A Dalloc_background_format.h19 x(stripe, 32) \
42 x(stripe, 32) \
70 __u32 stripe; member
H A Dalloc_background.h45 dst->stripe = src.stripe; in alloc_to_bucket()
55 dst->stripe = src.stripe; in __bucket_m_to_alloc()
131 if (a.stripe) in alloc_data_type()
H A Dalloc_foreground.c623 static int __dev_stripe_cmp(struct dev_stripe_state *stripe, in __dev_stripe_cmp() argument
626 return ((stripe->next_alloc[l] > stripe->next_alloc[r]) - in __dev_stripe_cmp()
627 (stripe->next_alloc[l] < stripe->next_alloc[r])); in __dev_stripe_cmp()
630 #define dev_stripe_cmp(l, r) __dev_stripe_cmp(stripe, l, r)
633 struct dev_stripe_state *stripe, in bch2_dev_alloc_list() argument
647 struct dev_stripe_state *stripe, in bch2_dev_stripe_increment_inlined() argument
650 u64 *v = stripe->next_alloc + ca->dev_idx; in bch2_dev_stripe_increment_inlined()
662 for (v = stripe->next_alloc; in bch2_dev_stripe_increment_inlined()
663 v < stripe->next_alloc + ARRAY_SIZE(stripe->next_alloc); v++) in bch2_dev_stripe_increment_inlined()
668 struct dev_stripe_state *stripe) in bch2_dev_stripe_increment() argument
[all …]
H A Dalloc_types.h28 x(stripe) \
114 struct dev_stripe_state stripe; member
H A Dec.h224 void bch2_stripes_heap_update(struct bch_fs *, struct stripe *, size_t);
225 void bch2_stripes_heap_del(struct bch_fs *, struct stripe *, size_t);
226 void bch2_stripes_heap_insert(struct bch_fs *, struct stripe *, size_t);
H A Dec.c204 if (bch2_trans_inconsistent_on(a->stripe || in __mark_stripe_bucket()
210 a->stripe, s.k->p.offset, in __mark_stripe_bucket()
227 if (bch2_trans_inconsistent_on(a->stripe != s.k->p.offset || in __mark_stripe_bucket()
231 a->stripe, in __mark_stripe_bucket()
268 a->stripe = s.k->p.offset; in __mark_stripe_bucket()
272 a->stripe = 0; in __mark_stripe_bucket()
369 static inline void stripe_to_mem(struct stripe *m, const struct bch_stripe *s) in stripe_to_mem()
476 struct stripe *m = genradix_ptr(&c->stripes, idx); in bch2_trigger_stripe()
818 struct ec_stripe_buf *stripe) in get_stripe_key_trans() argument
833 bkey_reassemble(&stripe->key, k); in get_stripe_key_trans()
[all …]
H A Dec_types.h12 struct stripe { struct
H A Dbuckets_types.h16 u32 stripe; member
H A Ddisk_accounting_format.h63 x(stripe, 7) \
/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::
H A Ddm-raid.rst83 "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 Dstriped.rst2 dm-stripe
/linux/Documentation/admin-guide/
H A Dxfs.rst134 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.

123