+ ed inoltre \errval{EFAULT}, \errval{ENOMEM}, \errval{ENAMETOOLONG},
+ \errval{ENOENT}, \errval{ENOTDIR} nel loro significato generico.}
+\end{funcproto}
+
+La funzione monta sulla directory indicata da \param{target}, detta
+\itindex{mount~point} \textit{mount point}, il filesystem contenuto nel file
+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 \textit{pathname}.
+
+Normalmente un filesystem è contenuto su un disco o una partizione, ma come
+illustrato in sez.~\ref{sec:file_vfs_work} la struttura del
+\itindex{Virtual~File~System} \textit{Virtual File System} è estremamente
+flessibile e può essere usata anche per oggetti diversi da un disco. Ad
+esempio usando il \textit{loop device} si può montare un file qualunque (come
+l'immagine di un CD-ROM o di un floppy) che contiene l'immagine di un
+filesystem, inoltre alcuni tipi di filesystem, come \texttt{proc} o
+\texttt{sysfs} sono virtuali e non hanno un supporto che ne contenga i dati,
+che invece sono generati al volo ad ogni lettura, e passati indietro al kernel
+ad ogni scrittura.\footnote{costituiscono quindi un meccanismo di
+ comunicazione, attraverso l'ordinaria interfaccia dei file, con il kernel.}
+
+Il tipo di filesystem che si vuole montare è specificato
+dall'argomento \param{filesystemtype}, che deve essere una delle stringhe
+riportate nel file \procfile{/proc/filesystems} che, come accennato in
+sez.~\ref{sec:file_vfs_work}, contiene l'elenco dei filesystem supportati dal
+kernel. Nel caso si sia indicato un filesystem virtuale, che non è associato a
+nessun file di dispositivo, il contenuto di \param{source} viene ignorato.
+
+L'argomento \param{data} viene usato per passare le impostazioni relative alle
+caratteristiche specifiche di ciascun filesystem. Si tratta di una stringa di
+parole chiave (separate da virgole e senza spazi) che indicano le cosiddette
+``\textsl{opzioni}'' del filesystem che devono essere impostate; in genere
+viene usato direttamente il contenuto del parametro dell'opzione \texttt{-o}
+del comando \texttt{mount}. I valori utilizzabili dipendono dal tipo di
+filesystem e ciascuno ha i suoi, pertanto si rimanda alla documentazione della
+pagina di manuale di questo comando e dei singoli filesystem.
+
+Dopo l'esecuzione della funzione il contenuto del filesystem viene resto
+disponibile nella directory specificata come \itindex{mount~point}
+\textit{mount point}, il precedente contenuto di detta directory viene
+mascherato dal contenuto della directory radice del filesystem montato. Fino
+ai kernel della serie 2.2.x non era possibile montare un filesystem se un
+\textit{mount point} era già in uso.
+
+A partire dal kernel 2.4.x inoltre è divenuto possibile sia spostare
+atomicamente un \itindex{mount~point} \textit{mount point} da una directory ad
+un'altra, sia montare lo stesso filesystem in diversi \itindex{mount~point}
+\textit{mount point}, sia montare più filesystem sullo stesso
+\itindex{mount~point} \textit{mount point} impilandoli l'uno sull'altro, nel
+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
+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 \func{mount}, 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
+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
+ costante \const{MS\_MGC\_MSK} per ottenere la parte di \param{mountflags}
+ riservata al \textit{magic number}, mentre per specificarlo si può dare un
+ OR aritmetico con la costante \const{MS\_MGC\_VAL}.} e si potevano usare
+solo i 16 meno significativi. Oggi invece, con un numero di opzioni superiore,
+sono utilizzati tutti e 32 i bit, ma qualora nei 16 più significativi sia
+presente detto valore, che non esprime una combinazione valida, esso viene
+ignorato. Il 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}}
+\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,
+ l'opzione è disponibile a partire dai kernel della serie 2.4. In questo caso
+ verranno presi in considerazione solo gli argomenti \param{source}, che
+ stavolta indicherà la directory che si vuole montare e non un file di
+ dispositivo, e \param{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 \textit{pathname}
+ indicato da \param{target} viene montato \itindex{inode} l'\textit{inode}
+ di \param{source}, così che la porzione di albero dei file presente sotto
+ \param{source} diventi visibile allo stesso modo sotto
+ \param{target}. Trattandosi esattamente dei dati dello stesso filesystem,
+ ogni modifica fatta in uno qualunque dei due rami di albero sarà visibile
+ nell'altro, visto che entrambi faranno riferimento agli stessi
+ \textit{inode}.
+
+ Dal punto di vista del \itindex{Virtual~File~System} VFS l'operazione è
+ analoga al montaggio di un filesystem proprio nel fatto che anche in questo
+ caso si inserisce in corrispondenza della \textit{dentry} di \texttt{target}
+ un diverso \itindex{inode} \textit{inode}, che stavolta, invece di essere
+ quello della radice del filesystem indicato da un file di dispositivo, è
+ quello di una directory già montata.
+
+ Si tenga presente che proprio per questo sotto \param{target} comparirà il
+ contenuto che è presente sotto \param{source} all'interno del filesystem in
+ cui quest'ultima è contenuta. Questo potrebbe non corrispondere alla
+ porzione di albero che sta sotto \param{source} qualora in una
+ sottodirectory di quest'ultima si fosse effettuato un altro montaggio. In
+ tal caso infatti nella porzione di albero sotto \param{source} si troverebbe
+ il contenuto del nuovo filesystem (o di un altro \textit{bind mount}) mentre
+ sotto \param{target} ci sarebbe il contenuto presente nel filesystem
+ originale.\footnote{questo evita anche il problema dei \textit{loop} di
+ fig.~\ref{fig:file_link_loop}, dato che se anche si montasse su
+ \param{target} una directory in cui essa è contenuta, il cerchio non
+ potrebbe chiudersi perché ritornati a \param{target} dentro il
+ \textit{bind mount} vi si troverebbe solo il contenuto originale e non si
+ potrebbe tornare indietro.}
+
+ Fino al kernel 2.6.26 questo flag doveva essere usato da solo, in quanto il
+ \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 aggiuntiva del
+ flag \const{MS\_RDONLY}. In questo modo si ottiene che l'accesso ai file
+ sotto \param{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
+ sez.~\ref{sec:link_symlink_rename}) con la possibilità di 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 collegamenti simbolici (di cui parleremo in
+ sez.~\ref{sec:link_symlink_rename}) che funziona correttamente anche
+ all'intero di un \textit{chroot} (argomento su cui torneremo in
+ sez.~\ref{sec:file_chroot}). \itindend{bind~mount}
+
+\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). L'opzione si applica a
+ 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_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
+ perdita di prestazioni dato che le funzioni di scrittura relative ad
+ operazioni sulle directory non saranno più bufferizzate e si bloccheranno
+ fino all'arrivo dei dati sul disco prima che un programma possa proseguire.
+
+\item[\const{MS\_MANDLOCK}] Consente l'uso del \textit{mandatory locking}
+ \itindex{mandatory~locking} (vedi sez.~\ref{sec:file_mand_locking}) sui file
+ del filesystem. Per poterlo utilizzare effettivamente però esso dovrà essere
+ comunque attivato esplicitamente per i singoli file impostando i permessi
+ come illustrato in sez.~\ref{sec:file_mand_locking}.
+
+\item[\const{MS\_MOVE}] Effettua uno del spostamento del \itindex{mount~point}
+ \textit{mount point} di un filesystem. La directory del
+ \itindex{mount~point} \textit{mount point} originale deve essere indicata
+ nell'argomento \param{source}, e la sua nuova posizione
+ nell'argomento \param{target}. Tutti gli altri argomenti della funzione
+ vengono ignorati.
+
+ Lo spostamento avviene atomicamente, ed il ramo di albero presente
+ sotto \param{source} sarà immediatamente visibile sotto \param{target}. Non
+ esiste cioè nessun momento in cui il filesystem non risulti montato in una o
+ nell'altra directory e pertanto è garantito che la risoluzione di
+ \itindsub{pathname}{relativo} \textit{pathname} relativi all'interno del
+ filesystem non possa fallire.
+
+\item[\const{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}
+ è 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
+ della batteria sui portatili.} questa opzione consente di disabilitarla
+ completamente. La soluzione può risultare troppo drastica dato che
+ l'informazione viene comunque utilizzata da alcuni programmi, per cui nello
+ sviluppo del kernel sono state introdotte altre opzioni che forniscono
+ soluzioni più appropriate e meno radicali.
+
+\item[\const{MS\_NODEV}] Viene disabilitato sul filesystem l'accesso ai file
+ di dispositivo eventualmente presenti su di esso. L'opzione viene usata come
+ misura di precauzione per rendere inutile la presenza di eventuali file di
+ dispositivo su filesystem che non dovrebbero contenerne.\footnote{si ricordi
+ che le convenzioni del \itindex{Filesystem~Hierarchy~Standard~(FHS)}
+ \textit{Linux Filesystem Hierarchy Standard} richiedono che questi siano
+ mantenuti esclusivamente sotto \texttt{/dev}.}
+
+ Viene utilizzata, assieme a \const{MS\_NOEXEC} e \const{MS\_NOSUID}, per
+ fornire un accesso più controllato a quei filesystem di cui gli utenti hanno
+ il controllo dei contenuti, in particolar modo quelli posti su dispositivi
+ rimuovibili. In questo modo si evitano alla radice possibili situazioni in
+ cui un utente malizioso inserisce su uno di questi filesystem dei file di
+ dispositivo con permessi ``opportunamente'' ampliati che gli consentirebbero
+ di accedere anche a risorse cui non dovrebbe.
+
+\item[\const{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
+ 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.
+
+\item[\const{MS\_NOEXEC}] Viene disabilitata sul filesystem l'esecuzione di un
+ qualunque file eseguibile eventualmente presente su di esso. L'opzione viene
+ usata come misura di precauzione per rendere impossibile l'uso di programmi
+ posti su filesystem che non dovrebbero contenerne.
+
+ Anche in questo caso viene utilizzata per fornire un accesso più controllato
+ a quei filesystem di cui gli utenti hanno il controllo dei contenuti. Da
+ questo punto di vista l'opzione è meno importante delle analoghe
+ \const{MS\_NODEV} e \const{MS\_NOSUID} in quanto l'esecuzione di un
+ programma creato dall'utente pone un livello di rischio nettamente
+ inferiore, ed è in genere consentita per i file contenuti nella sua home
+ directory.\footnote{cosa che renderebbe superfluo l'attivazione di questa
+ opzione, il cui uso ha senso solo per ambienti molto controllati in cui si
+ vuole che gli utenti eseguano solo i programmi forniti
+ dall'amministratore.}
+
+\item[\const{MS\_NOSUID}] Viene disabilitato sul filesystem l'effetto dei bit
+ dei permessi \itindex{suid~bit} \acr{suid} e \itindex{sgid~bit} \acr{sgid}
+ (vedi sez.~\ref{sec:file_special_perm}) eventualmente presenti sui file in
+ esso contenuti. L'opzione viene usata come misura di precauzione per rendere
+ inefficace l'effetto di questi bit per filesystem in cui non ci dovrebbero
+ essere file dotati di questi permessi.
+
+ Di nuovo viene utilizzata, analogamente a \const{MS\_NOEXEC} e
+ \const{MS\_NODEV}, per fornire un accesso più controllato a quei filesystem
+ di cui gli utenti hanno il controllo dei contenuti. In questo caso si evita
+ che un utente malizioso possa inserire su uno di questi filesystem un
+ eseguibile con il bit \itindex{suid~bit} \acr{suid} attivo e di proprietà
+ dell'amministratore o di un altro utente, che gli consentirebbe di eseguirlo
+ per conto di quest'ultimo.
+
+\item[\const{MS\_PRIVATE}] Marca un \itindex{mount~point} \textit{mount point}
+ come privato. Si tratta di una delle nuove opzioni (insieme a
+ \const{MS\_SHARED}, \const{MS\_SLAVE} e \const{MS\_UNBINDABLE}) facenti
+ parte dell'infrastruttura degli \itindex{shared~subtree} \textit{shared
+ subtree} introdotta a partire dal kernel 2.6.15, che estendono le
+ funzionalità dei \itindex{bind~mount} \textit{bind mount}. In questo caso
+ \param{target} dovrà fare riferimento al \textit{mount point} che si intende
+ marcare, e tutti gli altri argomenti verranno ignorati.
+
+ Di default, finché non lo si marca altrimenti con una delle altre opzioni
+ dell'interfaccia \itindex{shared~subtree} \textit{shared subtree}, ogni
+ \textit{mount point} è privato. Ogni \textit{bind mount} ottenuto da un
+ \itindex{mount~point} \textit{mount point} di tipo \textit{private} si
+ comporta come descritto nella trattazione di \const{MS\_BIND}. Si usa questo
+ flag principalmente per revocare gli effetti delle altre opzioni e riportare
+ il comportamento a quello ordinario.
+
+\item[\const{MS\_RDONLY}] Esegue il montaggio del filesystem in sola lettura,
+ non sarà possibile nessuna modifica ai suoi contenuti. Viene usato tutte le
+ volte che si deve accedere ai contenuti di un filesystem con la certezza che
+ questo non venga modificato (ad esempio per ispezionare un filesystem
+ corrotto). All'avvio di default il kernel monta la radice in questa
+ modalità.
+
+\item[\const{MS\_REC}] Applica ricorsivamente a tutti i \itindex{mount~point}
+ \textit{mount point} presenti al di sotto del \textit{mount point} indicato
+ gli effetti della opzione degli \itindex{shared~subtree} \textit{shared
+ subtree} associata. Anche questo caso l'argomento \param{target} deve fare
+ riferimento ad un \itindex{mount~point} \textit{mount point} e tutti gli
+ altri argomenti sono ignorati, ed il flag deve essere indicato assieme ad
+ una fra \const{MS\_PRIVATE}, \const{MS\_SHARED}, \const{MS\_SLAVE} e
+ \const{MS\_UNBINDABLE}.
+
+\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
+ \textit{change time} (per i tempi dei file si veda
+ sez.~\ref{sec:file_file_times}). L'opzione è disponibile a partire dal
+ kernel 2.6.20, mentre dal 2.6.30 questo è diventato il comportamento di
+ default del sistema, che può essere riportato a quello tradizionale con
+ l'uso di \const{MS\_STRICTATIME}. Sempre dal 2.6.30 il comportamento è stato
+ anche modificato e l'\textit{access time} viene comunque aggiornato se è più
+ vecchio di un giorno.
+
+ L'opzione consente di evitare i problemi di prestazioni relativi
+ all'aggiornamento dell'\textit{access time} senza avere impatti negativi
+ riguardo le funzionalità, il comportamento adottato infatti consente di
+ rendere evidente che vi è stato un accesso dopo la scrittura, ed evitando al
+ contempo ulteriori operazioni su disco negli accessi successivi. In questo
+ modo l'informazione relativa al fatto che un file sia stato letto resta
+ disponibile, ed i programmi che ne fanno uso continuano a funzionare. Con
+ l'introduzione di questo comportamento l'uso delle alternative
+ \const{MS\_NOATIME} e \const{MS\_NODIRATIME} è sostanzialmente inutile.
+
+\item[\const{MS\_REMOUNT}] Consente di rimontare un filesystem già montato
+ cambiandone le opzioni di montaggio in maniera atomica. In questo modo si
+ possono modificare le opzioni del filesystem anche se questo è in uso. Gli
+ argomenti \param{source} e \param{target} devono essere gli stessi usati per
+ il montaggio originale, mentre sia \param{data} che \param{mountflags}
+ conterranno le nuove opzioni, \param{filesystemtype} viene ignorato.
+
+ Qualunque opzione specifica del filesystem indicata con \param{data} può
+ essere modificata, mentre con \param{mountflags} possono essere modificate
+ solo alcune opzioni generiche. Con i kernel più recenti queste sono soltanto
+ \const{MS\_MANDLOCK}, \const{MS\_RDONLY} e \const{MS\_SYNCHRONOUS}, prima
+ del kernel 2.6.16 potevano essere modificate anche le ulteriori
+ \const{MS\_NOATIME} e \const{MS\_NODIRATIME}, ed infine prima del kernel
+ 2.4.10 anche \const{MS\_NODEV}, \const{MS\_NOEXEC} e \const{MS\_NOSUID}.
+
+\item[\const{MS\_SHARED}] Marca un \itindex{mount~point} \textit{mount point}
+ come \textit{shared mount}. Si tratta di una delle nuove opzioni (insieme a
+ \const{MS\_PRIVATE}, \const{MS\_SLAVE} e \const{MS\_UNBINDABLE}) facenti
+ parte dell'infrastruttura degli \itindex{shared~subtree} \textit{shared
+ subtree} introdotta a partire dal kernel 2.6.15, che estendono le
+ funzionalità dei \itindex{bind~mount} \textit{bind mount}. In questo caso
+ \param{target} dovrà fare riferimento al \itindex{mount~point} \textit{mount
+ point} che si intende marcare, e tutti gli altri argomenti verranno
+ ignorati.
+
+ Lo scopo dell'opzione è ottenere che tutti i successivi \itindex{bind~mount}
+ \textit{bind mount} effettuati da un \textit{mount point} marcato da essa
+ siano di tipo \textit{shared}, cioè ``\textsl{condividano}'' con l'originale
+ e fra di loro ogni ulteriore operazione di montaggio o smontaggio che
+ avviene su una directory al di sotto di uno qualunque di essi. Le operazioni
+ di montaggio e smontaggio effettuate al di sotto di un qualunque
+ \textit{mount point} così marcato verranno ``\textsl{propagate}'' a tutti i
+ \itindex{mount~point} \textit{mount point} della stessa condivisione, e la
+ sezione di albero di file vista al di sotto di ciascuno di essi sarà sempre
+ identica.
+
+\item[\const{MS\_SILENT}] Richiede la soppressione di alcuni messaggi di
+ avvertimento nei log del kernel (vedi sez.~\ref{sec:sess_daemon}). L'opzione
+ è presente a partire dal kernel 2.6.17 e sostituisce, utilizzando un nome
+ non fuorviante, la precedente \const{MS\_VERBOSE}, introdotta nel kernel
+ 2.6.12, che aveva lo stesso effetto.
+
+\item[\const{MS\_SLAVE}] Marca un \itindex{mount~point} \textit{mount point}
+ come \textit{slave mount}. Si tratta di una delle nuove opzioni (insieme a
+ \const{MS\_PRIVATE}, \const{MS\_SHARED} e \const{MS\_UNBINDABLE}) facenti
+ parte dell'infrastruttura degli \itindex{shared~subtree} \textit{shared
+ subtree} introdotta a partire dal kernel 2.6.15, che estendono le
+ funzionalità dei \itindex{bind~mount} \textit{bind mount}. In questo caso
+ \param{target} dovrà fare riferimento al \textit{mount point} che si intende
+ marcare, e tutti gli altri argomenti verranno ignorati.
+
+ Lo scopo dell'opzione è ottenere che tutti i successivi \textit{bind mount}
+ effettuati da un \textit{mount point} marcato da essa siano di tipo
+ \textit{slave}, cioè ``\textsl{condividano}'' ogni ulteriore operazione di
+ montaggio o smontaggio che avviene su una directory al di sotto del
+ \textit{mount point} originale. Le operazioni di montaggio e smontaggio in
+ questo caso vengono ``\textsl{propagate}'' soltanto dal \textit{mount point}
+ originale (detto anche \textit{master}) verso gli \textit{slave}, mentre
+ essi potranno eseguire al loro interno ulteriori montaggi che non saranno
+ propagati né negli altri né nel \itindex{mount~point} \textit{mount point}
+ originale.
+
+\item[\const{MS\_STRICTATIME}] Ripristina il comportamento tradizionale per
+ cui l'\textit{access time} viene aggiornato ad ogni accesso al
+ file. L'opzione è disponibile solo a partire dal kernel 2.6.30 quando il
+ comportamento di default del kernel è diventato quello fornito da
+ \const{MS\_RELATIME}.
+
+\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_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
+ prestazioni dato che tutte le funzioni di scrittura non saranno più
+ bufferizzate e si bloccheranno fino all'arrivo dei dati sul disco. Per un
+ compromesso in cui questo comportamento avviene solo per le directory, ed ha
+ quindi una incidenza nettamente minore, si può usare \const{MS\_DIRSYNC}.
+
+\item[\const{MS\_UNBINDABLE}] Marca un \itindex{mount~point} \textit{mount
+ point} come \textit{unbindable mount}. Si tratta di una delle nuove
+ opzioni (insieme a \const{MS\_PRIVATE}, \const{MS\_SHARED} e
+ \const{MS\_SLAVE}) facenti parte dell'infrastruttura degli
+ \itindex{shared~subtree} \textit{shared subtree} introdotta a partire dal
+ kernel 2.6.15, che estendono le funzionalità dei \itindex{bind~mount}
+ \textit{bind mount}. In questo caso
+ \param{target} dovrà fare riferimento al \textit{mount point} che si intende
+ marcare, e tutti gli altri argomenti verranno ignorati.
+
+ Un \textit{mount point} marcato in questo modo disabilita la capacità di
+ eseguire dei \itindex{bind~mount} \textit{bind mount} del suo contenuto. Si
+ comporta cioè come allo stesso modo di un \itindex{mount~point}
+ \textit{mount point} ordinario di tipo \textit{private} con in più la
+ restrizione che nessuna sua sottodirectory (anche se relativa ad un
+ ulteriore montaggio) possa essere utilizzata per un come sorgente di un
+ \itindex{bind~mount} \textit{bind mount}.