shake
shake copied to clipboard
Fallback on posix_fallocate if fallocate fail
Not every FS support the fallocate system call. Falling back to posix_fallocate would allow more compatibility at the expense of some performance penalty. But I think it's worth it. Maybe with a one-time warning?
Which OS do you have in mind? On GNU/Linux, posix_fallocate is implemented using fallocate (see posix_fallocate.c), so that wouldn't increase compatiblity.
In the glibc posix_fallocate is implemented using the fallocate syscall first. But falls back onto an emulated implentation if the syscall fail with EOPNOTSUPP. This implementation should work on almost every file system.