mtd/Documentation/jffs3 JFFS3design.tex,1.12,1.13
Artem Bityuckiy
dedekind at infradead.org
Thu Aug 11 07:34:29 EDT 2005
Update of /home/cvs/mtd/Documentation/jffs3
In directory phoenix.infradead.org:/tmp/cvs-serv20788
Modified Files:
JFFS3design.tex
Log Message:
Finish unexplained entries in the "definitions" section.
Index: JFFS3design.tex
===================================================================
RCS file: /home/cvs/mtd/Documentation/jffs3/JFFS3design.tex,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- JFFS3design.tex 11 Aug 2005 10:52:11 -0000 1.12
+++ JFFS3design.tex 11 Aug 2005 11:34:25 -0000 1.13
@@ -257,6 +257,8 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Tree design} \label{ref_SectionTree}
This section contains the design of the $B^+$-tree of the JFFS3 file system.
+Many things here were borrowed from the Reiser4 file system
+[\ref{ref_Reiser4}].
% BASICS
\subsection{Basics}
@@ -739,7 +741,8 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Definitions}\label{ref_SectDefinitions}
\begin{enumerate}
-\item \textbf{ACL} --
+\item \textbf{ACL} -- a modern mechanism to control accesses to files, see
+[\ref{ref_ACL}] for more details.
\item \textbf{Anchor erasable blocks, anchor area}
-- two \emph{good} erasable blocks at the beginning of the JFFS3 partition
@@ -751,7 +754,9 @@
\item \textbf{Branch node} -- any node that is not leaf, not twig and not root
is called branch node.
-\item \textbf{Directory entry} --
+\item \textbf{Directory entry} -- basically associates a
+name with an inode number. Directories may be considered as a list of directory
+entries.
\item \textbf{Erasable block, eraseblock} -- the minimal erasable unit of the
flash chip.
@@ -772,16 +777,23 @@
non-leaf node is a formatted node and only leaf nodes don't have to be
formatted nodes. Formatted nodes take one sector.
-\item \textbf{Garbage Collector, GC} --
-
-\item \textbf{Journal} --
-
-\item \textbf{Key} --
+\item \textbf{Garbage Collector, GC} -- a part of any Flash File System which
+is responsible for recycling dirty space and producing free eraseblocks. Glance
+at [\ref{ref_JFFSdwmw2}] for general explanation of function of GC.
+
+\item \textbf{Journal} -- contains all the recent JFFS3 changes. Its purpose is
+to accumulate a bunch of JFFS3 file system changes and then commit these
+changes at once (the committing may require tree re-balancing and other changes). The
+only purpose of the journal is optimization (it will have more
+functions if we ever decide to add transactions support to JFFS3).
\item \textbf{Leaf node} -- any node from the leaf level of the tree (level 0).
Leaf nodes contain only data and do not further refer other nodes.
-\item \textbf{Map} --
+\item \textbf{Map} -- the map contains information about all flash sectors
+(dirty/free/used) and eraseblocks (erase count, good/bad). We do not store the
+map in the tree because it is changes very often. Instead, the map is stored in
+a distinct dedicated $B^+$-tree.
\item \textbf{Node} -- the pile of the tree. The tree consists of nodes. The
root of the tree is the \textbf{root node}, the leafs of the tree are
@@ -800,7 +812,9 @@
partition where the per-file system static data is stored. JFFS3 may only read
it and it is created by external formatting tools.
-\item \textbf{Stat-data} --
+\item \textbf{Stat-data} -- we keep file's (directory's, etc) data and
+metadata separately. Stat-data contains file's attributes, access permissions,
+etc. Stat-data objects are stored in the tree and have their own key type.
\item \textbf{Superblock, SB} -- special structure which describes the whole
JFFS3 file system. The dynamic part of the superblock may reside
@@ -823,7 +837,8 @@
\item \textbf{Used sector, used block} -- block or sector which contains valid data.
-\item \textbf{Xattr} --
+\item \textbf{xattr} -- extended attributes, associate name/value pairs with
+files and directories, see attr(5) Linux manual pages for more information.
\end{enumerate}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -895,5 +910,8 @@
Reiser4 File System, \url{http://www.namesys.com/}
\end{enumerate}
+\item \raggedright \label{ref_ACL}
+\url{http://www.suse.de/~agruen/acl/linux-acls/}
+
\end{document}
More information about the linux-mtd-cvs
mailing list