Ignore:
File:
1 edited

Legend:

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

    r9e45a41 rca48672  
    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, fallback_port_id,
     91            &sid);
    8992        if (rc != EOK) {
    9093                log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering service: %s.", str_error(rc));
     
    9598        return EOK;
    9699error:
     100        if (srv != NULL)
     101                loc_server_unregister(srv);
    97102        vol_volumes_destroy(volumes);
    98103        vol_parts_destroy(parts);
     
    201206{
    202207        service_id_t sid;
     208        vol_eject_flags_t flags;
    203209        vol_part_t *part;
    204210        errno_t rc;
    205211
    206212        sid = ipc_get_arg1(icall);
    207         log_msg(LOG_DEFAULT, LVL_DEBUG, "vol_part_eject_srv(%zu)", sid);
     213        flags = ipc_get_arg2(icall);
     214
     215        log_msg(LOG_DEFAULT, LVL_DEBUG, "vol_part_eject_srv(%zu, %x)",
     216            sid, flags);
    208217
    209218        rc = vol_part_find_by_id_ref(parts, sid, &part);
     
    213222        }
    214223
    215         rc = vol_part_eject_part(part);
     224        rc = vol_part_eject_part(part, flags);
    216225        if (rc != EOK) {
    217226                async_answer_0(icall, EIO);
Note: See TracChangeset for help on using the changeset viewer.