Changeset b883aa8 in mainline
- Timestamp:
- 2025-04-21T12:47:58Z (4 weeks ago)
- Children:
- 5cb1631
- Parents:
- 75262d2f
- Location:
- uspace
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/device/include/hr.h
r75262d2f rb883aa8 115 115 } hr_vol_info_t; 116 116 117 typedef enum { 118 HR_METADATA_NATIVE = 0, 119 HR_METADATA_GEOM_MIRROR = 1, 120 HR_METADATA_GEOM_STRIPE = 2, 121 HR_METADATA_LAST_DUMMY = 3 122 } hr_metadata_type_t; 123 117 124 extern errno_t hr_sess_init(hr_t **); 118 125 extern void hr_sess_destroy(hr_t *); … … 126 133 extern const char *hr_get_ext_status_msg(hr_ext_status_t); 127 134 extern const char *hr_get_layout_str(hr_level_t, uint8_t); 135 extern const char *hr_get_metadata_type_str(hr_metadata_type_t); 128 136 129 137 #endif -
uspace/lib/device/src/hr.c
r75262d2f rb883aa8 456 456 } 457 457 458 const char *hr_get_metadata_type_str(hr_metadata_type_t type) 459 { 460 switch (type) { 461 case HR_METADATA_NATIVE: 462 return "Native HelenRAID metadata"; 463 case HR_METADATA_GEOM_MIRROR: 464 return "GEOM::MIRROR"; 465 case HR_METADATA_GEOM_STRIPE: 466 return "GEOM::STRIPE"; 467 default: 468 return "Invalid metadata type value"; 469 } 470 } 471 458 472 /** @} 459 473 */ -
uspace/srv/bd/hr/metadata/foreign/geom/mirror.c
r75262d2f rb883aa8 70 70 static size_t meta_gmirror_get_size(void); 71 71 static uint8_t meta_gmirror_get_flags(void); 72 static metadata_type_tmeta_gmirror_get_type(void);72 static hr_metadata_type_t meta_gmirror_get_type(void); 73 73 static void meta_gmirror_dump(const void *); 74 74 … … 372 372 } 373 373 374 static metadata_type_t meta_gmirror_get_type(void)374 static hr_metadata_type_t meta_gmirror_get_type(void) 375 375 { 376 376 return HR_METADATA_GEOM_MIRROR; -
uspace/srv/bd/hr/metadata/native.c
r75262d2f rb883aa8 70 70 static size_t meta_native_get_size(void); 71 71 static uint8_t meta_native_get_flags(void); 72 static metadata_type_tmeta_native_get_type(void);72 static hr_metadata_type_t meta_native_get_type(void); 73 73 static void meta_native_dump(const void *); 74 74 … … 434 434 } 435 435 436 static metadata_type_t meta_native_get_type(void)436 static hr_metadata_type_t meta_native_get_type(void) 437 437 { 438 438 return HR_METADATA_NATIVE; -
uspace/srv/bd/hr/superblock.c
r75262d2f rb883aa8 61 61 }; 62 62 63 hr_superblock_ops_t *get_type_ops( metadata_type_t type)63 hr_superblock_ops_t *get_type_ops(hr_metadata_type_t type) 64 64 { 65 65 assert(type >= HR_METADATA_NATIVE && type < HR_METADATA_LAST_DUMMY); … … 69 69 70 70 errno_t find_metadata(service_id_t svc_id, void **rmetadata, 71 metadata_type_t *rtype)71 hr_metadata_type_t *rtype) 72 72 { 73 73 HR_DEBUG("%s()", __func__); … … 83 83 return EINVAL; 84 84 85 volatile metadata_type_t type = HR_METADATA_NATIVE;85 volatile hr_metadata_type_t type = HR_METADATA_NATIVE; 86 86 for (; type < HR_METADATA_LAST_DUMMY; type++) { 87 87 meta_ops = hr_superblock_ops_all[type]; -
uspace/srv/bd/hr/superblock.h
r75262d2f rb883aa8 41 41 typedef struct hr_volume hr_volume_t; 42 42 43 typedef enum {44 HR_METADATA_NATIVE = 0,45 HR_METADATA_GEOM_MIRROR = 1,46 HR_METADATA_LAST_DUMMY = 247 } metadata_type_t;48 49 43 #define HR_METADATA_HOTSPARE_SUPPORT 0x01 50 44 … … 66 60 size_t (*get_size)(void); 67 61 uint8_t (*get_flags)(void); 68 metadata_type_t (*get_type)(void);69 62 void (*dump)(const void *); 63 hr_metadata_type_t (*get_type)(void); 70 64 } hr_superblock_ops_t; 71 65 72 hr_superblock_ops_t *get_type_ops(metadata_type_t);73 extern errno_t find_metadata(service_id_t, void **, metadata_type_t *);66 extern hr_superblock_ops_t *get_type_ops(hr_metadata_type_t); 67 extern errno_t find_metadata(service_id_t, void **, hr_metadata_type_t *); 74 68 75 69 #endif -
uspace/srv/bd/hr/util.c
r75262d2f rb883aa8 64 64 static void block_fini_dev_list(list_t *); 65 65 static errno_t hr_util_get_matching_md_svcs_list(list_t *, list_t *, 66 service_id_t, metadata_type_t, void *);67 static errno_t hr_util_assemble_from_matching_list(list_t *, metadata_type_t);66 service_id_t, hr_metadata_type_t, void *); 67 static errno_t hr_util_assemble_from_matching_list(list_t *, hr_metadata_type_t); 68 68 static errno_t hr_fill_svcs_list_from_cfg(hr_config_t *, list_t *); 69 69 … … 77 77 78 78 errno_t hr_create_vol_struct(hr_volume_t **rvol, hr_level_t level, 79 const char *devname, metadata_type_t metadata_type)79 const char *devname, hr_metadata_type_t metadata_type) 80 80 { 81 81 errno_t rc; … … 752 752 753 753 static errno_t hr_util_get_matching_md_svcs_list(list_t *rlist, list_t *list, 754 service_id_t svc_id, metadata_type_t type_main, void *metadata_struct_main) 754 service_id_t svc_id, hr_metadata_type_t type_main, 755 void *metadata_struct_main) 755 756 { 756 757 HR_DEBUG("%s()", __func__); … … 765 766 766 767 void *metadata_struct; 767 metadata_type_t type;768 hr_metadata_type_t type; 768 769 769 770 rc = find_metadata(iter->svc_id, &metadata_struct, &type); … … 797 798 798 799 static errno_t hr_util_assemble_from_matching_list(list_t *list, 799 metadata_type_t type)800 hr_metadata_type_t type) 800 801 { 801 802 HR_DEBUG("%s()", __func__); … … 930 931 931 932 void *metadata_struct_main; 932 metadata_type_t type;933 hr_metadata_type_t type; 933 934 934 935 rc = find_metadata(iter->svc_id, &metadata_struct_main, &type); … … 947 948 if (rc != EOK) 948 949 goto error; 949 950 HR_DEBUG("found valid metadata on %s, " 951 "will try to match other extents\n", svc_name); 952 950 HR_DEBUG("found valid metadata on %s (type = %s), matching " 951 "other extents\n", 952 svc_name, hr_get_metadata_type_str(type)); 953 953 free(svc_name); 954 954 -
uspace/srv/bd/hr/util.h
r75262d2f rb883aa8 68 68 69 69 extern errno_t hr_create_vol_struct(hr_volume_t **, hr_level_t, 70 const char *, metadata_type_t);70 const char *, hr_metadata_type_t); 71 71 extern void hr_destroy_vol_struct(hr_volume_t *); 72 72 extern hr_volume_t *hr_get_volume(service_id_t);
Note:
See TracChangeset
for help on using the changeset viewer.