Changeset 2d78d88 in mainline for uspace/srv/volsrv/volsrv.c
- Timestamp:
- 2018-07-25T17:04:03Z (6 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- efa3136
- Parents:
- bec18a9
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/volsrv/volsrv.c
rbec18a9 r2d78d88 285 285 } 286 286 287 288 287 static void vol_part_mkfs_srv(vol_parts_t *parts, ipc_call_t *icall) 289 288 { … … 291 290 vol_part_t *part; 292 291 vol_fstype_t fstype; 293 char *label ;294 char *mountp ;292 char *label = NULL; 293 char *mountp = NULL; 295 294 errno_t rc; 296 295 … … 304 303 if (rc != EOK) { 305 304 async_answer_0(icall, rc); 306 return;305 goto error; 307 306 } 308 307 … … 315 314 0, NULL); 316 315 if (rc != EOK) { 317 free(label); 318 async_answer_0(icall, rc); 319 return; 316 async_answer_0(icall, rc); 317 goto error; 320 318 } 321 319 … … 327 325 rc = vol_part_find_by_id_ref(parts, sid, &part); 328 326 if (rc != EOK) { 327 async_answer_0(icall, ENOENT); 328 goto error; 329 } 330 331 rc = vol_part_mkfs_part(part, fstype, label, mountp); 332 if (rc != EOK) { 333 async_answer_0(icall, rc); 334 vol_part_del_ref(part); 335 goto error; 336 } 337 338 free(label); 339 free(mountp); 340 async_answer_0(icall, EOK); 341 342 return; 343 error: 344 if (label != NULL) 329 345 free(label); 346 if (mountp != NULL) 347 free(mountp); 348 } 349 350 static void vol_part_set_mountp_srv(vol_parts_t *parts, 351 ipc_call_t *icall) 352 { 353 service_id_t sid; 354 vol_part_t *part; 355 char *mountp; 356 errno_t rc; 357 358 log_msg(LOG_DEFAULT, LVL_NOTE, "vol_part_set_mountp_srv()"); 359 360 sid = IPC_GET_ARG1(*icall); 361 362 rc = async_data_write_accept((void **)&mountp, true, 0, 363 VOL_MOUNTP_MAXLEN, 0, NULL); 364 if (rc != EOK) { 365 async_answer_0(icall, rc); 366 return; 367 } 368 369 if (mountp != NULL) { 370 log_msg(LOG_DEFAULT, LVL_NOTE, 371 "vol_part_set_mountp_srv: mountp='%s'", mountp); 372 } 373 374 rc = vol_part_find_by_id_ref(parts, sid, &part); 375 if (rc != EOK) { 376 free(mountp); 330 377 async_answer_0(icall, ENOENT); 331 378 return; 332 379 } 333 380 334 rc = vol_part_ mkfs_part(part, fstype, label, mountp);335 if (rc != EOK) { 336 free( label);381 rc = vol_part_set_mountp_part(part, mountp); 382 if (rc != EOK) { 383 free(mountp); 337 384 async_answer_0(icall, rc); 338 385 vol_part_del_ref(part); … … 340 387 } 341 388 342 free( label);389 free(mountp); 343 390 async_answer_0(icall, EOK); 344 391 } … … 386 433 vol_part_mkfs_srv(parts, &call); 387 434 break; 435 case VOL_PART_SET_MOUNTP: 436 vol_part_set_mountp_srv(parts, &call); 437 break; 388 438 default: 389 439 async_answer_0(&call, EINVAL);
Note:
See TracChangeset
for help on using the changeset viewer.