I have a laptop with a 512GB SSD in it. I use XFS as my / file system, mounted with noatime,discard,ikeep. The ikeep is because of some mailing list posting about how slow discard and TRIM was on XFS and suggested using ikeep to improve performance. However, in the Linux kernel docs it says:
When ikeep is specified, XFS does not delete empty inode clusters and keeps them around on disk. ikeep is the traditional XFS behaviour. When noikeep is specified, empty inode clusters are returned to the free space pool. The default is noikeep for non-DMAPI mounts, while ikeep is the default when DMAPI is in use.
Does this mean that no space would ever be freed if I use ikeep, thus making discard moot since no matter how many files I delete, the free space would not increase? That seems to be a preposterous idea for the "traditional XFS behavior".
What exactly does ikeep do?