Aggiunta mount
authorSimone Piccardi <piccardi@gnulinux.it>
Wed, 9 Jan 2002 00:34:40 +0000 (00:34 +0000)
committerSimone Piccardi <piccardi@gnulinux.it>
Wed, 9 Jan 2002 00:34:40 +0000 (00:34 +0000)
system.tex

index 691edbde5eac62625b6c8b7996fd8612b08de46c..55d09eec1d56e3b8dd85c93cfb782d35ceab8751 100644 (file)
@@ -621,6 +621,46 @@ del kernel, nella directory \file{Documentation/sysctl}.
 \subsection{La configurazione dei filesystem}
 \label{sec:sys_file_config}
 
+Come accennato in \secref{sec:file_organization} per poter accedere ai file
+occorre prima rendere disponibile al sistema il filesystem su cui essi sono
+memorizzati; l'operazione di attivazione del filesystem è chiamata
+\textsl{montaggio}, per far questo si usa la funzione \func{mount} il cui
+prototipo è:
+\begin{prototype}{sys/mount.h}
+{mount(const char *source, const char *target, const char *filesystemtype, 
+  unsigned long mountflags, const void *data)}
+
+Monta il filesystem di tipo \param{filesystemtype} contenuto in \param{source}
+sulla directory \param{target}.
+  
+  \bodydesc{La funzione ritorna 0 in caso di successo e -1 in caso di
+  fallimento, nel qual caso \var{errno} viene settata a:
+  \begin{errlist}
+  \item[\macro{EPERM}] il processo non ha i provilegi di amministratore.
+  \item[\macro{ENODEV}] \param{filesystemtype} non esiste o non è configurato
+    nel kernel.
+  \item[\macro{ENOTBLK}] non si è usato un \textit{block device} per
+    \param{source} quando era richiesto.
+  \item[\macro{EBUSY}] \param{source} è già montato, o non può essere
+    rimontato in read-only perché ci sono ancora file aperti in scrittura, o
+    \param{target} è ancora in uso.
+  \item[\macro{EINVAL}] il device \param{source} presenta un
+    \textit{superblock} non valido, o si è cercato di rimontare un filesystem
+    non ancora montato, o di montarlo senza che \param{target} sia un
+    \type{mount point} o di spostarlo quando \param{target} non è un
+    \type{mount point} o è \file{/}.
+  \item[\macro{EACCES}] non si ha il permesso di accesso su uno dei componenti
+  del pathname, o si è cercato di montare un filesystem disponibile in sola
+  lettura senza averlo specificato o il device \param{source} è su un
+  filesystem montato con l'opzione \macro{MS\_NODEV}.
+  \item[\macro{ENXIO}] il \textit{major number} del device \param{source} è
+    sbagliato.
+  \item[\macro{EMFILE}] la tabella dei device \textit{dummy} è piena.
+  \end{errlist}
+  ed inoltre \macro{ENOTDIR}, \macro{EFAULT}, \macro{ENOMEM},
+  \macro{ENAMETOOLONG}, \macro{ENOENT} o \macro{ELOOP}.}
+\end{prototype}
+
 
 
 
@@ -628,6 +668,10 @@ del kernel, nella directory \file{Documentation/sysctl}.
 \label{sec:sys_file_stafs}
 
 
+\subsection{La gestione di utenti e gruppi}
+\label{sec:sys_user_group}
+
+
 
 \section{Limitazione ed uso delle risorse}
 \label{sec:sys_res_limits}
@@ -912,9 +956,6 @@ o la macro (\texttt{\small 15--17}) associate a quel codice.
 \end{figure}
 
 
-\section{La gestione di utenti e gruppi}
-\label{sec:sys_user_group}
-
 
 %%% Local Variables: 
 %%% mode: latex