Changeset cdfcaea in mainline for uspace/srv/bd/hr/parity_stripe.c
- Timestamp:
- 2025-06-23T13:39:56Z (9 months ago)
- Children:
- f18e36e
- Parents:
- 09c195e8
- File:
-
- 1 edited
-
uspace/srv/bd/hr/parity_stripe.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/bd/hr/parity_stripe.c
r09c195e8 rcdfcaea 53 53 range_t *); 54 54 static size_t hr_stripe_merge_extent_spans(hr_stripe_t *, size_t, range_t [2]); 55 static void hr_reset_stripe(hr_stripe_t *);56 55 static void hr_stripe_extend_range(range_t *, const range_t *); 57 56 static bool hr_ranges_overlap(const range_t *, const range_t *, range_t *); 58 57 59 hr_stripe_t *hr_create_stripes(hr_volume_t *vol, size_t cnt, bool write) 60 { 61 hr_stripe_t *stripes = calloc(cnt, sizeof(*stripes)); 62 if (stripes == NULL) 63 return NULL; 58 hr_stripe_t *hr_create_stripes(hr_volume_t *vol, uint64_t strip_size, 59 size_t cnt, bool write) 60 { 61 hr_stripe_t *stripes = hr_calloc_waitok(cnt, sizeof(*stripes)); 64 62 65 63 for (size_t i = 0; i < cnt; i++) { … … 68 66 stripes[i].vol = vol; 69 67 stripes[i].write = write; 70 stripes[i].parity = calloc(1, vol->strip_size); 71 if (stripes[i].parity == NULL) 72 goto error; 73 stripes[i].extent_span = 74 calloc(vol->extent_no, sizeof(*stripes[i].extent_span)); 75 if (stripes[i].extent_span == NULL) 76 goto error; 68 stripes[i].parity = hr_calloc_waitok(1, strip_size); 69 stripes[i].parity_size = strip_size; 70 stripes[i].extent_span = hr_calloc_waitok(vol->extent_no, 71 sizeof(*stripes[i].extent_span)); 77 72 } 78 73 79 74 return stripes; 80 error:81 hr_destroy_stripes(stripes, cnt);82 return NULL;83 75 } 84 76 … … 96 88 97 89 free(stripes); 90 } 91 92 void hr_reset_stripe(hr_stripe_t *stripe) 93 { 94 memset(stripe->parity, 0, stripe->parity_size); 95 stripe->ps_added = 0; 96 stripe->ps_to_be_added = 0; 97 stripe->p_count_final = false; 98 99 stripe->rc = EOK; 100 stripe->abort = false; 101 stripe->done = false; 98 102 } 99 103 … … 878 882 } 879 883 880 static void hr_reset_stripe(hr_stripe_t *stripe)881 {882 printf("%s\n", __func__);883 884 memset(stripe->parity, 0, stripe->vol->strip_size);885 stripe->ps_added = 0;886 stripe->ps_to_be_added = 0;887 stripe->p_count_final = false;888 889 stripe->rc = EOK;890 stripe->abort = false;891 stripe->done = false;892 }893 894 884 /** Extend a range. 895 885 *
Note:
See TracChangeset
for help on using the changeset viewer.
