/* Reserve storage for the data of the file associated with FD. */ int posix_fallocate (int fd, __off_t offset, __off_t len) { #ifdef __NR_fallocate # ifndef __ASSUME_FALLOCATE if (__builtin_expect (__have_fallocate >= 0, 1)) # endif { INTERNAL_SYSCALL_DECL (err); int res = INTERNAL_SYSCALL (fallocate, err, 4, fd, 0, offset, len); if (! INTERNAL_SYSCALL_ERROR_P (res, err)) return 0; # ifndef __ASSUME_FALLOCATE if (__builtin_expect (INTERNAL_SYSCALL_ERRNO (res, err) == ENOSYS, 0)) __have_fallocate = -1; else # endif if (INTERNAL_SYSCALL_ERRNO (res, err) != EOPNOTSUPP) return INTERNAL_SYSCALL_ERRNO (res, err); } #endif return internal_fallocate (fd, offset, len); }
/* Reserve storage for the data of the file associated with FD. */ int posix_fallocate (int fd, __off_t offset, __off_t len) { INTERNAL_SYSCALL_DECL (err); int res = INTERNAL_SYSCALL (fallocate, err, 4, fd, 0, offset, len); if (! INTERNAL_SYSCALL_ERROR_P (res, err)) return 0; if (INTERNAL_SYSCALL_ERRNO (res, err) != EOPNOTSUPP) return INTERNAL_SYSCALL_ERRNO (res, err); return internal_fallocate (fd, offset, len); }