Några experiment på en 10MBs partition:
Kod:
# fdisk /dev/sdb
Command (m for help): o
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-3824, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-3824, default 3824): +10M
Command (m for help): w
...
# mkfs.ext4 /dev/sdb1
...
# mount /dev/sdb1 /mnt/
# ls -lh /mnt/
total 12K
drwx------ 2 root root 12K Aug 21 18:01 lost+found
# df -h /mnt/
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 11M 1.1M 9.0M 11% /mnt
# cat /dev/zero > /mnt/zero.file
cat: write error: No space left on device
# rm /mnt/zero.file
# umount /mnt
# hexdump -v /dev/sdb1 > dump
# head -n 1 dump
0000000 0000 0000 0000 0000 0000 0000 0000 0000
# wc -l dump
719873 dump
# egrep '^[0-9a-f]{7} (0000[ ]*){8}' dump | wc -l
715761
Jag har kortat av output från fdisk och mkfs av platsskäl.
715761 av 719873 rader innehåller alltså:
Kod:
<offset> 0000 0000 0000 0000 0000 0000 0000 0000
715761*16 = 11452176 bytes av 719873*16 = 11517968 bytes har värdet 0x00 (NOTERA: Här har jag utelämnat alla 0 som ligger på en rad som innehåller någonting annat än 0).
11452176/11517968 = 0.9942878813346243
99.4% är då av värdet 0.
Rader som inte innehåller 0 är 65792 stycken.
65792*16 = 1052672 bytes som inte är en rad av 16 nollor.
1052672 bytes är strax över 1MB, kom ihåg output från df -h:
Kod:
# df -h /mnt/
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 11M 1.1M 9.0M 11% /mnt
Allt utom det använda utrymmet verkar mycket riktigt ha blivit överskrivet.
Peka gärna ut eventuella fel i mitt resonemang.