X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=filedir.tex;h=10ba423b528fe68f3814f7670fffe2ccbc4df45e;hp=b568af7e367969dbb7a3c83bd465ccebdd067df1;hb=6ef95fc5ee2f29b1ac30151659176cfc9991a15e;hpb=936ae71ad2a06b154b23470ef38f477af32e67fe diff --git a/filedir.tex b/filedir.tex index b568af7..10ba423 100644 --- a/filedir.tex +++ b/filedir.tex @@ -940,6 +940,9 @@ nell'elenco seguente: una fra \const{MS\_PRIVATE}, \const{MS\_SHARED}, \const{MS\_SLAVE} e \const{MS\_UNBINDABLE}. + % TODO trattare l'opzione \texttt{lazytime} introdotta con il kernel 4.0, + % vedi http://lwn.net/Articles/621046/ + \item[\const{MS\_RELATIME}] Indica di effettuare l'aggiornamento degli \textit{access time} sul filesystem soltanto quando questo risulti antecedente il valore corrente del \textit{modification time} o del @@ -1395,7 +1398,7 @@ diventerebbe piuttosto complicata.\footnote{in genere per questo tipo di non si potrebbe più rimuoverla.} Data la pericolosità di questa operazione e la disponibilità dei collegamenti -simbolici (che vedremo a breve) e dei \itindex{bind~mount} \textit{bind mount} +simbolici (che vedremo a breve) e dei \textit{bind mount} (già visti in sez.~\ref{sec:filesystem_mounting}) che possono fornire la stessa funzionalità senza questi problemi, nel caso di Linux questa capacità è stata completamente disabilitata, e al tentativo di creare un collegamento @@ -2025,9 +2028,9 @@ directory. Si tenga presente che comunque la funzione opera associando il \textit{directory stream} ad un opportuno file descriptor sottostante, sul quale vengono compiute le operazioni. Questo viene sempre aperto impostando il -flag di \itindex{close-on-exec} \textit{close-on-exec} (si ricordi quanto -detto in sez.~\ref{sec:proc_exec}), così da evitare che resti aperto in caso -di esecuzione di un altro programma. +flag di \textit{close-on-exec} (si ricordi quanto detto in +sez.~\ref{sec:proc_exec}), così da evitare che resti aperto in caso di +esecuzione di un altro programma. Nel caso in cui sia necessario conoscere il \textit{file descriptor} associato ad un \textit{directory stream} si può usare la funzione @@ -2098,9 +2101,8 @@ funzioni che operano sul \textit{directory stream} e non dovrà essere più utilizzato all'interno del proprio programma. In particolare dovrà essere chiuso attraverso il \textit{directory stream} con \func{closedir} e non direttamente. Si tenga presente inoltre che \func{fdopendir} non modifica lo -stato di un eventuale flag di \itindex{close-on-exec} \textit{close-on-exec}, -che pertanto dovrà essere impostato esplicitamente in fase di apertura del -file descriptor. +stato di un eventuale flag di \textit{close-on-exec}, che pertanto dovrà +essere impostato esplicitamente in fase di apertura del file descriptor. Una volta che si sia aperto un \textit{directory stream} la lettura del contenuto della directory viene effettuata attraverso la funzione @@ -3405,8 +3407,8 @@ fig.~\ref{fig:file_stat_struct}. Il significato di questi tempi e dei relativi campi della struttura \struct{stat} è illustrato nello schema di tab.~\ref{tab:file_file_times}, dove è anche riportato un esempio delle funzioni che effettuano cambiamenti su di essi. Il valore del tempo è espresso -nel cosiddetto \itindex{calendar~time} \textit{calendar time}, su cui -torneremo in dettaglio in sez.~\ref{sec:sys_time}. +nel cosiddetto \textit{calendar time}, su cui torneremo in dettaglio in +sez.~\ref{sec:sys_time}. \begin{table}[htb] \centering @@ -3832,12 +3834,12 @@ in \param{pathname}.\footnote{su Linux solo \func{utimensat} è una Torneremo su questa sintassi e sulla sua motivazione in sez.~\ref{sec:file_openat}, quando tratteremo tutte le altre funzioni (le -cosiddette \itindex{at-functions} \textit{at-functions}) che la utilizzano; -essa prevede comunque anche la presenza dell'argomento \param{flags} con cui -attivare flag di controllo che modificano il comportamento della funzione, nel -caso specifico l'unico valore consentito è \const{AT\_SYMLINK\_NOFOLLOW} che -indica alla funzione di non dereferenziare i collegamenti simbolici, cosa che -le permette di riprodurre le funzionalità di \func{lutimes}. +cosiddette \textit{at-functions}) che la utilizzano; essa prevede comunque +anche la presenza dell'argomento \param{flags} con cui attivare flag di +controllo che modificano il comportamento della funzione, nel caso specifico +l'unico valore consentito è \const{AT\_SYMLINK\_NOFOLLOW} che indica alla +funzione di non dereferenziare i collegamenti simbolici, cosa che le permette +di riprodurre le funzionalità di \func{lutimes}. @@ -4325,8 +4327,8 @@ questo controllo prima di aprire il file espone al rischio di una \itindex{race~condition} \textit{race condition} che apre ad un possibile \itindex{symlink~attack} \textit{symlink attack} fra il controllo e l'apertura del file. In questo caso è sempre opportuno usare invece la funzione -\func{faccessat} che tratteremo insieme alle altre \itindex{at-functions} -\textit{at-functions} in sez.~\ref{sec:file_openat}. +\func{faccessat} che tratteremo insieme alle altre \textit{at-functions} in +sez.~\ref{sec:file_openat}. Del tutto analoghe a \func{access} sono le due funzioni \funcm{euidaccess} e \funcm{eaccess} che ripetono lo stesso controllo usando però gli @@ -6892,8 +6894,7 @@ opportuno dettagliare maggiormente. pur non essendo proprietari del file (dal kernel 2.4).\\ \const{CAP\_LINUX\_IMMUTABLE}& Impostare sui file gli attributi - \textit{immutable} e \itindex{append~mode} - \textit{append-only} (vedi + \textit{immutable} e \textit{append-only} (vedi sez.~\ref{sec:file_perm_overview}) se supportati.\\ \const{CAP\_MKNOD} & Creare \index{file!di~dispositivo} file di