[[!template id=project
title="fallocate for FFS"
contact="""
[tech-kern](mailto:tech-kern@NetBSD.org)
"""
mentors="""
"""
category="filesystems"
difficulty="easy"
duration="1-2 months"
description="""
The fallocate/posix_fallocate system call, and the file-system-level
VOP_FALLOCATE operation backing it, allow preallocating underlying
storage for files before writing into them.
This is useful for improving the physical layout of files that are
written in arbitrary order, such as files downloaded by bittorrent; it
also allows failing up front if disk space runs out while saving a
file.
This functionality is not currently implemented for FFS; implement it.
(For regular files.)
There is not much to this besides running the existing block
allocation logic in a loop.
(Note though that as the loop might take a while for large
allocations, it's important to check for signals periodically to allow
the operation to be interrupted.)
"""
]]
CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb