Changeset b82985e in mainline for uspace/srv/volsrv/volsrv.c


Ignore:
Timestamp:
2018-10-12T13:16:04Z (6 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
d09eeb2
Parents:
6d00aff
Message:

Inserting volume by path.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/volsrv/volsrv.c

    r6d00aff rb82985e  
    250250}
    251251
     252static void vol_part_insert_by_path_srv(vol_parts_t *parts, ipc_call_t *icall)
     253{
     254        vol_part_t *part;
     255        char *path = NULL;
     256        errno_t rc;
     257
     258        log_msg(LOG_DEFAULT, LVL_NOTE, "vol_part_insert_by_path_srv()");
     259
     260        rc = async_data_write_accept((void **)&path, true, 0, VOL_MOUNTP_MAXLEN,
     261            0, NULL);
     262        if (rc != EOK) {
     263                async_answer_0(icall, rc);
     264                goto error;
     265        }
     266
     267        rc = vol_part_find_by_path_ref(parts, path, &part);
     268        if (rc != EOK) {
     269                async_answer_0(icall, ENOENT);
     270                goto error;
     271        }
     272
     273        rc = vol_part_insert_part(part);
     274        if (rc != EOK) {
     275                async_answer_0(icall, rc);
     276                vol_part_del_ref(part);
     277                goto error;
     278        }
     279
     280        free(path);
     281        vol_part_del_ref(part);
     282        async_answer_0(icall, EOK);
     283
     284        return;
     285error:
     286        if (path != NULL)
     287                free(path);
     288}
     289
     290
    252291static void vol_part_empty_srv(vol_parts_t *parts, ipc_call_t *icall)
    253292{
     
    545584                        vol_part_insert_srv(parts, &call);
    546585                        break;
     586                case VOL_PART_INSERT_BY_PATH:
     587                        vol_part_insert_by_path_srv(parts, &call);
     588                        break;
    547589                case VOL_PART_LSUPP:
    548590                        vol_part_get_lsupp_srv(parts, &call);
Note: See TracChangeset for help on using the changeset viewer.