create hfs file system, loop-back mount it, run iomix stessor with stress-ng to exercise with a mix of file I/O operations and remove files at end. File system is empty but a lot of blocks are used and can't seem to be recovered.
Kernel: 6.8.0-11-generic
test case:
sudo apt-get install hfsprogs
dd if=/dev/zero of=fs.img bs=1M count=2048
mkfs.hfs fs.img
sudo mount fs.img /mnt
sudo mkdir /mnt/x
df /mnt
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/loop6 2097128 2015 2095113 1% /mnt
sudo stress-ng --temp-path /mnt/x --iomix 1 -t 2
df /mnt
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/loop6 2097128 674635 1422493 33% /mnt
ls -alR /mnt/
/mnt/:
total 4
drwxr-xr-x 1 root root 3 Mar 7 12:37 .
drwxr-xr-x 23 root root 4096 Feb 28 14:13 ..
drwxr-xr-x 1 root root 2 Mar 7 12:37 x
/mnt/x:
total 0
drwxr-xr-x 1 root root 2 Mar 7 12:37 .
drwxr-xr-x 1 root root 3 Mar 7 12:37 ..
..so file system is 33% full, but no files are on the file system. Something looks wrong here.
Summary:
create hfs file system, loop-back mount it, run iomix stessor with stress-ng to exercise with a mix of file I/O operations and remove files at end. File system is empty but a lot of blocks are used and can't seem to be recovered.
Kernel: 6.8.0-11-generic
test case:
sudo apt-get install hfsprogs
dd if=/dev/zero of=fs.img bs=1M count=2048
mkfs.hfs fs.img
sudo mount fs.img /mnt
sudo mkdir /mnt/x
df /mnt
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/loop6 2097128 2015 2095113 1% /mnt
sudo stress-ng --temp-path /mnt/x --iomix 1 -t 2
df /mnt
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/loop6 2097128 674635 1422493 33% /mnt
ls -alR /mnt/
/mnt/:
total 4
drwxr-xr-x 1 root root 3 Mar 7 12:37 .
drwxr-xr-x 23 root root 4096 Feb 28 14:13 ..
drwxr-xr-x 1 root root 2 Mar 7 12:37 x
/mnt/x:
total 0
drwxr-xr-x 1 root root 2 Mar 7 12:37 .
drwxr-xr-x 1 root root 3 Mar 7 12:37 ..
..so file system is 33% full, but no files are on the file system. Something looks wrong here.