Changeset db9c889 in mainline for uspace/srv/volsrv/part.c
- Timestamp:
- 2018-06-29T13:22:39Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 72c72d4
- Parents:
- 5f36841
- git-author:
- Jiri Svoboda <jiri@…> (2018-06-28 17:22:13)
- git-committer:
- Jiri Svoboda <jiri@…> (2018-06-29 13:22:39)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/volsrv/part.c
r5f36841 rdb9c889 155 155 return; 156 156 157 free(part->cur_mp); 157 158 free(part->svc_name); 158 159 free(part); … … 219 220 } 220 221 221 static int vol_part_mount(vol_part_t *part)222 static errno_t vol_part_mount(vol_part_t *part) 222 223 { 223 224 char *mp; 224 int rc; 225 int err; 226 errno_t rc; 225 227 226 228 if (str_size(part->label) < 1) { … … 231 233 232 234 log_msg(LOG_DEFAULT, LVL_NOTE, "Determine MP label='%s'", part->label); 233 rc= asprintf(&mp, "/vol/%s", part->label);234 if ( rc< 0) {235 log_msg(LOG_DEFAULT, LVL_ NOTE, "rc -> %d", rc);235 err = asprintf(&mp, "/vol/%s", part->label); 236 if (err < 0) { 237 log_msg(LOG_DEFAULT, LVL_ERROR, "Out of memory"); 236 238 return ENOMEM; 237 239 } … … 255 257 log_msg(LOG_DEFAULT, LVL_NOTE, "Mount to %s -> %d\n", mp, rc); 256 258 257 free(mp); 259 part->cur_mp = mp; 260 part->cur_mp_auto = true; 261 258 262 return rc; 259 263 } … … 381 385 382 386 return ENOENT; 387 } 388 389 errno_t vol_part_eject_part(vol_part_t *part) 390 { 391 int rc; 392 393 log_msg(LOG_DEFAULT, LVL_DEBUG, "vol_part_eject_part()"); 394 395 if (part->cur_mp == NULL) { 396 log_msg(LOG_DEFAULT, LVL_DEBUG, "Attempt to mount unmounted " 397 "partition."); 398 return EINVAL; 399 } 400 401 rc = vfs_unmount_path(part->cur_mp); 402 if (rc != EOK) { 403 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed unmounting partition " 404 "from %s", part->cur_mp); 405 return rc; 406 } 407 408 if (part->cur_mp_auto) { 409 rc = vfs_unlink_path(part->cur_mp); 410 if (rc != EOK) { 411 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed deleting " 412 "mount directory %s.", part->cur_mp); 413 } 414 } 415 416 free(part->cur_mp); 417 part->cur_mp = NULL; 418 part->cur_mp_auto = false; 419 420 return EOK; 383 421 } 384 422 … … 443 481 pinfo->fstype = part->fstype; 444 482 str_cpy(pinfo->label, sizeof(pinfo->label), part->label); 483 str_cpy(pinfo->cur_mp, sizeof(pinfo->cur_mp), part->cur_mp); 484 pinfo->cur_mp_auto = part->cur_mp_auto; 445 485 return EOK; 446 486 }
Note:
See TracChangeset
for help on using the changeset viewer.