Changeset 3faa03d in mainline for uspace/srv/bd/vbd/disk.c
- Timestamp:
- 2015-07-02T16:30:16Z (10 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 1626cd4
- Parents:
- 78d50bd
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/bd/vbd/disk.c
r78d50bd r3faa03d 96 96 static int vbds_part_by_id(vbds_part_id_t partid, vbds_part_t **rpart) 97 97 { 98 log_msg(LOG_DEFAULT, LVL_NOTE, "vbds_part_by_id(%zu)", partid); 99 98 100 list_foreach(vbds_parts, lparts, vbds_part_t, part) { 101 log_msg(LOG_DEFAULT, LVL_NOTE, "%zu == %zu ?", part->id, partid); 99 102 if (part->id == partid) { 103 log_msg(LOG_DEFAULT, LVL_NOTE, "Found match."); 100 104 *rpart = part; 101 105 return EOK; … … 103 107 } 104 108 109 log_msg(LOG_DEFAULT, LVL_NOTE, "No match."); 105 110 return ENOENT; 106 111 } … … 146 151 part->lpart = lpart; 147 152 part->disk = disk; 153 part->id = (vbds_part_id_t)psid; 148 154 part->block0 = lpinfo.block0; 149 155 part->nblocks = lpinfo.nblocks; … … 161 167 int vbds_disk_add(service_id_t sid) 162 168 { 163 label_t *label ;169 label_t *label = NULL; 164 170 label_part_t *part; 165 171 vbds_disk_t *disk = NULL; … … 206 212 rc = label_open(sid, &label); 207 213 if (rc != EOK) { 214 log_msg(LOG_DEFAULT, LVL_NOTE, "Label in disk %s not recognized.", 215 disk->svc_name); 208 216 rc = EIO; 209 217 goto error; … … 216 224 list_initialize(&disk->parts); 217 225 list_append(&disk->ldisks, &vbds_disks); 226 227 log_msg(LOG_DEFAULT, LVL_NOTE, "Recognized disk label. Adding partitions."); 218 228 219 229 part = label_part_first(label); … … 462 472 static int vbds_bd_get_block_size(bd_srv_t *bd, size_t *rsize) 463 473 { 474 vbds_part_t *part = bd_srv_part(bd); 475 464 476 log_msg(LOG_DEFAULT, LVL_NOTE, "vbds_bd_get_block_size()"); 477 *rsize = part->disk->block_size; 465 478 return EOK; 466 479 } … … 468 481 static int vbds_bd_get_num_blocks(bd_srv_t *bd, aoff64_t *rnb) 469 482 { 483 vbds_part_t *part = bd_srv_part(bd); 484 470 485 log_msg(LOG_DEFAULT, LVL_NOTE, "vbds_bd_get_num_blocks()"); 486 *rnb = part->nblocks; 471 487 return EOK; 472 488 } … … 478 494 service_id_t partid; 479 495 496 log_msg(LOG_DEFAULT, LVL_NOTE, "vbds_bd_conn()"); 497 480 498 partid = IPC_GET_ARG1(*icall); 481 499 500 log_msg(LOG_DEFAULT, LVL_NOTE, "vbds_bd_conn() - partid=%zu", partid); 501 482 502 rc = vbds_part_by_id(partid, &part); 483 503 if (rc != EOK) { 504 log_msg(LOG_DEFAULT, LVL_NOTE, "vbd_bd_conn() - partition " 505 "not found."); 484 506 async_answer_0(iid, EINVAL); 485 507 return; 486 508 } 487 509 510 log_msg(LOG_DEFAULT, LVL_NOTE, "vbds_bd_conn() - call bd_conn"); 488 511 bd_conn(iid, icall, &part->bds); 489 512 }
Note:
See TracChangeset
for help on using the changeset viewer.