Changeset 372df8f in mainline for uspace/srv/volsrv/volsrv.c


Ignore:
Timestamp:
2015-10-09T07:00:23Z (10 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
0ecfc62
Parents:
0bde8523
Message:

Let VBD handle unlabeled devices too. Now volsrv only cares about partitions.

File:
1 edited

Legend:

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

    r0bde8523 r372df8f  
    4545#include <vol.h>
    4646
    47 #include "disk.h"
     47#include "part.h"
    4848
    4949#define NAME  "volsrv"
     
    5656        log_msg(LOG_DEFAULT, LVL_DEBUG, "vol_init()");
    5757
    58         rc = vol_disk_init();
     58        rc = vol_part_init();
    5959        if (rc != EOK)
    6060                return rc;
    6161
    62         rc = vol_disk_discovery_start();
     62        rc = vol_part_discovery_start();
    6363        if (rc != EOK)
    6464                return rc;
     
    8282}
    8383
    84 static void vol_get_disks_srv(ipc_callid_t iid, ipc_call_t *icall)
     84static void vol_get_parts_srv(ipc_callid_t iid, ipc_call_t *icall)
    8585{
    8686        ipc_callid_t callid;
     
    102102        }
    103103
    104         rc = vol_disk_get_ids(id_buf, size, &act_size);
     104        rc = vol_part_get_ids(id_buf, size, &act_size);
    105105        if (rc != EOK) {
    106106                async_answer_0(callid, rc);
     
    115115}
    116116
    117 static void vol_disk_info_srv(ipc_callid_t iid, ipc_call_t *icall)
     117static void vol_part_info_srv(ipc_callid_t iid, ipc_call_t *icall)
    118118{
    119119        service_id_t sid;
    120         vol_disk_t *disk;
    121         vol_disk_info_t dinfo;
     120        vol_part_t *part;
     121        vol_part_info_t pinfo;
    122122        int rc;
    123123
    124124        sid = IPC_GET_ARG1(*icall);
    125         rc = vol_disk_find_by_id(sid, &disk);
     125        rc = vol_part_find_by_id(sid, &part);
    126126        if (rc != EOK) {
    127127                async_answer_0(iid, ENOENT);
     
    129129        }
    130130
    131         rc = vol_disk_get_info(disk, &dinfo);
     131        rc = vol_part_get_info(part, &pinfo);
    132132        if (rc != EOK) {
    133133                async_answer_0(iid, EIO);
     
    135135        }
    136136
    137         async_answer_3(iid, rc, dinfo.dcnt, dinfo.ltype, dinfo.flags);
    138 }
    139 
    140 static void vol_label_create_srv(ipc_callid_t iid, ipc_call_t *icall)
     137        async_answer_3(iid, rc, pinfo.dcnt, pinfo.ltype, pinfo.flags);
     138}
     139
     140static void vol_part_empty_srv(ipc_callid_t iid, ipc_call_t *icall)
    141141{
    142142        service_id_t sid;
    143         vol_disk_t *disk;
    144         label_type_t ltype;
     143        vol_part_t *part;
    145144        int rc;
    146145
    147146        sid = IPC_GET_ARG1(*icall);
    148         ltype = IPC_GET_ARG2(*icall);
    149 
    150         rc = vol_disk_find_by_id(sid, &disk);
     147
     148        rc = vol_part_find_by_id(sid, &part);
    151149        if (rc != EOK) {
    152150                async_answer_0(iid, ENOENT);
     
    154152        }
    155153
    156         rc = vol_disk_label_create(disk, ltype);
    157         if (rc != EOK) {
    158                 async_answer_0(iid, EIO);
    159                 return;
    160         }
    161 
    162         async_answer_0(iid, EOK);
    163 }
    164 
    165 static void vol_disk_empty_srv(ipc_callid_t iid, ipc_call_t *icall)
    166 {
    167         service_id_t sid;
    168         vol_disk_t *disk;
    169         int rc;
    170 
    171         sid = IPC_GET_ARG1(*icall);
    172 
    173         rc = vol_disk_find_by_id(sid, &disk);
    174         if (rc != EOK) {
    175                 async_answer_0(iid, ENOENT);
    176                 return;
    177         }
    178 
    179         rc = vol_disk_empty_disk(disk);
     154        rc = vol_part_empty_part(part);
    180155        if (rc != EOK) {
    181156                async_answer_0(iid, EIO);
     
    205180
    206181                switch (method) {
    207                 case VOL_GET_DISKS:
    208                         vol_get_disks_srv(callid, &call);
     182                case VOL_GET_PARTS:
     183                        vol_get_parts_srv(callid, &call);
    209184                        break;
    210                 case VOL_DISK_INFO:
    211                         vol_disk_info_srv(callid, &call);
     185                case VOL_PART_INFO:
     186                        vol_part_info_srv(callid, &call);
    212187                        break;
    213                 case VOL_LABEL_CREATE:
    214                         vol_label_create_srv(callid, &call);
    215                         break;
    216                 case VOL_DISK_EMPTY:
    217                         vol_disk_empty_srv(callid, &call);
     188                case VOL_PART_EMPTY:
     189                        vol_part_empty_srv(callid, &call);
    218190                        break;
    219191                default:
Note: See TracChangeset for help on using the changeset viewer.