Sample Header Ad - 728x90

ext3 vs ext4 - same disk size, less usable disk space under ext4 comparing to ext3. why?

3 votes
1 answer
1519 views
Files copied from ext3 filesystem do not fit on same size ext4 filesystem. How to reproduce: create two 1GB files, setup loop device for each, create filesystem one ext3, one ext4, mount, rsync files from /usr/lib into ext3 folder until full, try to rsync files from ext3 folder into ext4 but this failes due to disk space. I would expect all files from ext3 folder to fit into ext4 folder (see log, next file to copy is larger than available space, and still some more files left to copy) Can someone explain why? or better what to do to get same or more usable disk space using ext4? this is debian8 system root@blackoil:~# uname -a Linux blackoil 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt7-1 (2015-03-01) x86_64 GNU/Linux root@blackoil:~# dd if=/dev/zero of=e3fs bs=1M count=1000 1000+0 records in 1000+0 records out 1048576000 bytes (1.0 GB) copied, 6.07722 s, 173 MB/s root@blackoil:~# dd if=/dev/zero of=e4fs bs=1M count=1000 1000+0 records in 1000+0 records out 1048576000 bytes (1.0 GB) copied, 6.21495 s, 169 MB/s root@blackoil:~# losetup /dev/loop3 e3fs root@blackoil:~# losetup /dev/loop4 e4fs root@blackoil:~# mkfs.ext3 -m 0 /dev/loop3 mke2fs 1.42.12 (29-Aug-2014) Discarding device blocks: done Creating filesystem with 256000 4k blocks and 64000 inodes Filesystem UUID: 8871cd27-5c82-4fa9-acaa-11c2ca200d08 Superblock backups stored on blocks: 32768, 98304, 163840, 229376 Allocating group tables: done Writing inode tables: done Creating journal (4096 blocks): done Writing superblocks and filesystem accounting information: done root@blackoil:~# mkfs.ext4 /dev/loop4 mke2fs 1.42.12 (29-Aug-2014) Discarding device blocks: done Creating filesystem with 256000 4k blocks and 64000 inodes Filesystem UUID: 71b69de9-0858-4189-8e1f-907efd61f51d Superblock backups stored on blocks: 32768, 98304, 163840, 229376 Allocating group tables: done Writing inode tables: done Creating journal (4096 blocks): done Writing superblocks and filesystem accounting information: done root@blackoil:~# mkdir -p /mnt/e3 root@blackoil:~# mkdir -p /mnt/e4 root@blackoil:~# dumpe2fs /dev/loop3 dumpe2fs 1.42.12 (29-Aug-2014) Filesystem volume name: Last mounted on: Filesystem UUID: 8871cd27-5c82-4fa9-acaa-11c2ca200d08 Filesystem magic number: 0xEF53 Filesystem revision #: 1 (dynamic) Filesystem features: has_journal ext_attr resize_inode dir_index filetype sparse_super large_file Filesystem flags: signed_directory_hash Default mount options: user_xattr acl Filesystem state: clean Errors behavior: Continue Filesystem OS type: Linux Inode count: 64000 Block count: 256000 Reserved block count: 0 Free blocks: 247557 Free inodes: 63989 First block: 0 Block size: 4096 Fragment size: 4096 Reserved GDT blocks: 62 Blocks per group: 32768 Fragments per group: 32768 Inodes per group: 8000 Inode blocks per group: 500 Filesystem created: Mon Jul 20 15:21:53 2015 Last mount time: n/a Last write time: Mon Jul 20 15:21:53 2015 Mount count: 0 Maximum mount count: -1 Last checked: Mon Jul 20 15:21:53 2015 Check interval: 0 () Reserved blocks uid: 0 (user root) Reserved blocks gid: 0 (group root) First inode: 11 Inode size: 256 Required extra isize: 28 Desired extra isize: 28 Journal inode: 8 Default directory hash: half_md4 Directory Hash Seed: a35b09fe-b755-49b6-a94d-eb8f2960e5a6 Journal backup: inode blocks Journal features: (none) Journal size: 16M Journal length: 4096 Journal sequence: 0x00000001 Journal start: 0 root@blackoil:~# dumpe2fs /dev/loop4 dumpe2fs 1.42.12 (29-Aug-2014) Filesystem volume name: Last mounted on: Filesystem UUID: 71b69de9-0858-4189-8e1f-907efd61f51d Filesystem magic number: 0xEF53 Filesystem revision #: 1 (dynamic) Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize Filesystem flags: signed_directory_hash Default mount options: user_xattr acl Filesystem state: clean Errors behavior: Continue Filesystem OS type: Linux Inode count: 64000 Block count: 256000 Reserved block count: 12800 Free blocks: 247562 Free inodes: 63989 First block: 0 Block size: 4096 Fragment size: 4096 Reserved GDT blocks: 62 Blocks per group: 32768 Fragments per group: 32768 Inodes per group: 8000 Inode blocks per group: 500 Flex block group size: 16 Filesystem created: Mon Jul 20 15:22:16 2015 Last mount time: n/a Last write time: Mon Jul 20 15:22:16 2015 Mount count: 0 Maximum mount count: -1 Last checked: Mon Jul 20 15:22:16 2015 Check interval: 0 () Lifetime writes: 16 MB Reserved blocks uid: 0 (user root) Reserved blocks gid: 0 (group root) First inode: 11 Inode size: 256 Required extra isize: 28 Desired extra isize: 28 Journal inode: 8 Default directory hash: half_md4 Directory Hash Seed: 33846c93-9d1a-4117-a7c8-1566e96e8e73 Journal backup: inode blocks Journal features: (none) Journal size: 16M Journal length: 4096 Journal sequence: 0x00000001 Journal start: 0 root@blackoil:~# mount /dev/loop3 /mnt/e3 root@blackoil:~# mount /dev/loop4 /mnt/e4 root@blackoil:~# rsync -a /usr/lib /mnt/e3 rsync: recv_generator: mkdir "/mnt/e3/lib/python2.6/xml/sax" failed: No space left on device (28) *** Skipping any contents from this failed directory *** rsync: write failed on "/mnt/e3/lib/python2.6/httplib.py": No space left on device (28) rsync error: error in file IO (code 11) at receiver.c(393) [receiver=3.1.1] root@blackoil:~# df |grep '/mnt/e' /dev/loop3 991512 991512 0 100% /mnt/e3 /dev/loop4 991512 1264 922664 1% /mnt/e4 root@blackoil:~# cd /mnt/e3 root@blackoil:/mnt/e3# rsync -a . /mnt/e4 rsync: write failed on "/mnt/e4/lib/pepperflashplugin-nonfree/libpepflashplayer.so": No space left on device (28) rsync error: error in file IO (code 11) at receiver.c(393) [receiver=3.1.1] root@blackoil:/mnt/e3# df | grep '/mnt/e' /dev/loop3 991512 991512 0 100% /mnt/e3 /dev/loop4 991512 959372 0 100% /mnt/e4 root@blackoil:/mnt/e3# df -i | grep '/mnt/e' /dev/loop3 64000 8939 55061 14% /mnt/e3 /dev/loop4 64000 8531 55469 14% /mnt/e4 root@blackoil:/mnt/e3# rsync -av . /mnt/e4 sending incremental file list lib/pepperflashplugin-nonfree/ lib/pepperflashplugin-nonfree/libpepflashplayer.so lib/pepperflashplugin-nonfree/manifest.json lib/pepperflashplugin-nonfree/pubkey-google.txt lib/pkgconfig/dbus-python.pc lib/pkgconfig/geoclue-2.0.pc lib/pkgconfig/gnome-system-tools.pc lib/pkgconfig/keybinder.pc lib/pkgconfig/libgdiplus.pc lib/pkgconfig/libquvi-scripts.pc lib/pkgconfig/libwnck-1.0.pc lib/pkgconfig/libxfce4menu-0.1.pc lib/pkgconfig/libxklavier.pc lib/pkgconfig/notify-python.pc lib/pkgconfig/pm-utils.pc lib/pkgconfig/tomboy-addins.pc lib/pkgconfig/unique-1.0.pc lib/pkgconfig/xkbcomp.pc lib/pkgconfig/xorg-wacom.pc lib/pm-utils/ ( ...... some removed due to 30000 lines limit posting question) rsync: write failed on "/mnt/e4/lib/pepperflashplugin-nonfree/libpepflashplayer.so": No space left on device (28) rsync error: error in file IO (code 11) at receiver.c(393) [receiver=3.1.1] root@blackoil:/mnt/e3# df |grep 'mnt/e' /dev/loop3 991512 991512 0 100% /mnt/e3 /dev/loop4 991512 959372 0 100% /mnt/e4 root@blackoil:/mnt/e3# ls -l /mnt/e4/lib/pepperflashplugin-nonfree/libpepflashplayer.so ls: cannot access /mnt/e4/lib/pepperflashplugin-nonfree /libpepflashplayer.so: No such file or directory root@blackoil:/mnt/e3# ls -l lib/pepperflashplugin-nonfree/libpepflashplayer.so -rw-r--r-- 1 root root 17370752 Mar 14 09:08 lib/pepperflashplugin-nonfree/libpepflashplayer.so root@blackoil:/mnt/e3# mount |grep 'mnt/e' /dev/loop3 on /mnt/e3 type ext3 (rw,relatime,data=ordered) /dev/loop4 on /mnt/e4 type ext4 (rw,relatime,data=ordered)
Asked by lepoitr (31 rep)
Jul 20, 2015, 02:05 PM
Last activity: Mar 10, 2022, 10:02 PM