X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=filedir.tex;h=b88d34bbd1368b659d8c30ab7ab4b57cd59596f5;hp=0bae59c04094304df39739d08d4c0fe8c9cecec7;hb=8e2e77dff8f3cffb28ddf982280dff6fc015eb19;hpb=05658e26bf54190b200d77d7301ee34c4690f187 diff --git a/filedir.tex b/filedir.tex index 0bae59c..b88d34b 100644 --- a/filedir.tex +++ b/filedir.tex @@ -78,7 +78,7 @@ verrà inserita nella tabella, ed il nuovo filesystem comparirà in \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{\textwidth} + \begin{minipage}[c]{0.80\textwidth} \includestruct{listati/file_system_type.h} \end{minipage} \normalsize @@ -178,7 +178,7 @@ struttura viene allocata e trascritti all'indietro se modificati. \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{\textwidth} + \begin{minipage}[c]{0.8\textwidth} \includestruct{listati/inode.h} \end{minipage} \normalsize @@ -213,7 +213,7 @@ tab.~\ref{tab:file_inode_operations} le più rilevanti. \hline \hline \textsl{\code{create}} & Chiamata per creare un nuovo file (vedi - sez.~\ref{sec:file_open}).\\ + sez.~\ref{sec:file_open_close}).\\ \textsl{\code{link}} & Crea un \textit{hard link} (vedi sez.~\ref{sec:link_symlink_rename}).\\ \textsl{\code{unlink}} & Cancella un \textit{hard link} (vedi @@ -279,7 +279,7 @@ di dati) dovrà invece ricorrere a quelle fornite dal driver del dispositivo. \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{\textwidth} + \begin{minipage}[c]{0.8\textwidth} \includestruct{listati/file.h} \end{minipage} \normalsize @@ -304,14 +304,15 @@ tab.~\ref{tab:file_file_operations} le più significative. \textbf{Funzione} & \textbf{Operazione} \\ \hline \hline - \textsl{\code{open}} & Apre il file (vedi sez.~\ref{sec:file_open}).\\ + \textsl{\code{open}} & Apre il file (vedi + sez.~\ref{sec:file_open_close}).\\ \textsl{\code{read}} & Legge dal file (vedi sez.~\ref{sec:file_read}).\\ \textsl{\code{write}} & Scrive sul file (vedi sez.~\ref{sec:file_write}).\\ \textsl{\code{llseek}} & Sposta la posizione corrente sul file (vedi sez.~\ref{sec:file_lseek}).\\ \textsl{\code{ioctl}} & Accede alle operazioni di controllo - (vedi sez.~\ref{sec:file_ioctl}).\\ + (vedi sez.~\ref{sec:file_fcntl_ioctl}).\\ \textsl{\code{readdir}}& Legge il contenuto di una directory (vedi sez.~\ref{sec:file_dir_read}).\\ \textsl{\code{poll}} & Usata nell'I/O multiplexing (vedi @@ -812,7 +813,7 @@ nell'elenco seguente: tutte le directory del filesystem, ma su alcuni filesystem è possibile impostarla a livello di singole directory o per i sottorami di una directory con il comando \cmd{chattr}.\footnote{questo avviene tramite delle opportune - \texttt{ioctl} (vedi sez.~\ref{sec:file_ioctl}).} + \texttt{ioctl} (vedi sez.~\ref{sec:file_fcntl_ioctl}).} Questo consente di ridurre al minimo il rischio di perdita dei dati delle directory in caso di crollo improvviso del sistema, al costo di una certa @@ -1031,7 +1032,7 @@ nell'elenco seguente: \item[\const{MS\_SYNCHRONOUS}] Abilita la scrittura sincrona richiedendo che ogni modifica al contenuto del filesystem venga immediatamente registrata su disco. Lo stesso comportamento può essere ottenuto con il flag - \const{O\_SYNC} di \func{open} (vedi sez.~\ref{sec:file_open}). + \const{O\_SYNC} di \func{open} (vedi sez.~\ref{sec:file_open_close}). Questa opzione consente di ridurre al minimo il rischio di perdita dei dati in caso di crollo improvviso del sistema, al costo di una pesante perdita di @@ -1095,7 +1096,7 @@ prototipo è: \end{funcproto} \footnotetext{più precisamente la \itindex{capabilities} capacità - \const{CAP\_SYS\_ADMIN}.} + \const{CAP\_SYS\_ADMIN}, vedi sez.~\ref{sec:proc_capabilities}.} La funzione prende il nome della directory su cui il filesystem è montato e non il file o il dispositivo che è stato montato,\footnote{questo è vero a @@ -1152,18 +1153,18 @@ eseguita una sincronizzazione dei dati. \textbf{Costante} & \textbf{Descrizione}\\ \hline \hline - \const{MNT\_FORCE} & forza lo smontaggio del filesystem anche se questo è + \const{MNT\_FORCE} & Forza lo smontaggio del filesystem anche se questo è occupato (presente dai kernel della serie 2.2).\\ - \const{MNT\_DETACH} & esegue uno smontaggio ``\textsl{pigro}'', in cui si + \const{MNT\_DETACH} & Esegue uno smontaggio ``\textsl{pigro}'', in cui si blocca l'accesso ma si aspetta che il filesystem si liberi (presente dal kernel 2.4.11 e dalla \acr{glibc} 2.11).\\ - \const{MNT\_EXPIRE} & se non occupato marca un \itindex{mount~point} + \const{MNT\_EXPIRE} & Se non occupato marca un \itindex{mount~point} \textit{mount point} come ``\textsl{in scadenza}'' in modo che ad una successiva chiamata senza utilizzo del filesystem questo venga smontato (presente dal kernel 2.6.8 e dalla \acr{glibc} 2.11).\\ - \const{UMOUNT\_NOFOLLOW}& non dereferenzia \param{target} se questo è un + \const{UMOUNT\_NOFOLLOW}& Non dereferenzia \param{target} se questo è un collegamento simbolico (vedi sez.~\ref{sec:link_symlink_rename}) evitando problemi di sicurezza (presente dal kernel 2.6.34).\\ @@ -1243,7 +1244,7 @@ del filesystem stesso. \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{\textwidth} + \begin{minipage}[c]{0.8\textwidth} \includestruct{listati/statfs.h} \end{minipage} \normalsize @@ -1546,8 +1547,8 @@ Si noti che non si è specificato il comportamento delle funzioni che operano con i file descriptor (che tratteremo nel prossimo capitolo), in quanto la risoluzione del collegamento simbolico viene in genere effettuata dalla funzione che restituisce il file descriptor (normalmente la \func{open}, vedi -sez.~\ref{sec:file_open}) e tutte le operazioni seguenti fanno riferimento -solo a quest'ultimo. +sez.~\ref{sec:file_open_close}) e tutte le operazioni seguenti fanno +riferimento solo a quest'ultimo. Dato che, come indicato in tab.~\ref{tab:file_symb_effect}, funzioni come la \func{open} seguono i collegamenti simbolici, occorrono funzioni apposite per @@ -1988,11 +1989,12 @@ con le usuali funzioni di scrittura. Ma se la scrittura e l'aggiornamento dei dati delle directory è compito del kernel, sono molte le situazioni in cui i processi necessitano di poterne leggere il contenuto. Benché questo possa essere fatto direttamente (vedremo -in sez.~\ref{sec:file_open} che è possibile aprire una directory come se fosse -un file, anche se solo in sola lettura) in generale il formato con cui esse -sono scritte può dipendere dal tipo di filesystem, tanto che, come riportato -in tab.~\ref{tab:file_file_operations}, il \itindex{Virtual~File~System} VFS -prevede una apposita funzione per la lettura delle directory. +in sez.~\ref{sec:file_open_close} che è possibile aprire una directory come se +fosse un file, anche se solo in sola lettura) in generale il formato con cui +esse sono scritte può dipendere dal tipo di filesystem, tanto che, come +riportato in tab.~\ref{tab:file_file_operations}, il +\itindex{Virtual~File~System} VFS prevede una apposita funzione per la lettura +delle directory. \itindbeg{directory~stream} @@ -2166,7 +2168,7 @@ restituito il valore \val{NULL}. \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{\textwidth} + \begin{minipage}[c]{0.8\textwidth} \includestruct{listati/dirent.c} \end{minipage} \normalsize @@ -2224,8 +2226,8 @@ Ottenuta allora con \code{offsetof(struct dirent, d\_name)} la dimensione della parte iniziale della struttura, basterà sommarci la dimensione massima dei nomi dei file nel filesystem che si sta usando, che si può ottenere attraverso la funzione \func{pathconf} (per la quale si rimanda a -sez.~\ref{sec:sys_pathconf}) più un ulteriore carattere per la terminazione -della stringa. +sez.~\ref{sec:sys_file_limits}) più un ulteriore carattere per la terminazione +della stringa. Per quanto riguarda il significato dei campi opzionali, il campo \var{d\_type} indica il tipo di file (se fifo, directory, collegamento simbolico, ecc.), e @@ -3012,8 +3014,8 @@ prototipo è: Come per \func{mktemp} anche in questo caso \param{template} non può essere una stringa costante. La funzione apre un file in lettura/scrittura con la funzione \func{open}, usando l'opzione \const{O\_EXCL} (si veda -sez.~\ref{sec:file_open}), in questo modo al ritorno della funzione si ha la -certezza di essere stati i creatori del file, i cui permessi (si veda +sez.~\ref{sec:file_open_close}), in questo modo al ritorno della funzione si +ha la certezza di essere stati i creatori del file, i cui permessi (si veda sez.~\ref{sec:file_perm_overview}) sono impostati al valore \code{0600} (lettura e scrittura solo per il proprietario).\footnote{questo è vero a partire dalla \acr{glibc} 2.0.7, le versioni precedenti della \acr{glibc} e @@ -3132,7 +3134,7 @@ sez.~\ref{sec:file_file_times}). \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{\textwidth} + \begin{minipage}[c]{0.8\textwidth} \includestruct{listati/stat.h} \end{minipage} \normalsize @@ -3149,7 +3151,7 @@ introdotti per rendersi indipendenti dalla piattaforma. Benché la descrizione dei commenti di fig.~\ref{fig:file_stat_struct} sia abbastanza chiara, vale la pena illustrare maggiormente il significato dei -campi di \structd{stat} su cui non torneremo in maggior dettaglio nel resto di +campi di \struct{stat} su cui non torneremo in maggior dettaglio nel resto di questa sezione: \begin{itemize*} @@ -3209,13 +3211,13 @@ tipo di file in maniera standardizzata. \textbf{Macro} & \textbf{Tipo del file} \\ \hline \hline - \macro{S\_ISREG}\texttt{(m)} & file normale.\\ - \macro{S\_ISDIR}\texttt{(m)} & directory.\\ - \macro{S\_ISCHR}\texttt{(m)} & dispositivo a caratteri.\\ - \macro{S\_ISBLK}\texttt{(m)} & dispositivo a blocchi.\\ - \macro{S\_ISFIFO}\texttt{(m)} & fifo.\\ - \macro{S\_ISLNK}\texttt{(m)} & collegamento simbolico.\\ - \macro{S\_ISSOCK}\texttt{(m)} & socket.\\ + \macro{S\_ISREG}\texttt{(m)} & File normale.\\ + \macro{S\_ISDIR}\texttt{(m)} & Directory.\\ + \macro{S\_ISCHR}\texttt{(m)} & Dispositivo a caratteri.\\ + \macro{S\_ISBLK}\texttt{(m)} & Dispositivo a blocchi.\\ + \macro{S\_ISFIFO}\texttt{(m)} & Fifo.\\ + \macro{S\_ISLNK}\texttt{(m)} & Collegamento simbolico.\\ + \macro{S\_ISSOCK}\texttt{(m)} & Socket.\\ \hline \end{tabular} \caption{Macro per i tipi di file (definite in \headfile{sys/stat.h}).} @@ -3248,9 +3250,11 @@ come argomento il valore di \var{st\_mode}. \const{S\_IFCHR} & 0020000 & Dispositivo a caratteri.\\ \const{S\_IFIFO} & 0010000 & Fifo.\\ \hline - \const{S\_ISUID} & 0004000 & \itindex{suid~bit} \acr{suid} bit.\\ - \const{S\_ISGID} & 0002000 & \itindex{sgid~bit} \acr{sgid} bit.\\ - \const{S\_ISVTX} & 0001000 & \itindex{sticky~bit} \acr{sticky} bit.\\ + \const{S\_ISUID} & 0004000 & Set user ID \itindex{suid~bit} (\acr{suid}) + bit.\\ + \const{S\_ISGID} & 0002000 & Set group ID \itindex{sgid~bit} + (\acr{sgid}) bit.\\ + \const{S\_ISVTX} & 0001000 & \itindex{sticky~bit} \acr{Sticky} bit.\\ \hline \const{S\_IRWXU} & 00700 & Maschera per i permessi del proprietario.\\ \const{S\_IRUSR} & 00400 & Il proprietario ha permesso di lettura.\\ @@ -3628,7 +3632,7 @@ puntatore nullo verrà impostato il tempo corrente. \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{\textwidth} + \begin{minipage}[c]{0.8\textwidth} \includestruct{listati/utimbuf.h} \end{minipage} \normalsize @@ -3643,9 +3647,9 @@ tempo corrente ed è sufficiente avere accesso in scrittura al file o essere proprietari del file o avere i privilegi di amministratore. Se invece si è specificato un valore diverso la funzione avrà successo solo se si è proprietari del file o se si hanno i privilegi di amministratore.\footnote{per - essere precisi la \itindex{capabilities} capacità \const{CAP\_FOWNER}.} In -entrambi i casi per verificare la proprietà del file viene utilizzato -l'\ids{UID} effettivo del processo. + essere precisi la \itindex{capabilities} capacità \const{CAP\_FOWNER}, vedi + sez.~\ref{sec:proc_capabilities}.} In entrambi i casi per verificare la +proprietà del file viene utilizzato l'\ids{UID} effettivo del processo. Si tenga presente che non è possibile modificare manualmente il tempo di cambiamento di stato del file, che viene aggiornato direttamente dal kernel @@ -3694,7 +3698,7 @@ puntatore nullo di nuovo verrà utilizzato il tempo corrente. \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{\textwidth} + \begin{minipage}[c]{0.8\textwidth} \includestruct{listati/timeval.h} \end{minipage} \normalsize @@ -3787,7 +3791,7 @@ un valore dei tempi con una precisione fino al nanosecondo. \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{\textwidth} + \begin{minipage}[c]{0.8\textwidth} \includestruct{listati/timespec.h} \end{minipage} \normalsize @@ -3984,8 +3988,8 @@ crearlo o rinominarlo o cancellarlo invece occorrerà avere anche il permesso di scrittura per la directory. Avere il permesso di lettura per un file consente di aprirlo con le opzioni -(si veda quanto riportato in sez.~\ref{sec:file_open}) di sola lettura o di -lettura/scrittura e leggerne il contenuto. Avere il permesso di scrittura +(si veda quanto riportato in sez.~\ref{sec:file_open_close}) di sola lettura o +di lettura/scrittura e leggerne il contenuto. Avere il permesso di scrittura consente di aprire un file in sola scrittura o lettura/scrittura e modificarne il contenuto, lo stesso permesso è necessario per poter troncare il file o per aggiornare il suo tempo di ultima modifica al tempo corrente, ma non per @@ -4109,9 +4113,10 @@ Entrambi questi attributi attivano queste restrizioni a livello di filesystem, per cui a differenza dei permessi ordinari esse varranno per qualunque utente compreso l'amministratore. L'amministratore è l'unico che può attivare o disattivare questi attributi,\footnote{più precisamente un processo con la - \itindex{capabilities} capacità \const{CAP\_LINUX\_IMMUTABLE}.} e potendo -rimuoverli è comunque capace di tornare in grado di eseguire qualunque -operazione su un file immutabile o \textit{append-only}. + \itindex{capabilities} capacità \const{CAP\_LINUX\_IMMUTABLE}, vedi + sez.~\ref{sec:proc_capabilities}.} e potendo rimuoverli è comunque capace di +tornare in grado di eseguire qualunque operazione su un file immutabile o +\textit{append-only}. \itindend{file~attributes} @@ -4384,9 +4389,9 @@ file. \textbf{\param{mode}} & \textbf{Valore} & \textbf{Significato} \\ \hline \hline - \const{S\_ISUID} & 04000 & Set user ID \itindex{suid~bit}.\\ - \const{S\_ISGID} & 02000 & Set group ID \itindex{sgid~bit}.\\ - \const{S\_ISVTX} & 01000 & Sticky bit \itindex{sticky~bit}.\\ + \const{S\_ISUID} & 04000 & Set user ID \itindex{suid~bit} bit.\\ + \const{S\_ISGID} & 02000 & Set group ID \itindex{sgid~bit} bit.\\ + \const{S\_ISVTX} & 01000 & Sticky \itindex{sticky~bit} bit.\\ \hline \const{S\_IRWXU} & 00700 & L'utente ha tutti i permessi.\\ \const{S\_IRUSR} & 00400 & L'utente ha il permesso di lettura.\\ @@ -4465,11 +4470,11 @@ un'eventuale modifica comporterà la perdita di questo privilegio. Le funzioni \func{chmod} e \func{fchmod} ci permettono di modificare i permessi di un file, resta però il problema di quali sono i permessi assegnati quando il file viene creato. Le funzioni dell'interfaccia nativa di Unix, come -vedremo in sez.~\ref{sec:file_open}, permettono di indicare esplicitamente i -permessi di creazione di un file, ma questo non è possibile per le funzioni -dell'interfaccia standard ANSI C che non prevede l'esistenza di utenti e -gruppi, ed inoltre il problema si pone anche per l'interfaccia nativa quando i -permessi non vengono indicati esplicitamente. +vedremo in sez.~\ref{sec:file_open_close}, permettono di indicare +esplicitamente i permessi di creazione di un file, ma questo non è possibile +per le funzioni dell'interfaccia standard ANSI C che non prevede l'esistenza +di utenti e gruppi, ed inoltre il problema si pone anche per l'interfaccia +nativa quando i permessi non vengono indicati esplicitamente. \itindbeg{umask} @@ -4517,8 +4522,8 @@ utenti non hanno motivi per modificarlo. \subsection{La gestione della titolarità dei file} \label{sec:file_ownership_management} -Vedremo in sez.~\ref{sec:file_open} con quali funzioni si possono creare nuovi -file, in tale occasione vedremo che è possibile specificare in sede di +Vedremo in sez.~\ref{sec:file_open_close} con quali funzioni si possono creare +nuovi file, in tale occasione vedremo che è possibile specificare in sede di creazione quali permessi applicare ad un file, però non si può indicare a quale utente e gruppo esso deve appartenere. Lo stesso problema si presenta per la creazione di nuove directory (procedimento descritto in @@ -5198,21 +5203,21 @@ la capacità \itindex{capabilities} \const{CAP\_FOWNER}. \textbf{Tipo} & \textbf{Descrizione} \\ \hline \hline - \const{ACL\_USER\_OBJ} & voce che contiene i diritti di accesso del + \const{ACL\_USER\_OBJ} & Voce che contiene i diritti di accesso del proprietario del file.\\ - \const{ACL\_USER} & voce che contiene i diritti di accesso per + \const{ACL\_USER} & Voce che contiene i diritti di accesso per l'utente indicato dal rispettivo qualificatore.\\ - \const{ACL\_GROUP\_OBJ}& voce che contiene i diritti di accesso del + \const{ACL\_GROUP\_OBJ}& Voce che contiene i diritti di accesso del gruppo proprietario del file.\\ - \const{ACL\_GROUP} & voce che contiene i diritti di accesso per + \const{ACL\_GROUP} & Voce che contiene i diritti di accesso per il gruppo indicato dal rispettivo qualificatore.\\ - \const{ACL\_MASK} & voce che contiene la maschera dei massimi + \const{ACL\_MASK} & Voce che contiene la maschera dei massimi permessi di accesso che possono essere garantiti da voci del tipo \const{ACL\_USER}, \const{ACL\_GROUP} e \const{ACL\_GROUP\_OBJ}.\\ - \const{ACL\_OTHER} & voce che contiene i diritti di accesso di chi + \const{ACL\_OTHER} & Voce che contiene i diritti di accesso di chi non corrisponde a nessuna altra voce dell'ACL.\\ \hline \end{tabular} @@ -5275,7 +5280,7 @@ file) tutti quelli non presenti in \const{ACL\_MASK}.\footnote{questo diverso Un secondo aspetto dell'incidenza delle ACL sul comportamento del sistema è quello relativo alla creazione di nuovi file,\footnote{o oggetti sul filesystem, il comportamento discusso vale per le funzioni \func{open} e - \func{creat} (vedi sez.~\ref{sec:file_open}), \func{mkdir} (vedi + \func{creat} (vedi sez.~\ref{sec:file_open_close}), \func{mkdir} (vedi sez.~\ref{sec:file_dir_creat_rem}), \func{mknod} e \func{mkfifo} (vedi sez.~\ref{sec:file_mknod}).} che come accennato può essere modificato dalla presenza di una \textit{Default ACL} sulla directory che andrà a contenerli. @@ -5689,23 +5694,23 @@ tab.~\ref{tab:acl_to_text_options}. \textbf{Tipo} & \textbf{Descrizione} \\ \hline \hline - \const{TEXT\_ABBREVIATE} & stampa le voci in forma abbreviata.\\ + \const{TEXT\_ABBREVIATE} & Stampa le voci in forma abbreviata.\\ \const{TEXT\_NUMERIC\_IDS} & non effettua la risoluzione numerica di \ids{UID} e \ids{GID}.\\ - \const{TEXT\_SOME\_EFFECTIVE}& per ciascuna voce che contiene permessi che + \const{TEXT\_SOME\_EFFECTIVE}& Per ciascuna voce che contiene permessi che vengono eliminati dalla \const{ACL\_MASK} viene generato un commento con i permessi effettivamente risultanti; il commento è separato con un tabulatore.\\ - \const{TEXT\_ALL\_EFFECTIVE} & viene generato un commento con i permessi + \const{TEXT\_ALL\_EFFECTIVE} & Viene generato un commento con i permessi effettivi per ciascuna voce che contiene permessi citati nella \const{ACL\_MASK}, anche quando questi non vengono modificati da essa; il commento è separato con un tabulatore.\\ - \const{TEXT\_SMART\_INDENT} & da usare in combinazione con le precedenti - \const{TEXT\_SOME\_EFFECTIVE} e - \const{TEXT\_ALL\_EFFECTIVE} aumenta + \const{TEXT\_SMART\_INDENT} & Da usare in combinazione con le precedenti + opzioni \const{TEXT\_SOME\_EFFECTIVE} e + \const{TEXT\_ALL\_EFFECTIVE}, aumenta automaticamente il numero di spaziatori prima degli eventuali commenti in modo da mantenerli allineati.\\ @@ -5752,9 +5757,10 @@ buffer di dimensione sufficiente, il suo prototipo è: } \end{funcproto} -Ottenuta con \func{acl\_size} la dimensione per il buffer lo si potrà allocare -direttamente con \func{malloc}. La rappresentazione binaria di una ACL si -potrà poi ottenere con la funzione \funcd{acl\_copy\_ext}, il cui prototipo è: +Ottenuta con \func{acl\_size} la dimensione per il buffer di una ACL lo si +potrà allocare direttamente con \func{malloc}. La rappresentazione binaria di +una ACL si potrà invece ottenere con la funzione \funcd{acl\_copy\_ext}, il +cui prototipo è: \begin{funcproto}{ \fhead{sys/types.h} @@ -6177,7 +6183,7 @@ singolo utente o gruppo. \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{\textwidth} + \begin{minipage}[c]{0.9\textwidth} \includestruct{listati/dqblk.h} \end{minipage} \normalsize @@ -6268,11 +6274,11 @@ identificate tramite le costanti di tab.~\ref{tab:quotactl_id_format}. \textbf{Identificatore} & \textbf{Descrizione} \\ \hline \hline - \const{QFMT\_VFS\_OLD}& il vecchio (ed obsoleto) formato delle quote.\\ - \const{QFMT\_VFS\_V0} & la versione 0 usata dal VFS di Linux, supporta + \const{QFMT\_VFS\_OLD}& Il vecchio (ed obsoleto) formato delle quote.\\ + \const{QFMT\_VFS\_V0} & La versione 0 usata dal VFS di Linux, supporta \ids{UID} e \ids{GID} a 32 bit e limiti fino a $2^{42}$ byte e $2^{32}$ file.\\ - \const{QFMT\_VFS\_V1} & la versione 1 usata dal VFS di Linux, supporta + \const{QFMT\_VFS\_V1} & La versione 1 usata dal VFS di Linux, supporta \ids{UID} e \ids{GID} a 32 bit e limiti fino a $2^{64}$ byte e $2^{64}$ file.\\ \hline @@ -6294,7 +6300,7 @@ la cui definizione è riportata in fig.~\ref{fig:dqinfo_struct}. \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{\textwidth} + \begin{minipage}[c]{0.8\textwidth} \includestruct{listati/dqinfo.h} \end{minipage} \normalsize @@ -6995,7 +7001,8 @@ sez.~\ref{sec:file_xattr} e \ref{sec:file_ACL}), poter ignorare lo \itindex{sticky~bit} \textit{sticky bit} nella cancellazione dei file (vedi sez.~\ref{sec:file_special_perm}), la possibilità di impostare il flag di \const{O\_NOATIME} con \func{open} e \func{fcntl} (vedi -sez.~\ref{sec:file_open} e sez.~\ref{sec:file_fcntl}) senza restrizioni. +sez.~\ref{sec:file_open_close} e sez.~\ref{sec:file_fcntl_ioctl}) senza +restrizioni. Una seconda capacità che copre diverse operazioni, in questo caso riguardanti la rete, è \const{CAP\_NET\_ADMIN}, che consente di impostare le opzioni @@ -7090,7 +7097,7 @@ presente.\footnote{e non è chiaro neanche quanto sia mai stato davvero \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{\textwidth} + \begin{minipage}[c]{0.8\textwidth} \includestruct{listati/cap_user_header_t.h} \end{minipage} \normalsize