view toys/other/fallocate.c @ 1353:2102af52be68 draft

Enable fallocate in defconfig.
author Rob Landley <rob@landley.net>
date Wed, 11 Jun 2014 22:18:35 -0500
parents d5a1174ff88a
children 5ec6582aac50
line wrap: on
line source

/* fallocate.c - Preallocate space to a file
 *
 * Copyright 2013 Felix Janda <felix.janda@posteo.de>
 *
 * No standard

USE_FALLOCATE(NEWTOY(fallocate, ">1l#|", TOYFLAG_USR|TOYFLAG_BIN))

config FALLOCATE
  bool "fallocate"
  default y
  help
    usage: fallocate [-l size] file

    Tell the filesystem to allocate space for a file.
*/

#define FOR_fallocate
#include "toys.h"

GLOBALS(
  long size;
)

void fallocate_main(void)
{
  int fd = xcreate(*toys.optargs, O_RDWR | O_CREAT, 0644);
  if (posix_fallocate(fd, 0, TT.size)) error_exit("Not enough space");
  if (CFG_TOYBOX_FREE) close(fd);
}