[[!template id=project title="Discard for FFS" contact=""" [tech-kern](mailto:tech-kern@NetBSD.org) """ mentors=""" """ category="filesystems" difficulty="medium" duration="2-3 months" description=""" The fdiscard system call, and the file-system-level VOP_DISCARD operation backing it, allow dropping ranges of blocks from files to create sparse files with holes. This is a simple generalization of truncate. Discard is not currently implemented for FFS; implement it. (For regular files.) It should be possible to do so by generalizing the existing truncate code; this should be not super-difficult, but somewhat messy. Note that it's important (for both the WAPBL and non-WAPBL cases) to preserve the on-disk invariants needed for successful crash recovery. """ ]]