Changeset 6f13257 in mainline for uspace/srv/bd/hr/raid5.c
- Timestamp:
- 2025-05-20T11:01:31Z (2 months ago)
- Children:
- c5b60e25
- Parents:
- a2281efc
- git-author:
- Miroslav Cimerman <mc@…> (2025-05-20 10:55:15)
- git-committer:
- Miroslav Cimerman <mc@…> (2025-05-20 11:01:31)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/bd/hr/raid5.c
ra2281efc r6f13257 54 54 #include "var.h" 55 55 56 static errno_t hr_raid5_vol_usable(hr_volume_t *); 57 static ssize_t hr_raid5_get_bad_ext(hr_volume_t *); 58 static errno_t hr_raid5_update_vol_state(hr_volume_t *); 59 static void hr_raid5_handle_extent_error(hr_volume_t *, size_t, errno_t); 60 static void xor(void *, const void *, size_t); 61 static errno_t hr_raid5_read_degraded(hr_volume_t *, uint64_t, uint64_t, 56 static errno_t hr_raid5_vol_usable(hr_volume_t *); 57 static ssize_t hr_raid5_get_bad_ext(hr_volume_t *); 58 static errno_t hr_raid5_update_vol_state(hr_volume_t *); 59 static void hr_raid5_handle_extent_error(hr_volume_t *, size_t, errno_t); 60 static void xor(void *, const void *, size_t); 61 62 static errno_t hr_raid5_read_degraded(hr_volume_t *, uint64_t, uint64_t, 62 63 void *, size_t); 63 static errno_t 64 static errno_t hr_raid5_write(hr_volume_t *, uint64_t, uint64_t, aoff64_t, 64 65 const void *, size_t); 65 static errno_t 66 static errno_t hr_raid5_write_parity(hr_volume_t *, uint64_t, uint64_t, 66 67 uint64_t, const void *, size_t); 67 static errno_t 68 static errno_t hr_raid5_bd_op(hr_bd_op_type_t, bd_srv_t *, aoff64_t, size_t, 68 69 void *, const void *, size_t); 69 static errno_t 70 static errno_t hr_raid5_rebuild(void *); 70 71 71 72 /* bdops */ 72 static errno_t 73 static errno_t 74 static errno_t 73 static errno_t hr_raid5_bd_open(bd_srvs_t *, bd_srv_t *); 74 static errno_t hr_raid5_bd_close(bd_srv_t *); 75 static errno_t hr_raid5_bd_read_blocks(bd_srv_t *, aoff64_t, size_t, void *, 75 76 size_t); 76 static errno_t 77 static errno_t 77 static errno_t hr_raid5_bd_sync_cache(bd_srv_t *, aoff64_t, size_t); 78 static errno_t hr_raid5_bd_write_blocks(bd_srv_t *, aoff64_t, size_t, 78 79 const void *, size_t); 79 static errno_t 80 static errno_t 80 static errno_t hr_raid5_bd_get_block_size(bd_srv_t *, size_t *); 81 static errno_t hr_raid5_bd_get_num_blocks(bd_srv_t *, aoff64_t *); 81 82 82 83 static bd_ops_t hr_raid5_bd_ops = { 83 .open 84 .close 85 .sync_cache 86 .read_blocks 87 .write_blocks 88 .get_block_size 89 .get_num_blocks 84 .open = hr_raid5_bd_open, 85 .close = hr_raid5_bd_close, 86 .sync_cache = hr_raid5_bd_sync_cache, 87 .read_blocks = hr_raid5_bd_read_blocks, 88 .write_blocks = hr_raid5_bd_write_blocks, 89 .get_block_size = hr_raid5_bd_get_block_size, 90 .get_num_blocks = hr_raid5_bd_get_num_blocks 90 91 }; 91 92
Note:
See TracChangeset
for help on using the changeset viewer.