Changeset 50bed55d in mainline
- Timestamp:
- 2024-10-18T14:30:56Z (7 months ago)
- Children:
- fad91b9
- Parents:
- 6d55e39
- Location:
- uspace
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/hrctl/hrctl.c
r6d55e39 r50bed55d 159 159 level_str = sif_node_get_attr(narray, "level"); 160 160 if (level_str == NULL) 161 cfg->level = hr_l_empty;161 cfg->level = HR_LVL_UNKNOWN; 162 162 else 163 163 cfg->level = strtol(level_str, NULL, 10); … … 218 218 219 219 retval = 0; 220 cfg->level = hr_l_empty;220 cfg->level = HR_LVL_UNKNOWN; 221 221 cfg->dev_no = 0; 222 222 create = assemble = false; … … 286 286 return 0; 287 287 case 'l': 288 if (cfg->level != hr_l_empty)288 if (cfg->level != HR_LVL_UNKNOWN) 289 289 goto bad; 290 290 cfg->level = strtol(optarg, NULL, 10); 291 291 break; 292 292 case '0': 293 if (cfg->level != hr_l_empty)294 goto bad; 295 cfg->level = hr_l_0;293 if (cfg->level != HR_LVL_UNKNOWN) 294 goto bad; 295 cfg->level = HR_LVL_0; 296 296 break; 297 297 case '1': 298 if (cfg->level != hr_l_empty)299 goto bad; 300 cfg->level = hr_l_1;298 if (cfg->level != HR_LVL_UNKNOWN) 299 goto bad; 300 cfg->level = HR_LVL_1; 301 301 break; 302 302 case '4': 303 if (cfg->level != hr_l_empty)304 goto bad; 305 cfg->level = hr_l_4;303 if (cfg->level != HR_LVL_UNKNOWN) 304 goto bad; 305 cfg->level = HR_LVL_4; 306 306 break; 307 307 case '5': 308 if (cfg->level != hr_l_empty)309 goto bad; 310 cfg->level = hr_l_5;308 if (cfg->level != HR_LVL_UNKNOWN) 309 goto bad; 310 cfg->level = HR_LVL_5; 311 311 break; 312 312 case 'n': … … 325 325 goto bad; 326 326 327 if (create && cfg->level == hr_l_empty) {327 if (create && cfg->level == HR_LVL_UNKNOWN) { 328 328 printf("hrctl: invalid level, exiting\n"); 329 329 return 1; -
uspace/lib/device/include/hr.h
r6d55e39 r50bed55d 46 46 #define HR_DEVNAME_LEN 32 47 47 48 typedef enum hr_level { 49 HR_LVL_0 = 0x00, /* striping, no redundancy */ 50 HR_LVL_1 = 0x01, /* n-way mirroring */ 51 HR_LVL_4 = 0x04, /* dedicated parity */ 52 HR_LVL_5 = 0x05, /* distributed parity */ 53 HR_LVL_UNKNOWN = 0xFF 54 } hr_level_t; 55 48 56 typedef struct hr { 49 57 async_sess_t *sess; 50 58 } hr_t; 51 52 typedef enum hr_level {53 hr_l_0 = 0,54 hr_l_1 = 1,55 hr_l_4 = 4,56 hr_l_5 = 5,57 hr_l_linear = 254,58 hr_l_empty = 25559 } hr_level_t;60 59 61 60 typedef struct hr_config { -
uspace/lib/device/src/hr.c
r6d55e39 r50bed55d 131 131 132 132 printf("level: %d\n", vol_info->level); 133 if (vol_info->level == hr_l_0 || vol_info->level == hr_l_4) {133 if (vol_info->level == HR_LVL_0 || vol_info->level == HR_LVL_4) { 134 134 if (vol_info->strip_size / 1024 < 1) 135 135 printf("strip size in bytes: %u\n", … … 144 144 printf("block size: %zu\n", vol_info->bsize); 145 145 146 if (vol_info->level == hr_l_4)146 if (vol_info->level == HR_LVL_4) 147 147 printf("extents: [P] [status] [index] [devname]\n"); 148 148 else … … 153 153 if (rc != EOK) 154 154 return rc; 155 if (i == 0 && vol_info->level == hr_l_4)155 if (i == 0 && vol_info->level == HR_LVL_4) 156 156 printf(" P %d %zu %s\n", ext->status, i, devname); 157 else if (vol_info->level == hr_l_4)157 else if (vol_info->level == HR_LVL_4) 158 158 printf(" %d %zu %s\n", ext->status, i, devname); 159 159 else -
uspace/srv/bd/hr/hr.c
r6d55e39 r50bed55d 147 147 148 148 if (assemble) { 149 if (cfg->level != hr_l_empty)149 if (cfg->level != HR_LVL_UNKNOWN) 150 150 log_msg(LOG_DEFAULT, LVL_WARN, 151 151 "level manually set when assembling, ingoring"); 152 new_volume->level = hr_l_empty;152 new_volume->level = HR_LVL_UNKNOWN; 153 153 } 154 154 … … 172 172 173 173 switch (new_volume->level) { 174 case hr_l_1:174 case HR_LVL_1: 175 175 new_volume->hr_ops.create = hr_raid1_create; 176 176 new_volume->hr_ops.init = hr_raid1_init; 177 177 break; 178 case hr_l_0:178 case HR_LVL_0: 179 179 new_volume->hr_ops.create = hr_raid0_create; 180 180 new_volume->hr_ops.init = hr_raid0_init; 181 181 break; 182 case hr_l_4:182 case HR_LVL_4: 183 183 new_volume->hr_ops.create = hr_raid4_create; 184 184 new_volume->hr_ops.init = hr_raid4_init; 185 185 break; 186 case hr_l_5:186 case HR_LVL_5: 187 187 new_volume->hr_ops.create = hr_raid5_create; 188 188 new_volume->hr_ops.init = hr_raid5_init; -
uspace/srv/bd/hr/raid0.c
r6d55e39 r50bed55d 214 214 errno_t rc; 215 215 216 assert(new_volume->level == hr_l_0);216 assert(new_volume->level == HR_LVL_0); 217 217 218 218 if (new_volume->dev_no < 2) { … … 237 237 uint64_t total_blkno; 238 238 239 assert(vol->level == hr_l_0);239 assert(vol->level == HR_LVL_0); 240 240 241 241 rc = hr_check_devs(vol, &total_blkno, &bsize); -
uspace/srv/bd/hr/raid1.c
r6d55e39 r50bed55d 182 182 errno_t rc; 183 183 184 assert(new_volume->level == hr_l_1);184 assert(new_volume->level == HR_LVL_1); 185 185 186 186 if (new_volume->dev_no < 2) { … … 205 205 uint64_t total_blkno; 206 206 207 assert(vol->level == hr_l_1);207 assert(vol->level == HR_LVL_1); 208 208 209 209 rc = hr_check_devs(vol, &total_blkno, &bsize); -
uspace/srv/bd/hr/raid4.c
r6d55e39 r50bed55d 264 264 errno_t rc; 265 265 266 assert(new_volume->level == hr_l_4);266 assert(new_volume->level == HR_LVL_4); 267 267 268 268 if (new_volume->dev_no < 3) { … … 287 287 uint64_t total_blkno; 288 288 289 assert(vol->level == hr_l_4);289 assert(vol->level == HR_LVL_4); 290 290 291 291 rc = hr_check_devs(vol, &total_blkno, &bsize); -
uspace/srv/bd/hr/raid5.c
r6d55e39 r50bed55d 276 276 errno_t rc; 277 277 278 assert(new_volume->level == hr_l_5);278 assert(new_volume->level == HR_LVL_5); 279 279 280 280 if (new_volume->dev_no < 3) { … … 299 299 uint64_t total_blkno; 300 300 301 assert(vol->level == hr_l_5);301 assert(vol->level == HR_LVL_5); 302 302 303 303 rc = hr_check_devs(vol, &total_blkno, &bsize); -
uspace/srv/bd/hr/superblock.c
r6d55e39 r50bed55d 67 67 68 68 meta_blkno = (HR_META_OFF + HR_META_SIZE); 69 if (vol->level != hr_l_1)69 if (vol->level != HR_LVL_1) 70 70 meta_blkno *= vol->dev_no; 71 71
Note:
See TracChangeset
for help on using the changeset viewer.