Piccole correzioni
authorSimone Piccardi <piccardi@gnulinux.it>
Fri, 13 Jan 2012 18:22:47 +0000 (18:22 +0000)
committerSimone Piccardi <piccardi@gnulinux.it>
Fri, 13 Jan 2012 18:22:47 +0000 (18:22 +0000)
filedir.tex
intro.tex

index 999c5eeab9b9e9d6950d6522bcee5faf986af17e..e95c7af783bf0e2a48706074d3a72a562edc88ab 100644 (file)
@@ -661,9 +661,9 @@ il cui prototipo è:\footnote{la funzione è una versione specifica di Linux che
   significato generico.}
 \end{funcproto}
 
   significato generico.}
 \end{funcproto}
 
-La funzione monta sulla directory indicata \param{target}, detta
+La funzione monta sulla directory indicata da \param{target}, detta
 \itindex{mount~point} \textit{mount point}, il filesystem contenuto nel file
 \itindex{mount~point} \textit{mount point}, il filesystem contenuto nel file
-di dispositivo indicato \param{source}. In entrambi i casi, come daremo per
+di dispositivo indicato da \param{source}. In entrambi i casi, come daremo per
 assunto da qui in avanti tutte le volte che si parla di directory o file nel
 passaggio di un argomento di una funzione, si intende che questi devono essere
 indicati con la stringa contenente il loro \itindex{pathname}
 assunto da qui in avanti tutte le volte che si parla di directory o file nel
 passaggio di un argomento di una funzione, si intende che questi devono essere
 indicati con la stringa contenente il loro \itindex{pathname}
@@ -713,14 +713,14 @@ qual caso vale comunque quanto detto in precedenza, e cioè che solo il
 contenuto dell'ultimo filesystem montato sarà visibile.
 
 Oltre alle opzioni specifiche di ciascun filesystem, che si passano nella
 contenuto dell'ultimo filesystem montato sarà visibile.
 
 Oltre alle opzioni specifiche di ciascun filesystem, che si passano nella
-forma delle opzioni indicata con l'argomento \param{data}, esistono pure
-alcune opzioni che si possono applicare in generale, anche se non è detto che
-tutti i filesystem le supportino, che si specificano tramite
+forma della lista di parole chiave indicata con l'argomento \param{data},
+esistono pure alcune opzioni che si possono applicare in generale, anche se
+non è detto che tutti i filesystem le supportino, che si specificano tramite
 l'argomento \param{mountflags}.  L'argomento inoltre può essere utilizzato per
 modificare il comportamento della funzione, facendole compiere una operazione
 diversa (ad esempio un rimontaggio, invece che un montaggio).
 
 l'argomento \param{mountflags}.  L'argomento inoltre può essere utilizzato per
 modificare il comportamento della funzione, facendole compiere una operazione
 diversa (ad esempio un rimontaggio, invece che un montaggio).
 
-In Linux \param{mountflags} deve essere un intero a 32 bit, fino ai kernel
+In Linux \param{mountflags} deve essere un intero a 32 bit; fino ai kernel
 della serie 2.2.x i 16 più significativi avevano un valore riservato che
 doveva essere specificato obbligatoriamente,\footnote{il valore era il
   \itindex{magic~number} \textit{magic number} \code{0xC0ED}, si può usare la
 della serie 2.2.x i 16 più significativi avevano un valore riservato che
 doveva essere specificato obbligatoriamente,\footnote{il valore era il
   \itindex{magic~number} \textit{magic number} \code{0xC0ED}, si può usare la
@@ -734,12 +734,13 @@ riportati nell'elenco seguente:
 \begin{basedescript}{\desclabelwidth{2.cm}\desclabelstyle{\nextlinelabel}}
 \itindbeg{bind~mount}
 \item[\const{MS\_BIND}] Effettua un cosiddetto \textit{bind mount}, in cui è
 \begin{basedescript}{\desclabelwidth{2.cm}\desclabelstyle{\nextlinelabel}}
 \itindbeg{bind~mount}
 \item[\const{MS\_BIND}] Effettua un cosiddetto \textit{bind mount}, in cui è
-  possibile montare una directory di un filesystem in un'altra directory. In
-  questo caso verranno presi in considerazione solo gli argomenti
-  \texttt{source}, che stavolta indicherà la directory che si vuole montare (e
-  non un file di dispositivo) e \texttt{target} che indicherà la directory su
-  cui verrà effettuato il \textit{bind mount}. Gli
-  argomenti \param{filesystemtype} e \param{data} vengono ignorati.
+  possibile montare una directory di un filesystem in un'altra directory,
+  l'opzione è disponibile a partire dai kernel della serie 2.4. In questo caso
+  verranno presi in considerazione solo gli argomenti \texttt{source}, che
+  stavolta indicherà la directory che si vuole montare (e non un file di
+  dispositivo) e \texttt{target} che indicherà la directory su cui verrà
+  effettuato il \textit{bind mount}. Gli argomenti \param{filesystemtype}
+  e \param{data} vengono ignorati.
 
   In sostanza quello che avviene è che in corrispondenza del \index{pathname}
   \textit{pathname} indicato da \texttt{target} viene montato l'\textit{inode}
 
   In sostanza quello che avviene è che in corrispondenza del \index{pathname}
   \textit{pathname} indicato da \texttt{target} viene montato l'\textit{inode}
@@ -776,22 +777,25 @@ riportati nell'elenco seguente:
   \textit{bind mount} continuava ad utilizzare le stesse opzioni del montaggio
   originale, dal 2.6.26 è stato introdotto il supporto per il cosiddetto
   \textit{read-only bind mount} e viene onorata la presenza del flag
   \textit{bind mount} continuava ad utilizzare le stesse opzioni del montaggio
   originale, dal 2.6.26 è stato introdotto il supporto per il cosiddetto
   \textit{read-only bind mount} e viene onorata la presenza del flag
-  \const{MS\_RDONLY}. In questo modo si può far sì che l'accesso ai file sotto
-  \texttt{target} possa avvenire soltanto in sola lettura.
+  \const{MS\_RDONLY}. In questo modo si ottiene che l'accesso ai file sotto
+  \texttt{target} sia effettuabile esclusivamente in sola lettura.
 
   Il supporto per il \textit{bind mount} consente di superare i limiti
   presenti per gli \textit{hard link} (di cui parleremo in
 
   Il supporto per il \textit{bind mount} consente di superare i limiti
   presenti per gli \textit{hard link} (di cui parleremo in
-  sez.~\ref{sec:file_link}) e di poter far comparire una qualunque porzione
-  dell'albero dei file all'interno di una qualunque directory, anche se questa
-  sta su un filesystem diverso, fornendo una alternativa all'uso dei link
-  simbolici (di cui parleremo in sez.~\ref{sec:file_symlink}) che funziona
-  correttamente anche all'intero di un \textit{chroot} (argomento su cui
-  torneremo in sez.~\ref{sec:file_chroot}. 
-
-
+  sez.~\ref{sec:file_link}) ottenendo un qualcosa di analogo in cui si può
+  fare riferimento alla porzione dell'albero dei file di un filesystem
+  presente a partire da una certa directory utilizzando una qualunque altra
+  directory, anche se questa sta su un filesystem diverso. Si può così fornire
+  una alternativa all'uso dei link simbolici (di cui parleremo in
+  sez.~\ref{sec:file_symlink}) che funziona correttamente anche all'intero di
+  un \textit{chroot} (argomento su cui torneremo in
+  sez.~\ref{sec:file_chroot}.  
 \itindend{bind~mount}
 
 \itindend{bind~mount}
 
-\item[\const{MS\_DIRSYNC}]     .
+\item[\const{MS\_DIRSYNC}] Richiede che ogni modifica al contenuto di una
+  directory venga immediatamente registrata su disco in maniera sincrona
+  (introdotta a partire dai kernel della serie 2.6). Questo significa che la
+  bufferizzazione effettuata dal
 
 \item[\const{MS\_MANDLOCK}] Consente il \textit{mandatory locking}
   \itindex{mandatory~locking} (vedi sez.~\ref{sec:file_mand_locking}).
 
 \item[\const{MS\_MANDLOCK}] Consente il \textit{mandatory locking}
   \itindex{mandatory~locking} (vedi sez.~\ref{sec:file_mand_locking}).
@@ -810,20 +814,40 @@ riportati nell'elenco seguente:
 \item[\const{MS\_NOSUID}] Ignora i bit \itindex{suid~bit} \acr{suid} e
   \itindex{sgid~bit} \acr{sgid}.
 
 \item[\const{MS\_NOSUID}] Ignora i bit \itindex{suid~bit} \acr{suid} e
   \itindex{sgid~bit} \acr{sgid}.
 
+\item[\const{MS\_PRIVATE}] (non documentato).
+
 \item[\const{MS\_RDONLY}] Monta in sola lettura.
 
 \item[\const{MS\_RELATIME}] .
 
 \item[\const{MS\_REMOUNT}] Rimonta il filesystem cambiando le opzioni.
 
 \item[\const{MS\_RDONLY}] Monta in sola lettura.
 
 \item[\const{MS\_RELATIME}] .
 
 \item[\const{MS\_REMOUNT}] Rimonta il filesystem cambiando le opzioni.
 
+\item[\const{MS\_SHARE}] Shared mount (non documentato).
+
 \item[\const{MS\_SILENT}] .
 
 \item[\const{MS\_SILENT}] .
 
+\item[\const{MS\_SLAVE}] Slave mount (non documentato).
+
 \item[\const{MS\_STRICTATIME}] .
 
 \item[\const{MS\_SYNCHRONOUS}] Abilita la scrittura sincrona.
 
 \item[\const{MS\_STRICTATIME}] .
 
 \item[\const{MS\_SYNCHRONOUS}] Abilita la scrittura sincrona.
 
+\item[\const{MS\_UNBINDABLE}]  (non documentato).
+
 % TODO aggiornare con i nuovi flag di man mount
 % TODO aggiornare con i nuovi flag di man mount
-% verificare i readonly mount bind del 2.6.26
+% per \const{MS\_SLAVE},\const{MS\_SHARE}, \const{MS\_PRIVATE},
+% \const{MS\_UNBINDABLE} dal 2.6.15 vedi shared subtrees,
+% http://lwn.net/Articles/159077/ e
+% Documentation/filesystems/sharedsubtree.txt
+
+% TODO: non documentati ma presenti in sys/mount.h:
+%       MS_REC
+%       MS_POSIXACL
+%       MS_KERNMOUNT
+%       MS_I_VERSION
+%       MS_ACTIVE
+%       MS_NOUSER
+
 \end{basedescript}
 
 La funzione \func{mount} può essere utilizzata anche per effettuare il
 \end{basedescript}
 
 La funzione \func{mount} può essere utilizzata anche per effettuare il
index fcae6318e600207bc06d1edc4b4216dcdc8f8415..2a34ea76ff0736864d9349eaf7cc470dd41b5e02 100644 (file)
--- a/intro.tex
+++ b/intro.tex
@@ -424,12 +424,12 @@ operazioni interne del kernel per la manipolazione sui file con le
 \textit{system call} relative alle operazioni di I/O, e gestisce poi
 l'organizzazione di dette operazioni nei vari modi in cui i diversi filesystem
 le effettuano, permettendo la coesistenza di filesystem differenti all'interno
 \textit{system call} relative alle operazioni di I/O, e gestisce poi
 l'organizzazione di dette operazioni nei vari modi in cui i diversi filesystem
 le effettuano, permettendo la coesistenza di filesystem differenti all'interno
-dello stesso albero delle directory. Torneremo su questa interfaccia generica
-fornita dal VFS in sez.~\ref{sec:file_vfs_work}.
+dello stesso albero delle directory. Approfondiremo il funzionamento di
+interfaccia generica fornita dal VFS in sez.~\ref{sec:file_vfs_work}.
 
 In sostanza quello che accade è che quando un processo esegue una
 \textit{system call} che opera su un file, il kernel chiama sempre una
 
 In sostanza quello che accade è che quando un processo esegue una
 \textit{system call} che opera su un file, il kernel chiama sempre una
-funzione implementata nel VFS; la funzione eseguirà le manipolazioni sulle
+funzione implementata nel VFS. La funzione eseguirà le manipolazioni sulle
 strutture generiche e utilizzerà poi la chiamata alle opportune funzioni del
 filesystem specifico a cui si fa riferimento. Saranno queste a chiamare le
 funzioni di più basso livello che eseguono le operazioni di I/O sul
 strutture generiche e utilizzerà poi la chiamata alle opportune funzioni del
 filesystem specifico a cui si fa riferimento. Saranno queste a chiamare le
 funzioni di più basso livello che eseguono le operazioni di I/O sul