Changeset 1626cd4 in mainline for uspace/lib/c/generic/vbd.c
- Timestamp:
- 2015-07-02T19:01:37Z (9 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/lib/c/generic/vbd.c
r3faa03d r1626cd4 37 37 #include <ipc/vbd.h> 38 38 #include <loc.h> 39 #include <macros.h> 39 40 #include <mem.h> 40 41 #include <stdlib.h> … … 106 107 } 107 108 109 #include <io/log.h> 108 110 /** Get disk information. */ 109 111 int vbd_disk_info(vbd_t *vbd, service_id_t sid, vbd_disk_info_t *vinfo) 110 112 { 111 113 async_exch_t *exch; 112 sysarg_t ltype; 113 int retval; 114 115 exch = async_exchange_begin(vbd->sess); 116 retval = async_req_1_1(exch, VBD_DISK_INFO, sid, <ype); 117 async_exchange_end(exch); 118 119 if (retval != EOK) 120 return EIO; 121 122 vinfo->ltype = (label_type_t)ltype; 114 sysarg_t retval; 115 ipc_call_t answer; 116 117 log_msg(LOG_DEFAULT, LVL_DEBUG, "vbd_disk_info() begin exchange"); 118 exch = async_exchange_begin(vbd->sess); 119 aid_t req = async_send_1(exch, VBD_DISK_INFO, sid, &answer); 120 log_msg(LOG_DEFAULT, LVL_DEBUG, "vbd_disk_info() read start"); 121 int rc = async_data_read_start(exch, vinfo, sizeof(vbd_disk_info_t)); 122 log_msg(LOG_DEFAULT, LVL_DEBUG, "vbd_disk_info() end exch"); 123 async_exchange_end(exch); 124 125 if (rc != EOK) { 126 async_forget(req); 127 return EIO; 128 } 129 130 log_msg(LOG_DEFAULT, LVL_DEBUG, "vbd_disk_info() wait fore req reply"); 131 async_wait_for(req, &retval); 132 if (retval != EOK) 133 return EIO; 134 135 log_msg(LOG_DEFAULT, LVL_DEBUG, "vbd_disk_info() done"); 123 136 return EOK; 124 137 } … … 257 270 { 258 271 async_exch_t *exch; 259 int retval; 260 261 exch = async_exchange_begin(vbd->sess); 262 retval = async_req_1_0(exch, VBD_PART_GET_INFO, part); 263 async_exchange_end(exch); 264 265 if (retval != EOK) 266 return EIO; 267 272 sysarg_t index; 273 sysarg_t b0_lo, b0_hi; 274 sysarg_t nb_lo, nb_hi; 275 int retval; 276 277 exch = async_exchange_begin(vbd->sess); 278 retval = async_req_1_5(exch, VBD_PART_GET_INFO, part, &index, 279 &b0_lo, &b0_hi, &nb_lo, &nb_hi); 280 async_exchange_end(exch); 281 282 if (retval != EOK) 283 return EIO; 284 285 pinfo->index = index; 286 pinfo->block0 = MERGE_LOUP32(b0_lo, b0_hi); 287 pinfo->nblocks = MERGE_LOUP32(nb_lo, nb_hi); 268 288 return EOK; 269 289 }
Note:
See TracChangeset
for help on using the changeset viewer.