Ignore:
File:
1 edited

Legend:

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

    r9e45a41 r4285f384  
    11/*
    2  * Copyright (c) 2015 Jiri Svoboda
     2 * Copyright (c) 2025 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    5353#define NAME  "volsrv"
    5454
    55 const char *vol_cfg_file = "/cfg/volsrv.sif";
     55const char *vol_icfg_file = "/cfg/initvol.sif";
     56const char *vol_cfg_file = "/w/cfg/volsrv.sif";
    5657
    5758static void vol_client_conn(ipc_call_t *, void *);
     
    6263        vol_volumes_t *volumes = NULL;
    6364        vol_parts_t *parts = NULL;
     65        loc_srv_t *srv = NULL;
    6466
    6567        log_msg(LOG_DEFAULT, LVL_DEBUG, "vol_init()");
    6668
    67         rc = vol_volumes_create(vol_cfg_file, &volumes);
     69        rc = vol_volumes_create(vol_icfg_file, &volumes);
    6870        if (rc != EOK)
    6971                goto error;
     
    7981        async_set_fallback_port_handler(vol_client_conn, parts);
    8082
    81         rc = loc_server_register(NAME);
     83        rc = loc_server_register(NAME, &srv);
    8284        if (rc != EOK) {
    8385                log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering server: %s.", str_error(rc));
     
    8688
    8789        service_id_t sid;
    88         rc = loc_service_register(SERVICE_NAME_VOLSRV, &sid);
     90        rc = loc_service_register(srv, SERVICE_NAME_VOLSRV, &sid);
    8991        if (rc != EOK) {
    9092                log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering service: %s.", str_error(rc));
     
    9597        return EOK;
    9698error:
     99        if (srv != NULL)
     100                loc_server_unregister(srv);
    97101        vol_volumes_destroy(volumes);
    98102        vol_parts_destroy(parts);
     
    201205{
    202206        service_id_t sid;
     207        vol_eject_flags_t flags;
    203208        vol_part_t *part;
    204209        errno_t rc;
    205210
    206211        sid = ipc_get_arg1(icall);
    207         log_msg(LOG_DEFAULT, LVL_DEBUG, "vol_part_eject_srv(%zu)", sid);
     212        flags = ipc_get_arg2(icall);
     213
     214        log_msg(LOG_DEFAULT, LVL_DEBUG, "vol_part_eject_srv(%zu, %x)",
     215            sid, flags);
    208216
    209217        rc = vol_part_find_by_id_ref(parts, sid, &part);
     
    213221        }
    214222
    215         rc = vol_part_eject_part(part);
     223        rc = vol_part_eject_part(part, flags);
    216224        if (rc != EOK) {
    217225                async_answer_0(icall, EIO);
Note: See TracChangeset for help on using the changeset viewer.