I'm a bit puzzled about the way ext4 reports used space. On a new Debian wheezy (testing) installation, I consistently got about 1GB extra space used with a 60GB SSD, when compared to du. I then network booted that computer and mounted the SSD. The network booted OS (Debian squeeze) shows only 180MB extra space used on the SSD. The journal is 128MB, so there's not much extra beyond that anymore.What is the extra used space reported by df, when it's not space reserved for root or deleted files? Using Google mostly results in those usual causes, which I have ruled out. And why does that amount differ on the same filesystem when mounted on different operating systems? I tested this by re-installing, and the extra usage was again ~1GB on the wheezy installation, and 180MB when I network booted and mounted that SSD.On XFS and btrfs, the extra reported usage seems negligible. I realize that the filesystem needs some overhead, but it's inconvenient when that overhead is mixed up with the real usage.Here are some detailed outputs.df$ df -m on wheezyFilesystem              1M-blocks  Used Available Use% Mounted onrootfs                      57132  1567     52703   3% /udev                         7899     0      7899   0% /devtmpfs                        1581     1      1581   1% /run/dev/mapper/ssd-kvmhost     57132  1567     52703   3% /tmpfs                           5     0         5   0% /run/locktmpfs                        3162     0      3162   0% /tmptmpfs                        3162     0      3162   0% /run/shmdu$ du -sm /592     /tune2fs shows Inode count to be 3670016 and size 256, which indeed explains almost all of the used space. I just don't understand why this isn't subtracted from Size, since the inodes are statically reserved. Counting it as space and then always counting it as used doesn't make much sense.Here's the output for the very same filesystem, from the network booted Debian squeeze:aufs                      7905        46      7859   1% /tmpfs                     7905         0      7905   0% /lib/init/rwudev                      7900         1      7900   1% /devtmpfs                     7905         1      7905   1% /dev/shm172.17.172.127:/storage/private/tftp/debian-live-6.0.3-amd64-lxde-desktop                         24737     17448      7289  71% /live/imagetmpfs                     7905        46      7859   1% /live/cowtmpfs                     7905         0      7905   0% /livetmpfs                     7905         1      7905   1% /tmp/dev/mapper/ssd-kvmhost                         56337       772     52703   2% /mntAnd just for confirmation, du -sm / on the network booted OS:592     /Maybe the older kernel wisely doesn't count the statically reserved inode space as usable, and thus doesn't have to show it as used? The difference is 795MB in both Size and Used, almost all of the space needed for the inodes. What's the 180MB then? If that is also static, wouldn't it be optimal to also subtract that from Size? Then df could actually show real usage, like other filesystems seem to do.The way I see it, if my filesystem needs a static amount of overhead, then it just provides less usable space than some other filesystems for the same amount of absolute space. Shouldn't df reflect that, and also show how much of the usable space I have used?
ext4 used space (not -m option, not deleted files)
linux;debian;disk usage;ext4;df