Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sparse files #9616

Open
essen opened this issue Mar 20, 2025 · 0 comments
Open

Sparse files #9616

essen opened this issue Mar 20, 2025 · 0 comments
Labels
enhancement team:VM Assigned to OTP team VM

Comments

@essen
Copy link
Contributor

essen commented Mar 20, 2025

Hello! I am looking into implementing more functionality out of fallocate, starting with the ability to punch holes (FALLOC_FL_PUNCH_HOLE) to deallocate space in the middle of files.

This is possible on Linux via fallocate, macOS via fcntl and Windows (NTFS) via DeviceIoControl. Not sure about others but I think it's a good enough start.

I could see inserting holes in files (FALLOC_FL_INSERT_RANGE) or collapsing files (FALLOC_FL_COLLAPSE_RANGE) as being potentially useful for RabbitMQ.

I am looking for pointers on what the interface should look like, as much of the work to implement this deals with file, prim_file and raw_file_* modules. Should I add a file:allocate/4 with an option list, or make a new function dedicated to creating/collapsing holes?

@IngelaAndin IngelaAndin added the team:VM Assigned to OTP team VM label Mar 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement team:VM Assigned to OTP team VM
Projects
None yet
Development

No branches or pull requests

2 participants