Changeset 5b320ac in mainline for uspace/lib/device/src
- Timestamp:
- 2024-11-22T18:38:49Z (14 months ago)
- Children:
- d0f0744
- Parents:
- 06f2762
- File:
-
- 1 edited
-
uspace/lib/device/src/hr.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/device/src/hr.c
r06f2762 r5b320ac 166 166 printf(" %s %zu %s\n", hr_get_ext_status_msg(ext->status), i, devname); 167 167 } 168 169 if (vol_info->hotspare_no == 0) 170 return EOK; 171 172 printf("hotspares: [status] [index] [devname]\n"); 173 for (i = 0; i < vol_info->hotspare_no; i++) { 174 ext = &vol_info->hotspares[i]; 175 if (ext->status == HR_EXT_MISSING) { 176 devname = (char *) "MISSING-devname"; 177 } else { 178 rc = loc_service_get_name(ext->svc_id, &devname); 179 if (rc != EOK) 180 return rc; 181 } 182 printf(" %s %zu %s\n", 183 hr_get_ext_status_msg(ext->status), i, devname); 184 } 185 168 186 return EOK; 169 187 } … … 194 212 if (rc != EOK) 195 213 goto error; 214 error: 215 hr_sess_destroy(hr); 216 return rc; 217 } 218 219 errno_t hr_add_hotspare(service_id_t vol_svc_id, service_id_t hs_svc_id) 220 { 221 hr_t *hr; 222 errno_t rc; 223 async_exch_t *exch; 224 225 rc = hr_sess_init(&hr); 226 if (rc != EOK) 227 return rc; 228 229 exch = async_exchange_begin(hr->sess); 230 if (exch == NULL) { 231 rc = EINVAL; 232 goto error; 233 } 234 235 rc = async_req_2_0(exch, HR_ADD_HOTSPARE, vol_svc_id, hs_svc_id); 236 async_exchange_end(exch); 196 237 error: 197 238 hr_sess_destroy(hr); … … 277 318 case HR_VOL_DEGRADED: 278 319 return "DEGRADED"; 320 case HR_VOL_REBUILD: 321 return "REBUILD"; 279 322 default: 280 323 return "UNKNOWN"; … … 291 334 case HR_EXT_FAILED: 292 335 return "FAILED"; 336 case HR_EXT_REBUILD: 337 return "REBUILD"; 338 case HR_EXT_HOTSPARE: 339 return "HOTSPARE"; 293 340 default: 294 341 return "UNKNOWN";
Note:
See TracChangeset
for help on using the changeset viewer.
