+Infine a partire dal kernel 2.6.23 è stata introdotta la nuova system call
+\funcd{fallocate}, che consente di realizzare direttamente all'interno del
+kernel le funzionalità di \func{posix\_fallocate}. Trattandosi di una funzione
+di servizio questa non è stata definita come funzione di libreria e pertanto
+può essere invocata indirettamente con l'ausilio di \func{syscall} (vedi
+sez.~\ref{sec:intro_syscall}; il suo prototipo è:
+
+\begin{functions}
+ \headdecl{linux/falloc.h}
+ \funcdecl{long fallocate(int fd, int mode, loff\_t offset, loff\_t len)}
+
+ Prealloca dello spazio disco per un file.
+
+ \bodydesc{La funzione ritorna 0 in caso di successo e $-1$ in caso di errore,
+ nel qual caso \var{errno} può assumere i valori:
+ \begin{errlist}
+ \item[\errcode{EBADF}] \param{fd} non fa riferimento ad un file descriptor
+ valido aperto in scrittura.
+ \item[\errcode{EFBIG}] la somma di \param{offset} e \param{len} eccede le
+ dimensioni massime di un file.
+ \item[\errcode{EINVAL}] \param{offset} è minore di zero o \param{len} è
+ minore o uguale a zero.
+ \item[\errcode{ENODEV}] \param{fd} non fa riferimento ad un file ordinario
+ o a una directory.
+ \item[\errcode{ENOSPC}] non c'è spazio disco sufficiente per l'operazione.
+ \item[\errcode{ENOSYS}] il filesystem contenente il file associato
+ a \param{fd} non supporta \func{fallocate}.
+ \item[\errcode{EOPNOTSUPP}] il filesystem contenente il file associato
+ a \param{fd} non supporta l'operazione \param{mode}.
+ \end{errlist}
+ ed inoltre \errval{EINTR}, \errval{EIO}.
+}
+\end{functions}
+
+