Lines Matching +full:segment +full:- +full:1 +full:a

1 .. SPDX-License-Identifier: GPL-2.0
7 NILFS2 is a log-structured file system (LFS) supporting continuous
10 destroyed just a few seconds ago. Since NILFS2 can keep consistency
14 NILFS2 creates a number of checkpoints every few seconds or per
21 full. Each snapshot is mountable as a read-only file system
25 The userland tools are included in nilfs-utils package, which is
33 :List info: http://vger.kernel.org/vger-lists.html#linux-nilfs
40 - atime
41 - extended attributes
42 - POSIX ACLs
43 - quotas
44 - fsck
45 - defragmentation
56 if nilfs gets an error on a barrier write, it will
57 disable again with a warning.
58 errors=continue Keep going on a filesystem error.
59 errors=remount-ro(*) Remount the filesystem read-only on an error.
61 cp=n Specify the checkpoint-number of the snapshot to be
64 are mountable with this option. Snapshot is read-only,
65 so a read-only mount option must be specified together.
67 blocks to be written to disk without making a
73 order=strict Apply strict in-order semantics that preserves sequence
77 system after a crash.
80 read-only mounts or snapshots. This option will fail
85 for SSD devices and sparse/thinly-provisioned LUNs.
115 NILFS_IOCTL_GET_SUINFO Return segment usage info about requested
120 NILFS_IOCTL_SET_SUINFO Modify segment usage info of requested
125 due to redundant move of in-use blocks.
127 NILFS_IOCTL_GET_SUSTAT Return segment usage statistics. This ioctl
143 NILFS_IOCTL_SYNC Make a checkpoint. This ioctl is used in
157 To use nilfs2 as a local file system, simply::
159 # mkfs -t nilfs2 /dev/block_device
160 # mount -t nilfs2 /dev/block_device /dir
166 Their manpages are included in the nilfs-utils package above.
170 mkcp make a checkpoint or a snapshot.
171 chcp change an existing checkpoint to a snapshot or vice versa.
175 To mount a snapshot::
177 # mount -t nilfs2 -r -o cp=<cno> /dev/block_device /snap_dir
191 A nilfs2 volume is equally divided into a number of segments except
192 for the super block (SB) and segment #0. A segment is the container
197 | |SB| | Segment | Segment | Segment | ... | Segment | |
199 0 +1K +4K +8M +16M +24M +(8MB x N)
200 . . (Typical offsets for 4KB-block)
213 data blocks and B-tree node blocks::
215 |<--- File-A --->|<--- File-B --->|
217 | Data blocks | B-tree blocks | Data blocks | B-tree blocks | ...
222 files without data blocks or B-tree node blocks.
225 blocks, which contains a header structure (nilfs_segment_summary), per
230 |_blocks__|___A___|_(A,1)_|_____|(A,Na)_|___B___|_(B,1)_|_____|(B,Nb)_|___
238 1) Inode file (ifile) -- Stores on-disk inodes
239 2) Checkpoint file (cpfile) -- Stores checkpoints
240 3) Segment usage file (sufile) -- Stores allocation state of segments
241 4) Data address translation file -- Maps virtual block numbers to usual
243 make on-disk blocks relocatable.
245 The following figure shows a typical organization of the logs::
252 To stride over segment boundaries, this sequence of files may be split
254 logically one log, is delimited with flags marked in the segment
269 |-- DAT
270 |-- sufile
271 `-- cpfile
272 |-- ifile (cno=c1)
273 |-- ifile (cno=c2) ---- file (ino=i1)
274 : : |-- file (ino=i2)
275 `-- ifile (cno=xx) |-- file (ino=i3)
277 `-- file (ino=yy)