mirror of
https://github.com/kdave/btrfs-progs
synced 2025-02-17 18:26:55 +00:00
btrfs-progs: docs: update Gloassary
Bring up to date, reformat, remove some wiki references. Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
02b06b3e8d
commit
3b0fe46c08
@ -14,7 +14,7 @@ allocator
|
|||||||
|
|
||||||
balance
|
balance
|
||||||
An operation that can be done to a btrfs filesystem, for example
|
An operation that can be done to a btrfs filesystem, for example
|
||||||
through <code>btrfs fi balance /path</code> (see *btrfs-progs*). A
|
through ``btrfs fi balance /path``. A
|
||||||
balance passes all data in the filesystem through the *allocator*
|
balance passes all data in the filesystem through the *allocator*
|
||||||
again. It is primarily intended to rebalance the data in the filesystem
|
again. It is primarily intended to rebalance the data in the filesystem
|
||||||
across the *devices* when a device is added or removed. A balance
|
across the *devices* when a device is added or removed. A balance
|
||||||
@ -43,22 +43,21 @@ B-tree
|
|||||||
*superblocks*, all of btrfs *metadata* is stored in one of several
|
*superblocks*, all of btrfs *metadata* is stored in one of several
|
||||||
B-trees on disk. B-trees store key/item pairs. While the same code is
|
B-trees on disk. B-trees store key/item pairs. While the same code is
|
||||||
used to implement all of the B-trees, there are a few different
|
used to implement all of the B-trees, there are a few different
|
||||||
categories of B-tree. For reference, see [[Btrees]]. The name "btrfs"
|
categories of B-tree. The name *btrfs*
|
||||||
refers to its use of B-trees.
|
refers to its use of B-trees.
|
||||||
|
|
||||||
btrfsck
|
btrfsck
|
||||||
Tool in *btrfs-progs* that checks a filesystem *offline* (ie.
|
Tool in *btrfs-progs* that checks a filesystem *offline* (ie.
|
||||||
unmounted), and reports on any errors in the filesystem structures it
|
unmounted), and reports on any errors in the filesystem structures it
|
||||||
finds. Does not ([[FAQ#When_will_Btrfs_have_a_fsck_like_tool.3F|yet]])
|
finds. By default the tool runs in read-only mode as fixing errors is
|
||||||
fix errors by default. Recently it got support to fix certain types of
|
potentially dangerous. See also *scrub*.
|
||||||
corruption. See also *scrub*.
|
|
||||||
|
|
||||||
btrfs-progs
|
btrfs-progs
|
||||||
User mode tools to manage btrfs-specific features. Maintained at
|
User mode tools to manage btrfs-specific features. Maintained at
|
||||||
[http://git.kernel.org/?p=linux/kernel/git/mason/btrfs-progs.git;a=summary|btrfs-progs
|
http://github.com/kdave/btrfs-progs.git . The main frontend to btrfs
|
||||||
gitweb]. The main frontend to btrfs features is the
|
features is the standalone tool *btrfs*, although
|
||||||
<code>[[Manpage/btrfs|btrfs]]</code> program, although other tools such
|
other tools such as *mkfs.btrfs* and *btrfstune* are also part of
|
||||||
as *mkfs.btrfs* and *btrfsck* are also part of btrfs-progs.
|
btrfs-progs.
|
||||||
|
|
||||||
chunk
|
chunk
|
||||||
A part of a *block group*. Chunks are either 1 GiB in size (for data)
|
A part of a *block group*. Chunks are either 1 GiB in size (for data)
|
||||||
@ -66,7 +65,7 @@ chunk
|
|||||||
|
|
||||||
chunk tree
|
chunk tree
|
||||||
A layer that keeps information about mapping between physical and
|
A layer that keeps information about mapping between physical and
|
||||||
logical block addresses. It's stored within the *System* group.
|
logical block addresses. It's stored within the *system* group.
|
||||||
|
|
||||||
cleaner
|
cleaner
|
||||||
Usually referred to in context of deleted subvolumes. It's a background
|
Usually referred to in context of deleted subvolumes. It's a background
|
||||||
@ -84,7 +83,7 @@ copy-on-write
|
|||||||
way. In COW filesystems, files tend to fragment as they are modified.
|
way. In COW filesystems, files tend to fragment as they are modified.
|
||||||
Copy-on-write is also used in the implementation of *snapshots* and
|
Copy-on-write is also used in the implementation of *snapshots* and
|
||||||
*reflink copies*. A copy-on-write filesystem is, in theory,
|
*reflink copies*. A copy-on-write filesystem is, in theory,
|
||||||
*'always*' consistent, provided the underlying hardware supports
|
'always' consistent, provided the underlying hardware supports
|
||||||
*barriers*.
|
*barriers*.
|
||||||
|
|
||||||
COW
|
COW
|
||||||
@ -92,8 +91,7 @@ COW
|
|||||||
|
|
||||||
default subvolume
|
default subvolume
|
||||||
The *subvolume* in a btrfs filesystem which is mounted when mounting
|
The *subvolume* in a btrfs filesystem which is mounted when mounting
|
||||||
the filesystem without using the <code>subvol=</code> [[Mount
|
the filesystem without using the ``subvol=`` mount option.
|
||||||
options|mount option]].
|
|
||||||
|
|
||||||
device
|
device
|
||||||
A Linux block device, e.g. a whole disk, partition, LVM logical volume,
|
A Linux block device, e.g. a whole disk, partition, LVM logical volume,
|
||||||
@ -103,8 +101,8 @@ device
|
|||||||
df
|
df
|
||||||
A standard Unix tool for reporting the amount of space used and free in
|
A standard Unix tool for reporting the amount of space used and free in
|
||||||
a filesystem. The standard tool does not give accurate results, but the
|
a filesystem. The standard tool does not give accurate results, but the
|
||||||
<code>[[Manpage/btrfs|btrfs]]</code> command from *btrfs-progs* has
|
*btrfs* command from *btrfs-progs* has
|
||||||
an implementation of df which shows space available in more detail. See
|
an implementation of *df* which shows space available in more detail. See
|
||||||
the
|
the
|
||||||
[[FAQ#Why_does_df_show_incorrect_free_space_for_my_RAID_volume.3F|FAQ]]
|
[[FAQ#Why_does_df_show_incorrect_free_space_for_my_RAID_volume.3F|FAQ]]
|
||||||
for a more detailed explanation of btrfs free space accounting.
|
for a more detailed explanation of btrfs free space accounting.
|
||||||
@ -113,10 +111,10 @@ DUP
|
|||||||
A form of "*RAID*" which stores two copies of each piece of data on
|
A form of "*RAID*" which stores two copies of each piece of data on
|
||||||
the same *device*. This is similar to *RAID-1*, and protects
|
the same *device*. This is similar to *RAID-1*, and protects
|
||||||
against *block*-level errors on the device, but does not provide any
|
against *block*-level errors on the device, but does not provide any
|
||||||
guarantees if the entire device fails. By default, btrfs uses *'DUP*'
|
guarantees if the entire device fails. By default, btrfs uses *DUP*
|
||||||
profile for metadata on filesystems with one rotational device,
|
profile for metadata on filesystems with one rotational device,
|
||||||
*'single*' profile on filesystems with one non-rotational device, and
|
*single* profile on filesystems with one non-rotational device, and
|
||||||
*'RAID1*' profile on filesystems with more than one device.
|
*RAID1* profile on filesystems with more than one device.
|
||||||
|
|
||||||
ENOSPC
|
ENOSPC
|
||||||
Error code returned by the OS to a user program when the filesystem
|
Error code returned by the OS to a user program when the filesystem
|
||||||
@ -126,7 +124,7 @@ ENOSPC
|
|||||||
*COW* behaviour, btrfs can sometimes return ENOSPC when there is
|
*COW* behaviour, btrfs can sometimes return ENOSPC when there is
|
||||||
apparently (in terms of *df*) a large amount of space free. This is
|
apparently (in terms of *df*) a large amount of space free. This is
|
||||||
effectively a bug in btrfs, and (if it is repeatable), using the mount
|
effectively a bug in btrfs, and (if it is repeatable), using the mount
|
||||||
option <code>[[Mount options|enospc_debug]]</code> may give a report
|
option ``enospc_debug`` may give a report
|
||||||
that will help the btrfs developers. See the
|
that will help the btrfs developers. See the
|
||||||
[[FAQ#if_your_device_is_large_.28.3E16GiB.29|FAQ entry]] on free space.
|
[[FAQ#if_your_device_is_large_.28.3E16GiB.29|FAQ entry]] on free space.
|
||||||
|
|
||||||
@ -151,25 +149,23 @@ filefrag
|
|||||||
A tool to show the number of extents in a file, and hence the amount of
|
A tool to show the number of extents in a file, and hence the amount of
|
||||||
fragmentation in the file. It is usually part of the e2fsprogs package
|
fragmentation in the file. It is usually part of the e2fsprogs package
|
||||||
on most Linux distributions. While initially developed for the ext2
|
on most Linux distributions. While initially developed for the ext2
|
||||||
filesystem, it works on Btrfs as well (but
|
filesystem, it works on Btrfs as well. It uses the *FIEMAP* ioctl.
|
||||||
[http://thread.gmane.org/gmane.comp.file-systems.ocfs2.devel/8894/focus=8902
|
|
||||||
not really with compressed files]). It uses the *FIEMAP* ioctl.
|
|
||||||
|
|
||||||
free space cache
|
free space cache
|
||||||
Btrfs doesn't track free space, it only tracks allocated space. Free
|
Btrfs doesn't track free space, it only tracks allocated space. Free
|
||||||
space is by definition any holes in the allocated space, but finding
|
space is by definition any holes in the allocated space, but finding
|
||||||
these holes is actually fairly I/O intensive. The free space cache
|
these holes is actually fairly I/O intensive. The free space cache
|
||||||
stores a compressed representation of what is free. It is updated on
|
stores a condensed representation of what is free. It is updated on
|
||||||
every *transaction* commit.
|
every *transaction* commit.
|
||||||
|
|
||||||
fsync
|
fsync
|
||||||
On Unix and Unix-like operating systems (of which Linux is the latter),
|
On Unix and Unix-like operating systems (of which Linux is the latter),
|
||||||
the <code>fsync()</code> system call causes all buffered file
|
the ``lfsync()`` system call causes all buffered file
|
||||||
descriptor related data changes to be flushed to the underlying block
|
descriptor related data changes to be flushed to the underlying block
|
||||||
device. When a file is modified on a modern operating system the
|
device. When a file is modified on a modern operating system the
|
||||||
changes are generally not written to the disk immediately but rather
|
changes are generally not written to the disk immediately but rather
|
||||||
those changes are buffered in memory for reasons of performance,
|
those changes are buffered in memory for reasons of performance,
|
||||||
calling <code>fsync()</code> causes any in-memory changes to be written
|
calling ``fsync()`` causes any in-memory changes to be written
|
||||||
to disk.
|
to disk.
|
||||||
|
|
||||||
generation
|
generation
|
||||||
@ -178,23 +174,21 @@ generation
|
|||||||
generation is stored in the block, so that blocks which are too new
|
generation is stored in the block, so that blocks which are too new
|
||||||
(and hence possibly inconsistent) can be identified.
|
(and hence possibly inconsistent) can be identified.
|
||||||
|
|
||||||
genid
|
key
|
||||||
See *generation*.
|
|
||||||
|
|
||||||
Key
|
|
||||||
A fixed sized tuple used to identify and sort items in a *B-tree*.
|
A fixed sized tuple used to identify and sort items in a *B-tree*.
|
||||||
The key is broken up into 3 parts: *'objectid*', *'type*', and
|
The key is broken up into 3 parts: *objectid*, *type*, and
|
||||||
*'offset*'. The *'type*' field indicates how each of the other two
|
*offset*. The *type* field indicates how each of the other two
|
||||||
fields should be used, and what to expect to find in the item. For
|
fields should be used, and what to expect to find in the item.
|
||||||
reference, see [[Btree Keys]].
|
|
||||||
|
|
||||||
Item
|
item
|
||||||
A variable sized structure stored in B-tree leaves. Items hold
|
A variable sized structure stored in B-tree leaves. Items hold
|
||||||
different types of data depending on key type. For reference, see
|
different types of data depending on key type.
|
||||||
[[Btree Items]].
|
|
||||||
|
|
||||||
log tree
|
log tree
|
||||||
|
A b-tree that temporarily tracks ongoing metadata updates until a full
|
||||||
|
transaction commit is done. It's a performance optimization of
|
||||||
|
``fsync``. The log tracked in the tree are replayed if the filesystem
|
||||||
|
is not unmounted cleanly.
|
||||||
|
|
||||||
metadata
|
metadata
|
||||||
Data about data. In btrfs, this includes all of the internal data
|
Data about data. In btrfs, this includes all of the internal data
|
||||||
@ -203,8 +197,7 @@ metadata
|
|||||||
*extents*. All btrfs metadata is stored in *B-trees*.
|
*extents*. All btrfs metadata is stored in *B-trees*.
|
||||||
|
|
||||||
mkfs.btrfs
|
mkfs.btrfs
|
||||||
The tool (from *btrfs-progs*) to create a btrfs filesystem, see
|
The tool (from *btrfs-progs*) to create a btrfs filesystem.
|
||||||
[[mkfs.btrfs]].
|
|
||||||
|
|
||||||
offline
|
offline
|
||||||
A filesystem which is not mounted is offline. Some tools (e.g.
|
A filesystem which is not mounted is offline. Some tools (e.g.
|
||||||
@ -215,7 +208,8 @@ online
|
|||||||
work on online filesystems. Compare *offline*.
|
work on online filesystems. Compare *offline*.
|
||||||
|
|
||||||
orphan
|
orphan
|
||||||
(file)
|
A file that's still in use (opened by a running process) but all
|
||||||
|
directory entries of that file have been removed.
|
||||||
|
|
||||||
RAID
|
RAID
|
||||||
A class of different methods for writing some additional redundant data
|
A class of different methods for writing some additional redundant data
|
||||||
@ -224,8 +218,7 @@ RAID
|
|||||||
*RAID-1*, *RAID-5*, *RAID-6*, *RAID-10*, *DUP* and
|
*RAID-1*, *RAID-5*, *RAID-6*, *RAID-10*, *DUP* and
|
||||||
*single*. Traditional RAID methods operate across multiple devices of
|
*single*. Traditional RAID methods operate across multiple devices of
|
||||||
equal size, whereas btrfs's RAID implementation works inside *block
|
equal size, whereas btrfs's RAID implementation works inside *block
|
||||||
groups*. See the [[SysadminGuide#Data_usage_and_allocation|Sysadmin's
|
groups*.
|
||||||
Guide]] for the details.
|
|
||||||
|
|
||||||
RAID-0
|
RAID-0
|
||||||
A form of *RAID* which provides no form of error recovery, but
|
A form of *RAID* which provides no form of error recovery, but
|
||||||
@ -241,14 +234,12 @@ RAID-1
|
|||||||
RAID-5
|
RAID-5
|
||||||
A form of *RAID* which stripes a single copy of data across multiple
|
A form of *RAID* which stripes a single copy of data across multiple
|
||||||
*devices*, including one device's worth of additional parity data.
|
*devices*, including one device's worth of additional parity data.
|
||||||
Can be used to recover from a single device failure. Not yet
|
Can be used to recover from a single device failure.
|
||||||
implemented in btrfs.
|
|
||||||
|
|
||||||
RAID-6
|
RAID-6
|
||||||
A form of *RAID* which stripes a single copy of data across multiple
|
A form of *RAID* which stripes a single copy of data across multiple
|
||||||
*devices*, including two device's worth of additional parity data. Can
|
*devices*, including two device's worth of additional parity data. Can
|
||||||
be used to recover from the failure of two devices. Not yet implemented
|
be used to recover from the failure of two devices.
|
||||||
in btrfs.
|
|
||||||
|
|
||||||
RAID-10
|
RAID-10
|
||||||
A form of *RAID* which stores two complete copies of each piece of
|
A form of *RAID* which stores two complete copies of each piece of
|
||||||
@ -256,22 +247,17 @@ RAID-10
|
|||||||
performance.
|
performance.
|
||||||
|
|
||||||
reflink
|
reflink
|
||||||
Parameter to <code>cp</code>, allowing it to take advantage of the
|
Parameter to ``cp``, allowing it to take advantage of the
|
||||||
capabilities of *COW*-capable filesystems. Allows for files to be
|
capabilities of *COW*-capable filesystems. Allows for files to be
|
||||||
copied and modified, with only the modifications taking up additional
|
copied and modified, with only the modifications taking up additional
|
||||||
storage space. May be considered as *snapshots* on a single file rather
|
storage space. May be considered as *snapshots* on a single file rather
|
||||||
than a *subvolume*. Example: <code>cp --reflink file1 file2</code>
|
than a *subvolume*. Example: ``cp --reflink file1 file2``
|
||||||
|
|
||||||
relocation
|
relocation
|
||||||
The process of moving block groups within the filesystem while
|
The process of moving block groups within the filesystem while
|
||||||
maintaining full filesystem integrity and consistency. This
|
maintaining full filesystem integrity and consistency. This
|
||||||
functionality is underlying *balance* and *device* removing features.
|
functionality is underlying *balance* and *device* removing features.
|
||||||
|
|
||||||
restriper
|
|
||||||
A development name for the rewritten *balance* code implemented in the
|
|
||||||
v3.3 kernel. Allows to change RAID profiles of the filesystem,
|
|
||||||
*online*.
|
|
||||||
|
|
||||||
scrub
|
scrub
|
||||||
An *online* filesystem checking tool. Reads all the data and metadata
|
An *online* filesystem checking tool. Reads all the data and metadata
|
||||||
on the filesystem, and uses *checksums* and the duplicate copies from
|
on the filesystem, and uses *checksums* and the duplicate copies from
|
||||||
@ -284,8 +270,7 @@ seed device
|
|||||||
devices are persistent across reboots. The original device remains
|
devices are persistent across reboots. The original device remains
|
||||||
unchanged and can be removed at any time (after Btrfs has been
|
unchanged and can be removed at any time (after Btrfs has been
|
||||||
instructed to copy over all missing blocks). Multiple read/write file
|
instructed to copy over all missing blocks). Multiple read/write file
|
||||||
systems can be built from the same seed. See [[Seed-device]] for an
|
systems can be built from the same seed.
|
||||||
example.
|
|
||||||
|
|
||||||
single
|
single
|
||||||
A "*RAID*" level in btrfs, storing a single copy of each piece of data.
|
A "*RAID*" level in btrfs, storing a single copy of each piece of data.
|
||||||
@ -340,7 +325,7 @@ transaction
|
|||||||
filesystem at any one time.
|
filesystem at any one time.
|
||||||
|
|
||||||
transid
|
transid
|
||||||
An alternative term for *genid*. See *generation*.
|
An alternative term for *generation*.
|
||||||
|
|
||||||
writeback
|
writeback
|
||||||
*Writeback* in the context of the Linux kernel can be defined as the
|
*Writeback* in the context of the Linux kernel can be defined as the
|
||||||
|
Loading…
Reference in New Issue
Block a user