mirror of
https://gitlab.gnome.org/GNOME/gparted
synced 2024-08-27 19:50:23 +00:00
![Mike Fleetwood](/assets/img/avatar_default.png)
Most file systems report intrinsic unallocated space using the statvfs() system call when mounted, but not using their own tools. They are: ext2/3/4, fat16/32, hfs, nilfs2, reiserfs and xfs. Showing either a little or no unallocated space, depending on whether a file system is mounted or not, could be confusing to the user. When all file systems are created filling their partitions the unused figure reported by statvfs() and their own tools are the same or very close. Also the used plus unallocated figure from statvfs() agrees with the used figure from their own tools. For all file systems don't display intrinsic unallocated space (that below the threshold of 2 to 5%), instead include it as used space. As soon as the amount of unallocated space becomes significant display it everywhere and also trigger the warning. For display purposes always use the new Partition methods: get_sectors_used(), get_sectors_unused(), and get_sectors_unallocated(). When calculating new usage figures during Paste and Resize/Move operations directly access sectors_used, sectors_unused and sectors_unallocated members. Bug #499202 - gparted does not see the difference if partition size differs from filesystem size
73 lines
2.8 KiB
Plaintext
73 lines
2.8 KiB
Plaintext
git guidelines for gparted
|
|
==========================
|
|
|
|
Please do not commit directly to the git.gnome.org/gparted repository
|
|
unless you have been given the green light to commit freely to
|
|
gparted. When in doubt assume you haven't ;-).
|
|
|
|
If you are a translator feel free to mark strings for translation, fix
|
|
typos in the code, etc. I'd appreciate it if you would notify me of
|
|
anything you've done.
|
|
|
|
Please send patches for build & configure fixes too. I really appreciate
|
|
your help, I just want to review these fixes before applying.
|
|
|
|
!!WHENEVER YOU COMMIT, PLACE A COMMENT IN GIT!!
|
|
even when it's only one character. =)
|
|
|
|
Thanks,
|
|
Curtis
|
|
|
|
|
|
|
|
partition usage and unallocated space
|
|
=====================================
|
|
|
|
After addressing bug #499202 GParted now also displays unallocated space
|
|
as well as used and unused space for recognised file systems. Many file
|
|
systems which actually fill their partition report a small amount of
|
|
intrinsic unallocated space when mounted, but not when unmounted. To
|
|
avoid confusing the user and unnecessarily alarming them don't show
|
|
unallocated space below a threshold, 2 to 5% depending on partition
|
|
size. It is just included in the used figure instead. (This is
|
|
effectively how GParted behaved before bug #499202 was addressed). When
|
|
above the threshold unallocated space is shown graphically, the numeric
|
|
figure is shown in the Information Dialog and a is warning displayed.
|
|
See the code and commit messages for more details.
|
|
|
|
Worked example of partition and file system usage for a newly created
|
|
jfs file system in a 200 MiB partition reporting a small amount of
|
|
unallocated space:
|
|
|
|
# sfdisk -s /dev/sda9
|
|
204800
|
|
|
|
# echo dm | jfs_debugfs /dev/sda9 | egrep 'Block Size:|dn_mapsize:|dn_nfree:'
|
|
Aggregate Block Size: 4096
|
|
[1] dn_mapsize: 0x0000000c6cb [9] dn_agheigth: 0
|
|
[2] dn_nfree: 0x0000000c6a3 [10] dn_agwidth: 1
|
|
|
|
Partition size = 204800 (1K blocks) = 409600 (512 byte sectors)
|
|
FS size = 0x0c6cb (4K blocks)
|
|
= 50891 (4K blocks) = 407128 (512 byte sectors)
|
|
FS free = 0x0c6a3 (4K blocks)
|
|
= 50851 (4K blocks) = 406808 (512 byte sectors)
|
|
|
|
Calculation:
|
|
size = ptn_size = 409600 = 200.00 MiB
|
|
used = fs_size - fs_free = 407128 - 406808 = 320 = 160.00 KiB
|
|
unused = fs_free = 406808 = 198.64 MiB
|
|
unallocated = ptn_size - fs_size = 409600 - 407128 = 2472 = 1.21 MiB
|
|
|
|
(Threshold %age for 200 MiB partition is approximately 4.675%)
|
|
threshold = ptn_size * pct = 19150 = 9.35 MiB
|
|
|
|
(Unallocated is below threshold so is included in used figure)
|
|
disp_used = used + unallocated = 320 + 2472 = 2792 = 1.36 MiB
|
|
disp_unused = unused = 406808 = 198.64 MiB
|
|
|
|
Figures displayed in the Information dialog:
|
|
Size: 200.00 MiB
|
|
Used: 1.36 MiB ( 1% )
|
|
Unused: 198.64 KiB ( 99% )
|