Cannot rm files when ZFS is full

Christian Walther cptsalek at gmail.com
Wed Jul 29 07:45:29 UTC 2009


2009/7/29 grarpamp <grarpamp at gmail.com>:
> One week old build...
>
> # df -i .
> Filesystem   1K-blocks      Used Avail Capacity iused ifree %iused  Mounted on
> ram01/mnt1 239465344 239465344     0   100%   13163     0  100%   /mnt1
> # ls -aliT zero
> 20797 -rw-r--r--  1 user user  43515904 Jul 28 23:20:57 2009 zero
> # rm -f zero
> rm: zero: No space left on device
> # :> zero
> cannot create zero: File exists
> # cp /dev/null zero
> overwrite zero? (y/n [n]) y
> # ls -aliT zero
> 20797 -rw-rw-rw-  1 root  wheel  0 Jul 28 23:25:17 2009 zero
> # rm -f zero
> [gone]


this is a known problem with the current version of ZFS. Due to the
way ZFS handles access to the data it stores, even a rm causes a
write, which requires some additional disk space in the beginning:
Instead of simply unlinking what should be removed ZFS creates another
tree without the removed data. Only if this new tree has been entirely
written to disk the old information is removed. This is a rather rough
explanation and probably not entirely correct, but I hope it suffices.
Only hope: Make sure that not all disk space is used.

Christian


More information about the freebsd-stable mailing list