How many files and directories does
pack-01.tgz have? Say,
tar -tzf pack-01.tgz | wc -l
If that is over 200,000 you are definitely running out of inodes. For filesystems with lots of small files, I recommend
mkfs.ext4 -b 4096 -i 4096 -m 0 /dev/sda3
The
-i parameter controls the number of inodes (bytes-per-inode), and having it the same size as the block size allows the maximum number of "files". You can also specify the exact number of inodes using the
-N parameter.
-m 0disables root-reserved blocks.
The number of inodes really matters for small filesystems, and filesystems used at near full capacity. For example, on mail servers with Maildir mailboxes (useful with IMAP clients!), you definitely want to allow the maximum number of small files, as each message will be a separate file. A web server tends to have slightly larger files (so fewer compared to the filesystem size). A file/media server tends to have large files. It is up to the system administrator to choose that setting. The default is pretty good, but
-b SIZE -i SIZE is technically the safest choice, because it allows the maximum number of "files" on said filesystem. (The reason that is not the default, is that each potential inode reserves 128 or 256 bytes on disk; so, 200,000 inodes takes up 25.6 or 51.2 megabytes of disk space, permanently. Halving that, via
-b SIZE -i SIZE/2 , halves both the maximum number of inodes/"files" and the permanently used space.)
If you do not intend to use extended attributes (
xattr, or
ACLs beyond the standard Unix ones), you can also use
-I 128 to use specifically smaller inodes. In this case, the
mount options
ext_attr,
acl, and
user_xattr may not be available.
So, in your particular case, I suggest you try
mkfs.ext4 -b 4096 -i 4096 -I 128 -m 0 /dev/sda3