Revisione, uniformato l'uso di glibc al singolare.
[gapil.git] / filedir.tex
index 386bfcdc8f18156618746c914409efcb8320edcc..51f6868fb32d1b8686b82a859210872445465e8d 100644 (file)
@@ -1,6 +1,6 @@
 %% filedir.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",
@@ -749,7 +749,7 @@ valore dell'argomento deve essere espresso come maschera binaria e i vari bit
 che lo compongono, detti anche \textit{mount flags}, devono essere impostati
 con un OR aritmetico dei valori dalle costanti riportate nell'elenco seguente:
 
-\begin{basedescript}{\desclabelwidth{2.cm}\desclabelstyle{\nextlinelabel}}
+\begin{basedescript}{\desclabelwidth{1.9cm}\desclabelstyle{\nextlinelabel}}
 \itindbeg{bind~mount}
 \item[\constd{MS\_BIND}] Effettua un cosiddetto \textit{bind mount}, in cui è
   possibile montare una directory di un filesystem in un'altra directory,
@@ -843,8 +843,8 @@ con un OR aritmetico dei valori dalle costanti riportate nell'elenco seguente:
   \textit{pathname} relativi all'interno del filesystem non possa fallire.
 
 \item[\constd{MS\_NOATIME}] Viene disabilitato sul filesystem l'aggiornamento
-  degli \textit{access time} (vedi sez.~\ref{sec:file_file_times}) per
-  qualunque tipo di file. Dato che l'aggiornamento degli \textit{access time}
+  dell'\textit{access time} (vedi sez.~\ref{sec:file_file_times}) per
+  qualunque tipo di file. Dato che l'aggiornamento dell'\textit{access time}
   è una funzionalità la cui utilità è spesso irrilevante ma comporta un costo
   elevato visto che una qualunque lettura comporta comunque una scrittura su
   disco,\footnote{e questo ad esempio ha conseguenze molto pesanti nell'uso
@@ -870,8 +870,8 @@ con un OR aritmetico dei valori dalle costanti riportate nell'elenco seguente:
   di accedere anche a risorse cui non dovrebbe.
 
 \item[\constd{MS\_NODIRATIME}] Viene disabilitato sul filesystem
-  l'aggiornamento degli \textit{access time} (vedi
-  sez.~\ref{sec:file_file_times}), ma soltanto per le directory. Costituisce
+  l'aggiornamento dell'\textit{access time} (vedi
+  sez.~\ref{sec:file_file_times}) ma soltanto per le directory. Costituisce
   una alternativa per \const{MS\_NOATIME}, che elimina l'informazione per le
   directory, che in pratica che non viene mai utilizzata, mantenendola per i
   file in cui invece ha un impiego, sia pur limitato.
@@ -940,8 +940,8 @@ con un OR aritmetico dei valori dalle costanti riportate nell'elenco seguente:
   % TODO trattare l'opzione \texttt{lazytime} introdotta con il kernel 4.0,
   % vedi http://lwn.net/Articles/621046/
 
-\item[\constd{MS\_RELATIME}] Indica di effettuare l'aggiornamento degli
-  \textit{access time} sul filesystem soltanto quando questo risulti
+\item[\constd{MS\_RELATIME}] Indica di effettuare l'aggiornamento
+  dell'\textit{access time} sul filesystem soltanto quando questo risulti
   antecedente il valore corrente del \textit{modification time} o del
   \textit{change time} (per i tempi dei file si veda
   sez.~\ref{sec:file_file_times}). L'opzione è disponibile a partire dal
@@ -1754,11 +1754,11 @@ unix-like \funcd{remove} è equivalente ad usare in maniera trasparente
 
 La funzione utilizza la funzione \func{unlink} per cancellare i file e la
 funzione \func{rmdir} (vedi sez.~\ref{sec:file_dir_creat_rem}) per cancellare
-le directory.\footnote{questo vale usando la \acr{glibc}; nella libc4 e nella
-  libc5 la funzione \func{remove} era un semplice alias alla funzione
-  \func{unlink} e quindi non poteva essere usata per le directory.} Si tenga
-presente che per alcune implementazioni del protocollo NFS utilizzare questa
-funzione può comportare la scomparsa di file ancora in uso.
+le directory.\footnote{questo vale usando la \acr{glibc}; nella \acr{libc4} e
+  nella \acr{libc5} la funzione \func{remove} era un semplice alias alla
+  funzione \func{unlink} e quindi non poteva essere usata per le directory.}
+Si tenga presente che per alcune implementazioni del protocollo NFS utilizzare
+questa funzione può comportare la scomparsa di file ancora in uso.
 
 Infine per cambiare nome ad un file o a una directory si usa la funzione di
 sistema \funcd{rename},\footnote{la funzione è definita dallo standard ANSI C,
@@ -3162,7 +3162,8 @@ questa sezione:
 \end{itemize*}
 
 % TODO trattare anche statx, aggiunta con il kernel 4.11 (vedi
-% https://lwn.net/Articles/707602/ e https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a528d35e8bfcc521d7cb70aaf03e1bd296c8493f)
+% https://lwn.net/Articles/707602/ e
+% https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a528d35e8bfcc521d7cb70aaf03e1bd296c8493f) 
 
 
 \subsection{I tipi di file}
@@ -3474,15 +3475,15 @@ più nessuna rilevanza pratica.\footnote{qualora ce ne fosse la necessità è
   \footnotesize
   \begin{tabular}[c]{|l|c|c|c|c|c|c|l|}
     \hline
-    \multicolumn{1}{|p{2.8cm}|}{\centering{\vspace{6pt}\textbf{Funzione}}} &
+    \multicolumn{1}{|p{2.3cm}|}{\centering{\vspace{6pt}\textbf{Funzione}}} &
     \multicolumn{3}{|p{3.2cm}|}{\centering{
         \textbf{File o directory del riferimento}}}&
     \multicolumn{3}{|p{3.2cm}|}{\centering{
         \textbf{Directory contenente il riferimento}}} 
-    &\multicolumn{1}{|p{3.4cm}|}{\centering{\vspace{6pt}\textbf{Note}}} \\
+    &\multicolumn{1}{|p{3.cm}|}{\centering{\vspace{6pt}\textbf{Note}}} \\
     \cline{2-7}
     \cline{2-7}
-    \multicolumn{1}{|p{2.8cm}|}{} 
+    \multicolumn{1}{|p{2.3cm}|}{} 
     &\multicolumn{1}{|p{.8cm}|}{\centering{\textsl{(a)}}}
     &\multicolumn{1}{|p{.8cm}|}{\centering{\textsl{(m)}}}
     &\multicolumn{1}{|p{.8cm}|}{\centering{\textsl{(c)}}}
@@ -3532,10 +3533,12 @@ più nessuna rilevanza pratica.\footnote{qualora ce ne fosse la necessità è
               se esegue \func{rmdir}\\
     \func{rename}
               & --      & --      &$\bullet$& --      &$\bullet$&$\bullet$& 
-              per entrambi gli argomenti\\
+              per ambo gli argomenti\\
     \func{rmdir}
               & --      & --      & --      & --      &$\bullet$&$\bullet$&\\ 
-    \func{truncate}, \func{ftruncate}
+    \func{truncate}
+              & --      &$\bullet$&$\bullet$& --      & --      & --      &\\ 
+    \func{ftruncate}
               & --      &$\bullet$&$\bullet$& --      & --      & --      &\\ 
     \func{unlink}
               & --      & --      &$\bullet$& --      &$\bullet$&$\bullet$&\\ 
@@ -4892,8 +4895,8 @@ installata a parte;\footnote{la versione corrente della libreria è
 esplicitamente l'uso della suddetta libreria invocando il compilatore con
 l'opzione \texttt{-lattr}.  
 
-Per poter leggere gli attributi estesi sono disponibili tre diverse funzioni
-di sistema, \funcd{getxattr}, \funcd{lgetxattr} e \funcd{fgetxattr}, che
+Per leggere gli attributi estesi sono disponibili tre diverse funzioni di
+sistema, \funcd{getxattr}, \funcd{lgetxattr} e \funcd{fgetxattr}, che
 consentono rispettivamente di richiedere gli attributi relativi a un file, a
 un collegamento simbolico e ad un file descriptor; i rispettivi prototipi
 sono:
@@ -5859,15 +5862,15 @@ funzione \funcm{acl\_create\_entry} per una voce da aggiungere. Nel caso della
 prima funzione si potrà poi ripetere la lettura per ottenere i puntatori alle
 singole voci successive alla prima.
 
-Una volta ottenuti detti puntatori si potrà operare sui contenuti delle singole
-voci; con le funzioni \funcm{acl\_get\_tag\_type}, \funcm{acl\_get\_qualifier},
-\funcm{acl\_get\_permset} si potranno leggere rispettivamente tipo,
-qualificatore e permessi mentre con le corrispondente funzioni
+Una volta ottenuti detti puntatori si potrà operare sui contenuti delle
+singole voci: con le funzioni \funcm{acl\_get\_tag\_type},
+\funcm{acl\_get\_qualifier}, \funcm{acl\_get\_permset} si potranno leggere
+rispettivamente tipo, qualificatore e permessi, mentre con le corrispondenti
 \funcm{acl\_set\_tag\_type}, \funcm{acl\_set\_qualifier},
-\funcm{acl\_set\_permset} si possono impostare i valori; in entrambi i casi
-vengono utilizzati tipi di dato ad hoc.\footnote{descritti nelle singole
-  pagine di manuale.} Si possono poi copiare i valori di una voce da una ACL
-ad un altra con \funcm{acl\_copy\_entry} o eliminare una voce da una ACL con
+\funcm{acl\_set\_permset} si potranno impostare i valori; in entrambi i casi
+vengono utilizzati tipi di dato ad hoc, descritti nelle pagine di manuale. Si
+possono poi copiare i valori di una voce da una ACL ad un altra con
+\funcm{acl\_copy\_entry} o eliminare una voce da una ACL con
 \funcm{acl\_delete\_entry} e verificarne la validità prima di usarla con
 \funcm{acl\_valid} o \funcm{acl\_check}.
 
@@ -5877,7 +5880,7 @@ Come esempio di utilizzo di queste funzioni nei sorgenti allegati alla guida
 si è distribuito il programma \texttt{mygetfacl.c}, che consente di leggere le
 ACL di un file, passato come argomento.
 
-\begin{figure}[!htbp]
+\begin{figure}[!htb]
   \footnotesize \centering
   \begin{minipage}[c]{\codesamplewidth}
     \includecodesample{listati/mygetfacl.c}
@@ -6135,7 +6138,7 @@ singolo utente o gruppo.
 
 \begin{figure}[!htb]
   \footnotesize \centering
-  \begin{minipage}[c]{0.9\textwidth}
+  \begin{minipage}[c]{0.95\textwidth}
     \includestruct{listati/dqblk.h}
   \end{minipage} 
   \normalsize