UBIFS Source File List (And)Glossary

本文详细阐述了UBIFS文件系统中各组件的功能与作用,包括预算管理、模块初始化与卸载、提交管理、压缩管理、调试与自我检查、目录与文件操作等,同时介绍了关键概念如节点、头节点、预算、擦除块、垃圾收集等,并讨论了UBIFS的Glossary部分定义的重要术语。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文见:http://www.linux-mtd.infradead.org/doc/ubifs_whitepaper.pdf

UBIFS Source File List
budget.c  
           budgeting
build.c                module initialization, mounting and unmounting
commit.c            commit management
compress.c        compression management
debug.c              debugging self-checks
debug.h              debugging self-checks header
dir.c                    directory operations
file.c                    file operations
find.c                  find eraseblocks for various purposes e.g. G.C.
gc.c                     garbage collection
io.c                      node I/O
ioctl.c                  EXT2 compatible extended attribute ioctls
journal.c              journal updates
key.h                   index key related functions
log.c                    log
lprops.c               LEB properties
lpt.c                     LEB properties tree (LPT)
lpt_commit.c      LPT commit
master.c             master node
misc.h                 shared inline functions
orphan.c             orphans
recovery.c          recovery
replay.c               replay
sb.c                     default file system creation and super block node
scan.c                 general purpose eraseblock scanner (e.g. used by G.C.)
shrinker.c           memory shrinker for TNC
super.c                super operations
tnc.c                    tree node cache (TNC)
tnc_commit.c     TNC commit
ubifs.h                internal definitions
ubifs-media.h     on-flash structures and definitions
xattr.c                 extended attributes

UBIFS Glossary
B+tree
                                                   Kind of tree used for UBIFS wandering tree.
base head                                             Journal head used for non-data nodes. The base head provides the integrity and recoverability of UBIFS by keeping all inode nodes and directory entry nodes in sequence.
budgeting                                            Estimation of free space.
bud                                                       An eraseblock used by the journal.
cnode                                                   Either a pnode or an nnode.
commit                                                 Process by which the index is updated.
commit start node                              Node written to the log when a commit starts.
common header                                 Common header of all node types except nodes in the LPT area.
data head                                            Journal head used for data nodes. Potentially UBIFS could have more than one data head which would assist in keeping data nodes for each file grouped together rather than interspersed. However presently there is only one data head.
directory entry node                          A node that contains a directory entry.
dirty space                                          Space taken up on flash by obsolete nodes, padding nodes and padding bytes.
eraseblock                                          The smallest unit of flash memory that can be individually erased.
extended attribute entry node          A node that contains the name and inode number of an extended attribute (same structure as a directory entry).
freeable LEB                                       A LEB in the main area that contains only free space and dirty space.
free space                                           Space on flash that can be written to.
garbage collection                             The process of reclaiming dirty space to make free space.
garbage collection head                    Journal head used by the garbage collector. In order to move and reindex nodes, the garbage collector just feeds them back through the journal.
garbage collection                              LEB number LEB reserved for garbage collection (must always be one LEB reserved), also known as gc_lnum.
index                                                    The top part of the UBIFS wandering tree consisting of index nodes.
index LEB                                            A LEB that contains (only) index nodes.
index node                                           A node that forms the structure of the index. It contains the keys and on-flash positions of its child nodes.
inode                                                    A file system object. In UBIFS, an inode may be a regular file, a directory, a symbolic link, a special file, or an extended
attribute (xattr) value holder.
inode node                                           A node that holds the metadata for an inode. Every inode has exactly one (non-obsolete) inode node.
in-the-gaps method                             When the file system becomes full, the index cannot grow in size and consequently must be updated in-place. This is done by writing index nodes in-the-gaps created by obsolete index nodes.
JFFS2                                                  Journaling Flash File System 2 which is the quintessential linux flash file system, however it is not scalable and the present limit of its usage is 1 GiB.
journal                                                 The journal is like a miniature JFFS2 file system, storing nodes without an on-flash index, so that index updates can be grouped altogether. Like JFFS2 the journal must be scanned at mount time.
journal head                                        The position on-flash where the next node will be written. UBIFS adopts a multiheaded journal with two main heads: the base head and the data head.
key                                                       The key to the index. The index stores the position of all nodes, and their keys. A node may be found by looking up its key in the index. The key is a 64-bit value whose first 32 bits are the inode number. The next 3 bits are node type, and the remaining 29 bits vary depending on node type. UBIFS also supports the possibility of changing the key format and allows for up to 128-bits for the key.
LEB                                                      Logical eraseblock that is mapped to a physical eraseblock (PEB) by UBI.
LEB properties                                    Main area LEBs have three important values that are recorded about them. These LEB properties are: amount of free space, amount of dirty space, and whether the LEB contains index nodes.
LNC                                                      Leaf node cache used to store directory entries and extended attribute entries
log                                                        The part of the journal that records where the buds are.
LPT                                                       LEB properties tree, a wandering tree used to store LEB properties.
main area                                             LEBs that are used for data and the index.
master node                                        The node that contains the positions of on-flash structures.
minimal I/O unit                                   The smallest unit of flash memory that can be individually written.
mkfs.ubifs                                            The userspace program that creates UBIFS images.
MTD                                                      Memory Technology Device. A linux device layer for flash memories.
node                                                     The logical component of node-structured flash file systems like JFFS2 and UBIFS.
nnode                                                   Internal node of the LPT.
orphan area                                         Area for storing the inode numbers of deleted by still open inodes, needed for recovery from unclean unmounts.
orphan node                                        The node used to store orphan information.
padding bytes                                      Bytes written when the space to pad is too small for a padding node.
padding node                                       A node written to fill space, usually to the edge of a minimal I/O unit.
PEB                                                      Physical eraseblock that is mapped to a logical eraseblock (LEB) by UBI.
pnode                                                   Leaf node of the LPT which contains the actual LEB property values.
recovery                                               The functions by which UBIFS repairs itself after an unclean unmount.
replay                                                   The process by which UBIFS reindexes the nodes in the journal when the file system is mounted.
reference node                                     Log nodes that store the LEB numbers of buds and their offset.
shrinker                                                 A linux facility the requests that some memory be freed if possible. UBIFS has a shrinker that frees clean znodes from the TNC.
superblock node                                  The node that records file system parameters that almost never change.
TNC                                                       Tree Node Cache, UBIFS index in memory.
truncation node                                    A node that records when a file is truncated and becomes smaller.
UBI                                                         Unsorted Block Images module that provides wear-leveling, bad-block handling, and the creation of logical volumes mapping logical eraseblocks to physical eraseblocks.
UBIFS                                                     UBI File System.
unclean unmount                                  When the file system does not have a chance to write all cached data and metadata, for example because of a loss of power.
wandering tree                                       A tree that moves in a way to allow out-of-place updates.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值