Ignore:
File:
1 edited

Legend:

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

    r4285f384 rca127f37  
    11/*
    2  * Copyright (c) 2025 Jiri Svoboda
     2 * Copyright (c) 2024 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    3636
    3737#include <adt/list.h>
    38 #include <bd.h>
    3938#include <errno.h>
    4039#include <fibril_synch.h>
     
    643642}
    644643
    645 static errno_t vol_part_eject_device(service_id_t svcid)
    646 {
    647         async_sess_t *sess;
    648         errno_t rc;
    649         bd_t *bd;
    650 
    651         log_msg(LOG_DEFAULT, LVL_DEBUG, "vol_part_eject_device(%zu)",
    652             (size_t)svcid);
    653 
    654         sess = loc_service_connect(svcid, INTERFACE_BLOCK, 0);
    655         if (sess == NULL)
    656                 return EIO;
    657 
    658         rc = bd_open(sess, &bd);
    659         if (rc != EOK) {
    660                 async_hangup(sess);
    661                 return EIO;
    662         }
    663 
    664         rc = bd_eject(bd);
    665         if (rc != EOK) {
    666                 log_msg(LOG_DEFAULT, LVL_WARN, "vol_part_eject_device(): "
    667                     "eject fail");
    668                 bd_close(bd);
    669                 async_hangup(sess);
    670                 return EIO;
    671         }
    672 
    673         bd_close(bd);
    674         async_hangup(sess);
    675         return EOK;
    676 }
    677 
    678 errno_t vol_part_eject_part(vol_part_t *part, vol_eject_flags_t flags)
     644errno_t vol_part_eject_part(vol_part_t *part)
    679645{
    680646        int rc;
     
    701667                        log_msg(LOG_DEFAULT, LVL_ERROR, "Failed deleting "
    702668                            "mount directory %s.", part->cur_mp);
    703                 }
    704         }
    705 
    706         if ((flags & vef_physical) != 0) {
    707                 rc = vol_part_eject_device(part->svc_id);
    708                 if (rc != EOK) {
    709                         log_msg(LOG_DEFAULT, LVL_ERROR, "Failed physically "
    710                             "ejecting device %s.", part->svc_name);
    711669                }
    712670        }
     
    861819
    862820        if (part->cur_mp != NULL) {
    863                 rc = vol_part_eject_part(part, vef_none);
     821                rc = vol_part_eject_part(part);
    864822                if (rc != EOK)
    865823                        return rc;
Note: See TracChangeset for help on using the changeset viewer.