Changeset 372df8f in mainline for uspace/lib/fdisk/src/fdisk.c


Ignore:
Timestamp:
2015-10-09T07:00:23Z (9 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/lib/fdisk/src/fdisk.c

    r0bde8523 r372df8f  
    133133        list_initialize(&devlist->devinfos);
    134134
    135         rc = vol_get_disks(fdisk->vol, &svcs, &count);
     135        printf("vbd_get_disks()\n");
     136        rc = vbd_get_disks(fdisk->vbd, &svcs, &count);
     137        printf(" -> %d\n", rc);
    136138        if (rc != EOK) {
    137139                rc = EIO;
     
    363365int fdisk_dev_open(fdisk_t *fdisk, service_id_t sid, fdisk_dev_t **rdev)
    364366{
    365         vol_disk_info_t vinfo;
     367        vbd_disk_info_t vinfo;
    366368        fdisk_dev_t *dev = NULL;
    367369        service_id_t *psids = NULL;
     
    380382        list_initialize(&dev->log_ba);
    381383
    382         rc = vol_disk_info(fdisk->vol, sid, &vinfo);
     384        rc = vbd_disk_info(fdisk->vbd, sid, &vinfo);
    383385        if (rc != EOK) {
    384386                rc = EIO;
     
    386388        }
    387389
    388         dev->dcnt = vinfo.dcnt;
    389 
    390         if (dev->dcnt != dc_label)
    391                 goto done;
     390        dev->dcnt = dc_label;
    392391
    393392        printf("get label info\n");
     
    421420
    422421        free(psids);
    423 done:
    424422        *rdev = dev;
    425423        return EOK;
     
    479477int fdisk_label_get_info(fdisk_dev_t *dev, fdisk_label_info_t *info)
    480478{
    481         vol_disk_info_t vinfo;
    482         int rc;
    483 
    484         rc = vol_disk_info(dev->fdisk->vol, dev->sid, &vinfo);
     479        vbd_disk_info_t vinfo;
     480        int rc;
     481
     482        rc = vbd_disk_info(dev->fdisk->vbd, dev->sid, &vinfo);
    485483        if (rc != EOK) {
    486484                rc = EIO;
     
    488486        }
    489487
    490         info->dcnt = vinfo.dcnt;
     488        info->dcnt = dc_label;
    491489        info->ltype = vinfo.ltype;
    492490        info->flags = vinfo.flags;
     
    500498        int rc;
    501499
    502         rc = vol_label_create(dev->fdisk->vol, dev->sid, ltype);
     500        rc = vbd_label_create(dev->fdisk->vbd, dev->sid, ltype);
    503501        if (rc != EOK)
    504502                return rc;
     
    518516        part = fdisk_part_first(dev);
    519517        while (part != NULL) {
    520                 (void) fdisk_part_destroy(part); /* XXX */
     518                rc = fdisk_part_destroy(part);
     519                if (rc != EOK)
     520                        return EIO;
    521521                part = fdisk_part_first(dev);
    522522        }
    523523
    524         rc = vol_disk_empty(dev->fdisk->vol, dev->sid);
     524        rc = vbd_label_delete(dev->fdisk->vbd, dev->sid);
    525525        if (rc != EOK)
    526526                return EIO;
     
    685685        sltype = NULL;
    686686        switch (ltype) {
     687        case lt_none:
     688                sltype = "None";
     689                break;
    687690        case lt_mbr:
    688691                sltype = "MBR";
Note: See TracChangeset for help on using the changeset viewer.