Changeset 852664b9 in mainline for uspace/app/fdisk/fdisk.c


Ignore:
Timestamp:
2015-10-21T09:55:49Z (10 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
21f1543
Parents:
b598460a
Message:

Display total free space size.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/fdisk/fdisk.c

    rb598460a r852664b9  
    513513        fdisk_part_info_t pinfo;
    514514        fdisk_cap_t cap;
     515        fdisk_cap_t mcap;
    515516        fdisk_dev_flags_t dflags;
    516517        char *sltype = NULL;
    517518        char *sdcap = NULL;
    518519        char *scap = NULL;
     520        char *smcap = NULL;
    519521        char *sfstype = NULL;
    520522        char *svcname = NULL;
     
    646648
    647649                part = fdisk_part_next(part);
     650        }
     651
     652        /* Display available space */
     653        if ((linfo.flags & lf_can_create_pri) != 0) {
     654                rc = fdisk_part_get_max_avail(dev, spc_pri, &mcap);
     655                if (rc != EOK) {
     656                        rc = EIO;
     657                        goto error;
     658                }
     659
     660                rc = fdisk_cap_format(&mcap, &smcap);
     661                if (rc != EOK) {
     662                        rc = ENOMEM;
     663                        goto error;
     664                }
     665
     666                if ((linfo.flags & lf_ext_supp) != 0)
     667                        printf("Maximum free primary block: %s\n", smcap);
     668                else
     669                        printf("Maximum free block: %s\n", smcap);
     670
     671                free(smcap);
     672                smcap = NULL;
     673
     674                rc = fdisk_part_get_tot_avail(dev, spc_pri, &mcap);
     675                if (rc != EOK) {
     676                        rc = EIO;
     677                        goto error;
     678                }
     679
     680                rc = fdisk_cap_format(&mcap, &smcap);
     681                if (rc != EOK) {
     682                        rc = ENOMEM;
     683                        goto error;
     684                }
     685
     686                if ((linfo.flags & lf_ext_supp) != 0)
     687                        printf("Total free primary space: %s\n", smcap);
     688                else
     689                        printf("Total free space: %s\n", smcap);
     690
     691                free(smcap);
     692                smcap = NULL;
     693        }
     694
     695        /* Display available space */
     696        if ((linfo.flags & lf_can_create_log) != 0) {
     697                rc = fdisk_part_get_max_avail(dev, spc_log, &mcap);
     698                if (rc != EOK) {
     699                        rc = EIO;
     700                        goto error;
     701                }
     702
     703                rc = fdisk_cap_format(&mcap, &smcap);
     704                if (rc != EOK) {
     705                        rc = ENOMEM;
     706                        goto error;
     707                }
     708
     709                printf("Maximum free logical block: %s\n", smcap);
     710                free(smcap);
     711                smcap = NULL;
     712
     713                rc = fdisk_part_get_tot_avail(dev, spc_log, &mcap);
     714                if (rc != EOK) {
     715                        rc = EIO;
     716                        goto error;
     717                }
     718
     719                rc = fdisk_cap_format(&mcap, &smcap);
     720                if (rc != EOK) {
     721                        rc = ENOMEM;
     722                        goto error;
     723                }
     724
     725                printf("Total free logical space: %s\n", smcap);
     726                free(smcap);
     727                smcap = NULL;
    648728        }
    649729
     
    785865        free(sdcap);
    786866        free(scap);
     867        free(smcap);
    787868        free(sfstype);
    788869        free(svcname);
Note: See TracChangeset for help on using the changeset viewer.