From 3c4439aef1a87d3b687c03f6eeadfb0829a5d110 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Crist=C3=B3v=C3=A3o=20Cruz?= Date: Fri, 29 Jan 2010 03:04:46 +0000 Subject: [PATCH] argc and texfile corrected. --- fsck.c | 2 +- fsck.tex | 46 +++++++++++++++++++++++----------------------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/fsck.c b/fsck.c index ae3b44f..8313f5c 100644 --- a/fsck.c +++ b/fsck.c @@ -56,7 +56,7 @@ void main (int argc, char *argv[]) {test_magic, "magic"}, }; - //if (argc != 1) ABORT(-EINVAL); + if (argc != 2) ABORT(-EINVAL); nfuncs = sizeof(test)/sizeof(test_t); disc_path = argv[1]; diff --git a/fsck.tex b/fsck.tex index 12518d4..89c41b2 100644 --- a/fsck.tex +++ b/fsck.tex @@ -54,16 +54,16 @@ ficheiros. O programa faz todos os testes que se encontrem no array testes, cujo conteúdo é o endereço das várias funções que implementam os testes. Estas funções devolvem -um valor do tipo \code{teste\_t}, cuja definição se segue: +um valor do tipo \code{testresult\_t}, cuja definição se segue: \begin{lstlisting} -typedef enum {CORRUPTO, ESQUISITO, PORREIRO} teste_t; +typedef enum {corrupt, weird, nice} testresult_t; \end{lstlisting} -Se o resultado de uma função for \code{CORRUPTO}, a não ser que possa ser +Se o resultado de uma função for \code{corrupt}, a não ser que possa ser corrigido e o utilizador o peça explicitamente, o sistema de ficheiros é considerado corrupto e não são realizados mais testes. Se o resultado for -\code{ESQUISITO}, o utilizador é notificado com uma mensagem e o teste continua. -\code{PORREIRO} indica que está tudo nos conformes. +\code{weird}, o utilizador é notificado com uma mensagem e o teste continua. +\code{nice} indica que está tudo nos conformes. \section{O Superbloco} Todos os nomes de variáveis aqui usados estão documentados no código fonte do @@ -71,34 +71,34 @@ SOFS09. São implementados os seguintes testes para analisar o superbloco: \begin{itemize} - \item \code{teste\_magia}: verifica se estamos a lidar com um sistema de + \item \code{test\_sbmagic}: verifica se estamos a lidar com um sistema de ficheiros do tipo SOFS09 olhando para o número "mágico". \begin{itemize} - \item \code{CORRUPTO}: o número mágico não está correcto. + \item \code{corrupt}: o número mágico não está correcto. \item Solução: não tem. \end{itemize} - \item \code{teste\_zonas}: verifica se as várias zonas do sistema de + \item \code{test\_sbzones}: verifica se as várias zonas do sistema de ficheiros se encontram contíguas, se cabem no disco ou se são pequenas demais. \begin{itemize} - \item \code{CORRUPTO}: as zonas sobrepoem-se, excedem o tamanho do disco + \item \code{corrupt}: as zonas sobrepoem-se, excedem o tamanho do disco ou são pequenas demais. - \item \code{ESQUISITO}: as zonas não estão contíguas. + \item \code{weird}: as zonas não estão contíguas. \item Solução: não tem. \end{itemize} - \item \code{teste\_nosilivres}: verifica se \code{ifree} corresponde ao + \item \code{test\_sbfreeinodes}: verifica se \code{ifree} corresponde ao número de nós-i que estão livres, percorrendo a lista de nós-i livres desde \code{ihead} até \code{itail}. \begin{itemize} - \item \code{CORRUPTO}: \code{ifree} está incorrecto. + \item \code{corrupt}: \code{ifree} está incorrecto. \item Solução: alterar o valor de \code{ifree} para concordar com a quantidade de nós-i que estão na lista biligada. \end{itemize} - \item \code{teste\_clusterslivres}: verifica se \code{dzone\_free} + \item \code{test\_sbfreeclusters}: verifica se \code{dzone\_free} corresponde ao número de posições ocupadas na FCT mais os \code{cache\_cnt} das \emph{caches}. \begin{itemize} - \item \code{CORRUPTO}: não corresponde + \item \code{corrupt}: não corresponde \item Solução: alterar \code{dzone\_free} para corresponder ao número de posições ocupadas na FCT mais os \code{cache\_cnt} das \emph{caches}. \end{itemize} @@ -109,10 +109,10 @@ São implementados os seguintes testes para analisar o superbloco: Um cluster pode estar a ser utilizado por um ficheiro ou estar livre. \begin{itemize} - \item \code{teste\_clusterloc}: analisa onde estão referenciados os + \item \code{test\_clusterloc}: analisa onde estão referenciados os clusters. \begin{itemize} - \item \code{CORRUPTO}: um \emph{cluster} está associado a mais do que um + \item \code{corrupt}: um \emph{cluster} está associado a mais do que um nó-i, está referenciado mais do que uma vez na FCT ou está simultaneamente referenciado na FCT e associado a um ou mais nós-i. \item Solução: se um \emph{cluster} estiver associado a mais do que um @@ -130,25 +130,25 @@ Os nós-i podem estar livres ou conter informação relativa a um ficheiro, um \emph{link} ou uma pasta. \begin{itemize} - \item \code{teste\_noilivres}: verificar se todos os nós-i na lista de nós-i + \item \code{test\_infree}: verificar se todos os nós-i na lista de nós-i livres estão marcados como livres. \begin{itemize} - \item \code{CORRUPTO}: há um nó-i, ou mais na lista de nós-i livres que + \item \code{corrupt}: há um nó-i, ou mais na lista de nós-i livres que não está devidamente marcado. Solução: marcar o nó-i como livre. \end{itemize} - \item \code{teste\_noiorfaos}: tenta encontrar nós-i orfãos, ou seja, que + \item \code{teste\_inorphan}: tenta encontrar nós-i orfãos, ou seja, que têm o \code{refcount} igual a zero e não estão livres. \begin{itemize} - \item \code{CORRUPTO}: foram encontrados um nó-i ou mais orfãos. + \item \code{corrupt}: foram encontrados um nó-i ou mais orfãos. \item Solução: Se não forem referenciados em nenhuma pasta adicionar estes nós-i à lista de nós-i livres. Se forem encontrados, alterar o \code{refcount} de acordo. \end{itemize} - \item \code{teste\_noiinfo}: verifica se a informação do nó-i é consistente. + \item \code{teste\_ininfo}: verifica se a informação do nó-i é consistente. \begin{itemize} - \item \code{CORRUPTO}: informação inconsistente. - \item \code{ESQUISITO}: sei lá. + \item \code{corrupt}: informação inconsistente. + \item \code{weird}: sei lá. \item Solução: não tem. \end{itemize} \end{itemize} -- 2.11.4.GIT