*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->HP-UX 11i man pages -> prealloc (2)              
Title
Content
Arch
Section
 

Contents


 prealloc(2)                                                     prealloc(2)




 NAME    [Toc]    [Back]
      prealloc - preallocate fast disk storage

 SYNOPSIS    [Toc]    [Back]
      #include <unistd.h>

      int prealloc(int fildes, off_t size);

 DESCRIPTION    [Toc]    [Back]
      prealloc() is used to preallocate space on a disk for faster storage
      operations.

      fildes is a file descriptor obtained from a creat(), open(), dup(), or
      fcntl() system call for an ordinary file of zero length.  It must be
      opened writable, because it will be written to by prealloc().  size is
      the size in bytes to be preallocated for the file specified by fildes.
      At least size bytes will be allocated.  Space is allocated in an
      implementation-dependent fashion for fast sequential reads and writes.
      The EOF in an extended file is left at the end of the preallocated
      area.  The current file pointer is left at zero.  The file is zerofilled.


      Using prealloc() on a file does not give the file an attribute that is
      inherited when copying or restoring the file using a program such as
      cp or tar (see cp(1) and tar(1)).  It simply ensures that disk space
      has been preallocated for size bytes in a manner suited for sequential
      access.  The file can be extended beyond these limits by write()
      operations past the original end of file.  However, this space will
      not necessarily be allocated using any special strategy.

 RETURN VALUE    [Toc]    [Back]
      Upon successful completion, prealloc() returns 0; otherwise, it
      returns -1 and sets errno to indicate the error.

 ERRORS    [Toc]    [Back]
      prealloc() fails and no disk space is allocated if any of the
      following conditions are encountered:

           [EBADF]        fildes is not a valid open file descriptor opened
                          for writing.

           [EDQUOT]       User's disk quota block limit has been reached for
                          this file system.

           [EFBIG]        size exceeds the maximum file size or the
                          process's file size limit.  See ulimit(2).

           [ENOSPC]       Not enough space is left on the device to allocate
                          the requested amount; no space was allocated.





 Hewlett-Packard Company            - 1 -   HP-UX 11i Version 2: August 2003






 prealloc(2)                                                     prealloc(2)




           [ENOTEMPTY]      fildes not associated with an ordinary file of
                            zero length.

 EXAMPLES    [Toc]    [Back]
      Assuming a process has opened a file for writing, the following call
      to prealloc() preallocates at least 50000 bytes on disk for the file
      represented by file descriptor outfd:

           prealloc (outfd, 50000);

 WARNINGS    [Toc]    [Back]
      Allocation of the file space is highly dependent on current disk
      usage.  A successful return does not tell you how fragmented the file
      actually might be if the disk is nearing its capacity.

 AUTHOR    [Toc]    [Back]
      prealloc() was developed by HP.

 SEE ALSO    [Toc]    [Back]
      prealloc(1), creat(2), dup(2), fcntl(2), open(2), prealloc64(2),
      read(2), ulimit(2), write(2).


 Hewlett-Packard Company            - 2 -   HP-UX 11i Version 2: August 2003
[ Back ]
      
      
 Similar pages
Name OS Title
prealloc HP-UX preallocate disk storage
disk_destroy FreeBSD Kernel disk storage API
disk FreeBSD Kernel disk storage API
disk_create FreeBSD Kernel disk storage API
voldisksetup Tru64 Sets up a disk for use with the Logical Storage Manager (LSM)
voldg Tru64 Manages Logical Storage Manager disk groups
radisk Tru64 Digital Storage Architecture (DSA) disk maintenance program
volsetup Tru64 Initializes Logical Storage Manager (LSM) by creating the rootdg disk group
lsmsetup Tru64 Initializes Logical Storage Manager (LSM) by creating the rootdg disk group
preallocColors IRIX preallocate colors to minimize desktop colormap flashing
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service