Changeset 72c72d4 in mainline for uspace/srv/volsrv/volsrv.c


Ignore:
Timestamp:
2018-06-29T13:41:13Z (7 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
1a9174e
Parents:
db9c889
git-author:
Jiri Svoboda <jiri@…> (2018-06-28 17:40:58)
git-committer:
Jiri Svoboda <jiri@…> (2018-06-29 13:41:13)
Message:

Basic volume eject implementation.

File:
1 edited

Legend:

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

    rdb9c889 r72c72d4  
    181181}
    182182
     183static void vol_part_eject_srv(cap_call_handle_t icall_handle, ipc_call_t *icall)
     184{
     185        service_id_t sid;
     186        vol_part_t *part;
     187        errno_t rc;
     188
     189        sid = IPC_GET_ARG1(*icall);
     190        log_msg(LOG_DEFAULT, LVL_DEBUG, "vol_part_eject_srv(%zu)", sid);
     191
     192        rc = vol_part_find_by_id(sid, &part);
     193        if (rc != EOK) {
     194                async_answer_0(icall_handle, ENOENT);
     195                return;
     196        }
     197
     198        rc = vol_part_eject_part(part);
     199        if (rc != EOK) {
     200                async_answer_0(icall_handle, EIO);
     201                return;
     202        }
     203
     204        async_answer_0(icall_handle, EOK);
     205}
     206
    183207static void vol_part_empty_srv(cap_call_handle_t icall_handle, ipc_call_t *icall)
    184208{
     
    314338                        vol_part_info_srv(chandle, &call);
    315339                        break;
     340                case VOL_PART_EJECT:
     341                        vol_part_eject_srv(chandle, &call);
     342                        break;
    316343                case VOL_PART_EMPTY:
    317344                        vol_part_empty_srv(chandle, &call);
Note: See TracChangeset for help on using the changeset viewer.