docs: filesystems: convert nilfs2.txt to ReST
- Add a SPDX header; - Add a document title; - Adjust document title; - Mark literal blocks as such; - use :field: markup; - Add table markups; - Add it to filesystems/index.rst. Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Link: https://lore.kernel.org/r/f7989ca501585f5990fffd2d365cfca4fe9fdd6f.1581955849.git.mchehab+huawei@kernel.org Signed-off-by: Jonathan Corbet <corbet@lwn.net>
This commit is contained in:
parent
76f216855b
commit
2640c19dca
|
@ -70,9 +70,10 @@ Documentation for filesystem implementations.
|
||||||
hfs
|
hfs
|
||||||
hfsplus
|
hfsplus
|
||||||
hpfs
|
hpfs
|
||||||
|
fuse
|
||||||
inotify
|
inotify
|
||||||
isofs
|
isofs
|
||||||
fuse
|
nilfs2
|
||||||
overlayfs
|
overlayfs
|
||||||
virtiofs
|
virtiofs
|
||||||
vfat
|
vfat
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
|
.. SPDX-License-Identifier: GPL-2.0
|
||||||
|
|
||||||
|
======
|
||||||
NILFS2
|
NILFS2
|
||||||
------
|
======
|
||||||
|
|
||||||
NILFS2 is a log-structured file system (LFS) supporting continuous
|
NILFS2 is a log-structured file system (LFS) supporting continuous
|
||||||
snapshotting. In addition to versioning capability of the entire file
|
snapshotting. In addition to versioning capability of the entire file
|
||||||
|
@ -25,9 +28,9 @@ available from the following download page. At least "mkfs.nilfs2",
|
||||||
cleaner or garbage collector) are required. Details on the tools are
|
cleaner or garbage collector) are required. Details on the tools are
|
||||||
described in the man pages included in the package.
|
described in the man pages included in the package.
|
||||||
|
|
||||||
Project web page: https://nilfs.sourceforge.io/
|
:Project web page: https://nilfs.sourceforge.io/
|
||||||
Download page: https://nilfs.sourceforge.io/en/download.html
|
:Download page: https://nilfs.sourceforge.io/en/download.html
|
||||||
List info: http://vger.kernel.org/vger-lists.html#linux-nilfs
|
:List info: http://vger.kernel.org/vger-lists.html#linux-nilfs
|
||||||
|
|
||||||
Caveats
|
Caveats
|
||||||
=======
|
=======
|
||||||
|
@ -47,6 +50,7 @@ Mount options
|
||||||
NILFS2 supports the following mount options:
|
NILFS2 supports the following mount options:
|
||||||
(*) == default
|
(*) == default
|
||||||
|
|
||||||
|
======================= =======================================================
|
||||||
barrier(*) This enables/disables the use of write barriers. This
|
barrier(*) This enables/disables the use of write barriers. This
|
||||||
nobarrier requires an IO stack which can support barriers, and
|
nobarrier requires an IO stack which can support barriers, and
|
||||||
if nilfs gets an error on a barrier write, it will
|
if nilfs gets an error on a barrier write, it will
|
||||||
|
@ -79,6 +83,7 @@ discard This enables/disables the use of discard/TRIM commands.
|
||||||
nodiscard(*) The discard/TRIM commands are sent to the underlying
|
nodiscard(*) The discard/TRIM commands are sent to the underlying
|
||||||
block device when blocks are freed. This is useful
|
block device when blocks are freed. This is useful
|
||||||
for SSD devices and sparse/thinly-provisioned LUNs.
|
for SSD devices and sparse/thinly-provisioned LUNs.
|
||||||
|
======================= =======================================================
|
||||||
|
|
||||||
Ioctls
|
Ioctls
|
||||||
======
|
======
|
||||||
|
@ -87,9 +92,11 @@ There is some NILFS2 specific functionality which can be accessed by application
|
||||||
through the system call interfaces. The list of all NILFS2 specific ioctls are
|
through the system call interfaces. The list of all NILFS2 specific ioctls are
|
||||||
shown in the table below.
|
shown in the table below.
|
||||||
|
|
||||||
Table of NILFS2 specific ioctls
|
Table of NILFS2 specific ioctls:
|
||||||
..............................................................................
|
|
||||||
|
============================== ===============================================
|
||||||
Ioctl Description
|
Ioctl Description
|
||||||
|
============================== ===============================================
|
||||||
NILFS_IOCTL_CHANGE_CPMODE Change mode of given checkpoint between
|
NILFS_IOCTL_CHANGE_CPMODE Change mode of given checkpoint between
|
||||||
checkpoint and snapshot state. This ioctl is
|
checkpoint and snapshot state. This ioctl is
|
||||||
used in chcp and mkcp utilities.
|
used in chcp and mkcp utilities.
|
||||||
|
@ -142,11 +149,12 @@ Table of NILFS2 specific ioctls
|
||||||
NILFS_IOCTL_SET_ALLOC_RANGE Define lower limit of segments in bytes and
|
NILFS_IOCTL_SET_ALLOC_RANGE Define lower limit of segments in bytes and
|
||||||
upper limit of segments in bytes. This ioctl
|
upper limit of segments in bytes. This ioctl
|
||||||
is used by nilfs_resize utility.
|
is used by nilfs_resize utility.
|
||||||
|
============================== ===============================================
|
||||||
|
|
||||||
NILFS2 usage
|
NILFS2 usage
|
||||||
============
|
============
|
||||||
|
|
||||||
To use nilfs2 as a local file system, simply:
|
To use nilfs2 as a local file system, simply::
|
||||||
|
|
||||||
# mkfs -t nilfs2 /dev/block_device
|
# mkfs -t nilfs2 /dev/block_device
|
||||||
# mount -t nilfs2 /dev/block_device /dir
|
# mount -t nilfs2 /dev/block_device /dir
|
||||||
|
@ -157,18 +165,20 @@ This will also invoke the cleaner through the mount helper program
|
||||||
Checkpoints and snapshots are managed by the following commands.
|
Checkpoints and snapshots are managed by the following commands.
|
||||||
Their manpages are included in the nilfs-utils package above.
|
Their manpages are included in the nilfs-utils package above.
|
||||||
|
|
||||||
|
==== ===========================================================
|
||||||
lscp list checkpoints or snapshots.
|
lscp list checkpoints or snapshots.
|
||||||
mkcp make a checkpoint or a snapshot.
|
mkcp make a checkpoint or a snapshot.
|
||||||
chcp change an existing checkpoint to a snapshot or vice versa.
|
chcp change an existing checkpoint to a snapshot or vice versa.
|
||||||
rmcp invalidate specified checkpoint(s).
|
rmcp invalidate specified checkpoint(s).
|
||||||
|
==== ===========================================================
|
||||||
|
|
||||||
To mount a snapshot,
|
To mount a snapshot::
|
||||||
|
|
||||||
# mount -t nilfs2 -r -o cp=<cno> /dev/block_device /snap_dir
|
# mount -t nilfs2 -r -o cp=<cno> /dev/block_device /snap_dir
|
||||||
|
|
||||||
where <cno> is the checkpoint number of the snapshot.
|
where <cno> is the checkpoint number of the snapshot.
|
||||||
|
|
||||||
To unmount the NILFS2 mount point or snapshot, simply:
|
To unmount the NILFS2 mount point or snapshot, simply::
|
||||||
|
|
||||||
# umount /dir
|
# umount /dir
|
||||||
|
|
||||||
|
@ -181,7 +191,7 @@ Disk format
|
||||||
A nilfs2 volume is equally divided into a number of segments except
|
A nilfs2 volume is equally divided into a number of segments except
|
||||||
for the super block (SB) and segment #0. A segment is the container
|
for the super block (SB) and segment #0. A segment is the container
|
||||||
of logs. Each log is composed of summary information blocks, payload
|
of logs. Each log is composed of summary information blocks, payload
|
||||||
blocks, and an optional super root block (SR):
|
blocks, and an optional super root block (SR)::
|
||||||
|
|
||||||
______________________________________________________
|
______________________________________________________
|
||||||
| |SB| | Segment | Segment | Segment | ... | Segment | |
|
| |SB| | Segment | Segment | Segment | ... | Segment | |
|
||||||
|
@ -200,7 +210,7 @@ blocks, and an optional super root block (SR):
|
||||||
|_blocks__|_________________|__|
|
|_blocks__|_________________|__|
|
||||||
|
|
||||||
The payload blocks are organized per file, and each file consists of
|
The payload blocks are organized per file, and each file consists of
|
||||||
data blocks and B-tree node blocks:
|
data blocks and B-tree node blocks::
|
||||||
|
|
||||||
|<--- File-A --->|<--- File-B --->|
|
|<--- File-A --->|<--- File-B --->|
|
||||||
_______________________________________________________________
|
_______________________________________________________________
|
||||||
|
@ -213,7 +223,7 @@ files without data blocks or B-tree node blocks.
|
||||||
|
|
||||||
The organization of the blocks is recorded in the summary information
|
The organization of the blocks is recorded in the summary information
|
||||||
blocks, which contains a header structure (nilfs_segment_summary), per
|
blocks, which contains a header structure (nilfs_segment_summary), per
|
||||||
file structures (nilfs_finfo), and per block structures (nilfs_binfo):
|
file structures (nilfs_finfo), and per block structures (nilfs_binfo)::
|
||||||
|
|
||||||
_________________________________________________________________________
|
_________________________________________________________________________
|
||||||
| Summary | finfo | binfo | ... | binfo | finfo | binfo | ... | binfo |...
|
| Summary | finfo | binfo | ... | binfo | finfo | binfo | ... | binfo |...
|
||||||
|
@ -223,7 +233,7 @@ file structures (nilfs_finfo), and per block structures (nilfs_binfo):
|
||||||
The logs include regular files, directory files, symbolic link files
|
The logs include regular files, directory files, symbolic link files
|
||||||
and several meta data files. The mata data files are the files used
|
and several meta data files. The mata data files are the files used
|
||||||
to maintain file system meta data. The current version of NILFS2 uses
|
to maintain file system meta data. The current version of NILFS2 uses
|
||||||
the following meta data files:
|
the following meta data files::
|
||||||
|
|
||||||
1) Inode file (ifile) -- Stores on-disk inodes
|
1) Inode file (ifile) -- Stores on-disk inodes
|
||||||
2) Checkpoint file (cpfile) -- Stores checkpoints
|
2) Checkpoint file (cpfile) -- Stores checkpoints
|
||||||
|
@ -232,7 +242,7 @@ the following meta data files:
|
||||||
(DAT) block numbers. This file serves to
|
(DAT) block numbers. This file serves to
|
||||||
make on-disk blocks relocatable.
|
make on-disk blocks relocatable.
|
||||||
|
|
||||||
The following figure shows a typical organization of the logs:
|
The following figure shows a typical organization of the logs::
|
||||||
|
|
||||||
_________________________________________________________________________
|
_________________________________________________________________________
|
||||||
| Summary | regular file | file | ... | ifile | cpfile | sufile | DAT |SR|
|
| Summary | regular file | file | ... | ifile | cpfile | sufile | DAT |SR|
|
||||||
|
@ -250,7 +260,7 @@ three special inodes, inodes for the DAT, cpfile, and sufile. Inodes
|
||||||
of regular files, directories, symlinks and other special files, are
|
of regular files, directories, symlinks and other special files, are
|
||||||
included in the ifile. The inode of ifile itself is included in the
|
included in the ifile. The inode of ifile itself is included in the
|
||||||
corresponding checkpoint entry in the cpfile. Thus, the hierarchy
|
corresponding checkpoint entry in the cpfile. Thus, the hierarchy
|
||||||
among NILFS2 files can be depicted as follows:
|
among NILFS2 files can be depicted as follows::
|
||||||
|
|
||||||
Super block (SB)
|
Super block (SB)
|
||||||
|
|
|
|
Loading…
Reference in New Issue