Modifiche con il kernel 4.17
[gapil.git] / fileio.tex
index 2c11011106a007099daab0112c4178c3455ebfee..1ab6aeef18fc86370ea2caad5d21010ea8f9bcdf 100644 (file)
@@ -1,6 +1,6 @@
 %% fileio.tex (merge fileunix.tex - filestd.tex)
 %%
 %% fileio.tex (merge fileunix.tex - filestd.tex)
 %%
-%% Copyright (C) 2000-2016 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2018 Simone Piccardi.  Permission is granted to
 %% copy, distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.1 or any later version published by the
 %% Free Software Foundation; with the Invariant Sections being "Un preambolo",
 %% copy, distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.1 or any later version published by the
 %% Free Software Foundation; with the Invariant Sections being "Un preambolo",
@@ -262,9 +262,9 @@ corrispondente,\footnote{è \func{open} che alloca \kstruct{file}, la inserisce
   \item[\errcode{ENOTDIR}] si è specificato \const{O\_DIRECTORY} e
     \param{pathname} non è una directory.
   \item[\errcode{ENXIO}] si sono impostati \const{O\_NONBLOCK} o
   \item[\errcode{ENOTDIR}] si è specificato \const{O\_DIRECTORY} e
     \param{pathname} non è una directory.
   \item[\errcode{ENXIO}] si sono impostati \const{O\_NONBLOCK} o
-    \const{O\_WRONLY} ed il file è una fifo che non viene letta da nessun
-    processo o \param{pathname} è un file di dispositivo ma il dispositivo è
-    assente.
+    \const{O\_WRONLY} ed il file è una \textit{fifo} che non viene letta da
+    nessun processo o \param{pathname} è un file di dispositivo ma il
+    dispositivo è assente.
   \item[\errcode{EPERM}] si è specificato \const{O\_NOATIME} e non si è né
     amministratori né proprietari del file.
   \item[\errcode{ETXTBSY}] si è cercato di accedere in scrittura all'immagine
   \item[\errcode{EPERM}] si è specificato \const{O\_NOATIME} e non si è né
     amministratori né proprietari del file.
   \item[\errcode{ETXTBSY}] si è cercato di accedere in scrittura all'immagine
@@ -407,7 +407,7 @@ sez.~\ref{sec:file_fcntl_ioctl}).
                             serve ad evitare dei possibili
                             \itindex{Denial~of~Service~(DoS)}
                             \textit{DoS}\footnotemark quando \func{opendir} 
                             serve ad evitare dei possibili
                             \itindex{Denial~of~Service~(DoS)}
                             \textit{DoS}\footnotemark quando \func{opendir} 
-                            viene chiamata su una fifo o su un dispositivo
+                            viene chiamata su una \textit{fifo} o su un dispositivo
                             associato ad una unità a nastri. Non viene
                             usato al di fuori dell'implementazione di
                             \func{opendir}, ed è utilizzabile soltanto se si è
                             associato ad una unità a nastri. Non viene
                             usato al di fuori dell'implementazione di
                             \func{opendir}, ed è utilizzabile soltanto se si è
@@ -439,7 +439,7 @@ sez.~\ref{sec:file_fcntl_ioctl}).
                             la macro \macro{\_GNU\_SOURCE}.\\ 
       \constd{O\_TRUNC}   & Se usato su un file di dati aperto in scrittura,
                             ne tronca la lunghezza a zero; con un terminale o
                             la macro \macro{\_GNU\_SOURCE}.\\ 
       \constd{O\_TRUNC}   & Se usato su un file di dati aperto in scrittura,
                             ne tronca la lunghezza a zero; con un terminale o
-                            una fifo viene ignorato, negli altri casi il
+                            una \textit{fifo} viene ignorato, negli altri casi il
                             comportamento non è specificato.\\ 
       \hline
     \end{tabular}
                             comportamento non è specificato.\\ 
       \hline
     \end{tabular}
@@ -512,7 +512,7 @@ si tronca il file con \const{O\_TRUNC} verranno impostati soltanto il
                            tutte le volte che il file è pronto per le
                            operazioni di lettura o scrittura. Questo flag si
                            può usare solo terminali, pseudo-terminali e socket
                            tutte le volte che il file è pronto per le
                            operazioni di lettura o scrittura. Questo flag si
                            può usare solo terminali, pseudo-terminali e socket
-                           e, a partire dal kernel 2.6, anche sulle fifo. Per
+                           e, a partire dal kernel 2.6, anche sulle \textit{fifo}. Per
                            un bug dell'implementazione non è opportuno usarlo
                            in fase di apertura del file, deve
                            invece essere attivato successivamente con
                            un bug dell'implementazione non è opportuno usarlo
                            in fase di apertura del file, deve
                            invece essere attivato successivamente con
@@ -549,7 +549,7 @@ si tronca il file con \const{O\_TRUNC} verranno impostati soltanto il
                            blocco delle stesse in attesa di una successiva
                            possibilità di esecuzione come avviene
                            normalmente. Questa modalità ha senso solo per le
                            blocco delle stesse in attesa di una successiva
                            possibilità di esecuzione come avviene
                            normalmente. Questa modalità ha senso solo per le
-                           fifo, vedi sez.~\ref{sec:ipc_named_pipe}), o quando
+                           \textit{fifo}, vedi sez.~\ref{sec:ipc_named_pipe}), o quando
                            si vuole aprire un file di dispositivo per eseguire
                            una \func{ioctl} (vedi
                            sez.~\ref{sec:file_fcntl_ioctl}).\\ 
                            si vuole aprire un file di dispositivo per eseguire
                            una \func{ioctl} (vedi
                            sez.~\ref{sec:file_fcntl_ioctl}).\\ 
@@ -1327,7 +1327,7 @@ standard che si vuole redirigere e poi aprire direttamente con \func{open} il
 file vi si vuole far corrispondere, invece di duplicare un file descriptor che
 si è già aperto. La risposta sta nel fatto che il file che si vuole redirigere
 non è detto sia un file regolare, ma potrebbe essere, come accennato, anche
 file vi si vuole far corrispondere, invece di duplicare un file descriptor che
 si è già aperto. La risposta sta nel fatto che il file che si vuole redirigere
 non è detto sia un file regolare, ma potrebbe essere, come accennato, anche
-una fifo o un socket, oppure potrebbe essere un file associato ad un file
+una \textit{fifo} o un socket, oppure potrebbe essere un file associato ad un file
 descriptor che si è ereditato già aperto (ad esempio attraverso un'altra
 \func{exec}) da un processo antenato del padre, del quale non si conosce il
 nome. Operando direttamente con i file descriptor \func{dup} consente di
 descriptor che si è ereditato già aperto (ad esempio attraverso un'altra
 \func{exec}) da un processo antenato del padre, del quale non si conosce il
 nome. Operando direttamente con i file descriptor \func{dup} consente di
@@ -2222,6 +2222,9 @@ il nome indicato nel precedente prototipo), è riportata di seguito:
 
 \end{basedescript}
 
 
 \end{basedescript}
 
+% TODO: trattare RWH_WRITE_LIFE_EXTREME e RWH_WRITE_LIFE_SHORT aggiunte con
+% il kernel 4.13 (vedi https://lwn.net/Articles/727385/)
+
 La maggior parte delle funzionalità controllate dai comandi di \func{fcntl}
 sono avanzate e richiedono degli approfondimenti ulteriori, saranno pertanto
 riprese più avanti quando affronteremo le problematiche ad esse relative. In
 La maggior parte delle funzionalità controllate dai comandi di \func{fcntl}
 sono avanzate e richiedono degli approfondimenti ulteriori, saranno pertanto
 riprese più avanti quando affronteremo le problematiche ad esse relative. In
@@ -2394,6 +2397,7 @@ due funzioni sono rimaste.
 % TODO trovare qualche posto per la eventuale documentazione delle seguenti
 % (bassa/bassissima priorità)
 % EXT4_IOC_MOVE_EXT (dal 2.6.31)
 % TODO trovare qualche posto per la eventuale documentazione delle seguenti
 % (bassa/bassissima priorità)
 % EXT4_IOC_MOVE_EXT (dal 2.6.31)
+%  EXT4_IOC_SHUTDOWN (dal 4.10), XFS_IOC_GOINGDOWN e futura FS_IOC_SHUTDOWN
 % ioctl di btrfs, vedi http://lwn.net/Articles/580732/
 
 % \chapter{}
 % ioctl di btrfs, vedi http://lwn.net/Articles/580732/
 
 % \chapter{}
@@ -2629,7 +2633,7 @@ esso viene preventivamente chiuso e tutti i dati pendenti vengono scaricati.
 Infine \func{fdopen} viene usata per associare uno \textit{stream} ad un file
 descriptor esistente ottenuto tramite una altra funzione (ad esempio con una
 \func{open}, una \func{dup}, o una \func{pipe}) e serve quando si vogliono
 Infine \func{fdopen} viene usata per associare uno \textit{stream} ad un file
 descriptor esistente ottenuto tramite una altra funzione (ad esempio con una
 \func{open}, una \func{dup}, o una \func{pipe}) e serve quando si vogliono
-usare gli \textit{stream} con file come le fifo o i socket, che non possono
+usare gli \textit{stream} con file come le \textit{fifo} o i socket, che non possono
 essere aperti con le funzioni delle librerie standard del C.
 
 \begin{table}[htb]
 essere aperti con le funzioni delle librerie standard del C.
 
 \begin{table}[htb]
@@ -2870,9 +2874,9 @@ all'interno di un file per effettuare operazioni di lettura o scrittura in un
 punto prestabilito, sempre che l'operazione di riposizionamento sia supportata
 dal file sottostante lo \textit{stream}, nel caso cioè in cui si ha a che fare
 con quello che viene detto un file ad \textsl{accesso casuale}. Dato che in un
 punto prestabilito, sempre che l'operazione di riposizionamento sia supportata
 dal file sottostante lo \textit{stream}, nel caso cioè in cui si ha a che fare
 con quello che viene detto un file ad \textsl{accesso casuale}. Dato che in un
-sistema Unix esistono vari tipi di file, come le fifo ed i file di dispositivo
-(ad esempio i terminali), non è scontato che questo sia vero in generale, pur
-essendolo sempre nel caso di file di dati.
+sistema Unix esistono vari tipi di file, come le \textit{fifo} ed i file di
+dispositivo (ad esempio i terminali), non è scontato che questo sia vero in
+generale, pur essendolo sempre nel caso di file di dati.
 
 Con Linux ed in generale in ogni sistema unix-like la posizione nel file, come
 abbiamo già visto in sez.~\ref{sec:file_lseek}, è espressa da un intero
 
 Con Linux ed in generale in ogni sistema unix-like la posizione nel file, come
 abbiamo già visto in sez.~\ref{sec:file_lseek}, è espressa da un intero