Changeset 1626cd4 in mainline for uspace/srv/bd/vbd/disk.c
- Timestamp:
- 2015-07-02T19:01:37Z (10 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 6a0d4ce2
- Parents:
- 3faa03d
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/bd/vbd/disk.c
r3faa03d r1626cd4 268 268 int vbds_disk_info(service_id_t sid, vbds_disk_info_t *info) 269 269 { 270 vbds_disk_t *disk; 271 label_info_t linfo; 272 int rc; 273 270 274 log_msg(LOG_DEFAULT, LVL_NOTE, "vbds_disk_info(%zu)", sid); 271 info->ltype = lt_mbr; 272 return EOK; 273 } 275 276 rc = vbds_disk_by_svcid(sid, &disk); 277 if (rc != EOK) 278 return rc; 279 280 rc = label_get_info(disk->label, &linfo); 281 282 info->ltype = linfo.ltype; 283 info->ablock0 = linfo.ablock0; 284 info->anblocks = linfo.anblocks; 285 info->block_size = disk->block_size; 286 return EOK; 287 } 288 289 int vbds_get_parts(service_id_t sid, service_id_t *id_buf, size_t buf_size, 290 size_t *act_size) 291 { 292 vbds_disk_t *disk; 293 size_t act_cnt; 294 size_t buf_cnt; 295 int rc; 296 297 rc = vbds_disk_by_svcid(sid, &disk); 298 if (rc != EOK) 299 return rc; 300 301 buf_cnt = buf_size / sizeof(service_id_t); 302 303 act_cnt = list_count(&disk->parts); 304 *act_size = act_cnt * sizeof(service_id_t); 305 306 if (buf_size % sizeof(service_id_t) != 0) 307 return EINVAL; 308 309 size_t pos = 0; 310 list_foreach(disk->parts, ldisk, vbds_part_t, part) { 311 if (pos < buf_cnt) 312 id_buf[pos] = part->id; 313 pos++; 314 } 315 316 return EOK; 317 } 318 274 319 275 320 int vbds_label_create(service_id_t sid, label_type_t ltype) … … 328 373 { 329 374 vbds_part_t *part; 375 label_part_info_t lpinfo; 330 376 int rc; 331 377 … … 334 380 return rc; 335 381 382 label_part_get_info(part->lpart, &lpinfo); 383 384 pinfo->index = lpinfo.index; 385 pinfo->block0 = lpinfo.block0; 386 pinfo->nblocks = lpinfo.nblocks; 336 387 return EOK; 337 388 }
Note:
See TracChangeset
for help on using the changeset viewer.