They'll be pretty obvious because their path will show up as "??? @fabiokorbes After a bit more experimenting, I discovered that, at least in non-xattr=sa mode in which extended attributes are stored in their own ZFS directory and file objects, removing a file does not free its space.
The reproducing steps are rather simple: # zpool create junk /dev/disk/by-partlabel/junk # zfs create junk/a # dd bs=100k if=/dev/urandom of=/junk/a/junk count=200 200 0 records in 200 0 records out 20480000 bytes (20 MB) copied, 1.04426 s, 19.6 MB/s # ls -li /junk/a/junk 7 -rw-r--r-- 1 root root 20480000 Jun 27 /junk/a/junk # zdb -dd junk/a Dataset junk/a [ZPL], ID 40, cr_txg 7, 19.7M, 7 objects Object lvl iblk dblk dsize lsize %full type 0 7 16K 16K 15.0K 16K 21.88 DMU dnode ...
20 Log 20 Log 20 Log 20 Log 20 Log 2004 Log Dwarf Fortress started October 2002, this log was started around the same time as the "back to the dwarf game" thread.
You can also see that the format of this output is a little different than the format from my Cent OS Linux system.
(And most importantly for me, you can see that my primary 93GB filesystem is 89% full -- yikes, I have to go!
It is meant to show Linux disk space information, including disk space that is used, disk space remaining, and how filesystems are mounted on your Linux (or Unix) system.
The Linux command not only shows the free disk space on your local computer, it also shows the free disk space on all networked filesystems that are mounted by your Linux system.
Obviously, un-purged directory objects aren't going to be wasting a lot of space. My guess is that the same problem may exist for regular files that have extended attributes.
I just did a bit more digging and I find be possibly related to, at least, the leakage that I've discovered. It would be interesting for you to examine the output of zdb -dddd gfs and see what type of objects are layout around when you have some leakage.Here's the most basic example of Linux (the root filesystem), and it is a 10GB filesystem, with 5.5GB used, 4.6GB available, and it is 55% used (which is pretty easy to see with round numbers like this example).While my current Linux system has only one filesystem, which is mounted as the root directory (.Although, the disk usage reported by du command remains constant. So I don't think it is an asynchronous-delete or recently-freed issues. or is there something I could do to make the deletions work?I have already stopped the writing process for several hours, so it is not a load issue neither. It only releases the space of the deleted files when I unmount the filesystem. Besides, is there a command to manually release the space without I need to unmount the filesystem?We delete old logs in the same pace we write new ones.