Changeset 852664b9 in mainline for uspace/lib/fdisk/src/fdisk.c
- Timestamp:
- 2015-10-21T09:55:49Z (9 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 21f1543
- Parents:
- b598460a
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/fdisk/src/fdisk.c
rb598460a r852664b9 763 763 } 764 764 765 /** Get size of largest free block. */ 765 766 int fdisk_part_get_max_avail(fdisk_dev_t *dev, fdisk_spc_t spc, fdisk_cap_t *cap) 766 767 { … … 783 784 784 785 cap->value = nb * dev->dinfo.block_size; 786 cap->cunit = cu_byte; 787 return EOK; 788 } 789 790 /** Get total free space capacity. */ 791 int fdisk_part_get_tot_avail(fdisk_dev_t *dev, fdisk_spc_t spc, 792 fdisk_cap_t *cap) 793 { 794 fdisk_free_range_t fr; 795 uint64_t hdrb; 796 uint64_t b0; 797 uint64_t nb; 798 uint64_t totb; 799 800 if (spc == spc_log) 801 hdrb = max(1, dev->align); 802 else 803 hdrb = 0; 804 805 totb = 0; 806 fdisk_free_range_first(dev, spc, &fr); 807 do { 808 if (fdisk_free_range_get(&fr, &b0, &nb)) { 809 if (nb > hdrb) 810 totb += nb - hdrb; 811 } 812 } while (fdisk_free_range_next(&fr)); 813 814 cap->value = totb * dev->dinfo.block_size; 785 815 cap->cunit = cu_byte; 786 816 return EOK;
Note:
See TracChangeset
for help on using the changeset viewer.