Example #1
0
/* 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);
}
Example #2
0
/* 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);
}