Whamcloud - gitweb
mke2fs: fix up check for hardlinks always false if inode > 0xFFFFFFFF
[tools/e2fsprogs.git] / misc / chattr.1.in
index 6a1d446..ff2fcf0 100644 (file)
@@ -23,13 +23,13 @@ chattr \- change file attributes on a Linux file system
 .B chattr
 changes the file attributes on a Linux file system.
 .PP
-The format of a symbolic mode is +-=[aAcCdDeijsStTu].
+The format of a symbolic mode is +-=[aAcCdDeFijPsStTu].
 .PP
 The operator '+' causes the selected attributes to be added to the
 existing attributes of the files; '-' causes them to be removed; and '='
 causes them to be the only attributes that the files have.
 .PP
-The letters 'aAcCdDeijPsStTu' select the new attributes for the files:
+The letters 'aAcCdDeFijPsStTu' select the new attributes for the files:
 append only (a),
 no atime updates (A),
 compressed (c),
@@ -37,6 +37,7 @@ no copy on write (C),
 no dump (d),
 synchronous directory updates (D),
 extent format (e),
+case-insensitive directory lookups (F),
 immutable (i),
 data journalling (j),
 project hierarchy (P),
@@ -49,12 +50,10 @@ and undeletable (u).
 The following attributes are read-only, and may be listed by
 .BR lsattr (1)
 but not modified by chattr:
-compression error (E),
-huge file (h),
+encrypted (E),
 indexed directory (I),
 inline data (N),
-compression raw access (X),
-and compressed dirty file (Z).
+and verity (V).
 .PP
 Not all flags are supported or utilized by all filesystems; refer to
 filesystem-specific man pages such as
@@ -80,20 +79,25 @@ Set the file's version/generation number.
 .BI \-p " project"
 Set the file's project number.
 .SH ATTRIBUTES
-A file with the 'a' attribute set can only be open in append mode for writing.
-Only the superuser or a process possessing the CAP_LINUX_IMMUTABLE
-capability can set or clear this attribute.
-.PP
+.TP
+.B a
+A file with the 'a' attribute set can only be opened in append mode for
+writing.  Only the superuser or a process possessing the
+CAP_LINUX_IMMUTABLE capability can set or clear this attribute.
+.TP
+.B A
 When a file with the 'A' attribute set is accessed, its atime record is
 not modified.  This avoids a certain amount of disk I/O for laptop
 systems.
-.PP
+.TP
+.B c
 A file with the 'c' attribute set is automatically compressed on the disk
 by the kernel.  A read from this file returns uncompressed data.  A write to
 this file compresses data before storing them on the disk.  Note: please
 make sure to read the bugs and limitations section at the end of this
 document.
-.PP
+.TP
+.B C
 A file with the 'C' attribute set will not be subject to copy-on-write
 updates.  This flag is only supported on file systems which perform
 copy-on-write.  (Note: For btrfs, the 'C' flag should be
@@ -102,81 +106,94 @@ data blocks, it is undefined when the blocks assigned to the file will
 be fully stable.  If the 'C' flag is set on a directory, it will have no
 effect on the directory, but new files created in that directory will
 have the No_COW attribute set.)
-.PP
-A file with the 'd' attribute set is not candidate for backup when the
+.TP
+.B d
+A file with the 'd' attribute set is not a candidate for backup when the
 .BR dump (8)
 program is run.
-.PP
+.TP
+.B D
 When a directory with the 'D' attribute set is modified,
-the changes are written synchronously on the disk; this is equivalent to
+the changes are written synchronously to the disk; this is equivalent to
 the 'dirsync' mount option applied to a subset of the files.
-.PP
+.TP
+.B e
 The 'e' attribute indicates that the file is using extents for mapping
 the blocks on disk.  It may not be removed using
 .BR chattr (1).
-.PP
-The 'E' attribute is used by the experimental encryption patches to
-indicate that the file has been encrypted.  It may not be
-set or reset using
-.BR chattr (1),
-although it can be displayed by
-.BR lsattr (1).
-.PP
-The 'h' attribute indicates the file is storing its blocks in units of the
-filesystem blocksize instead of in units of sectors, and means that the file
-is (or at one time was) larger than 2TB.  It may not be set or reset using
+.TP
+.B E
+A file, directory, or symlink with the 'E' attribute set is encrypted by the
+filesystem.  This attribute may not be set or cleared using
 .BR chattr (1),
 although it can be displayed by
 .BR lsattr (1).
-.PP
+.TP
+.B F
+A directory with the 'F' attribute set indicates that all the path
+lookups inside that directory are made in a case-insensitive fashion.
+This attribute can only be changed in empty directories on file systems
+with the casefold feature enabled.
+.TP
+.B i
 A file with the 'i' attribute cannot be modified: it cannot be deleted or
-renamed, no link can be created to this file and no data can be written
-to the file.  Only the superuser or a process possessing the
-CAP_LINUX_IMMUTABLE capability can set or clear this attribute.
-.PP
+renamed, no link can be created to this file, most of the file's
+metadata can not be modified, and the file can not be opened in write mode.
+Only the superuser or a process possessing the CAP_LINUX_IMMUTABLE
+capability can set or clear this attribute.
+.TP
+.B I
 The 'I' attribute is used by the htree code to indicate that a directory
-is being indexed using hashed trees.  It may not be set or reset using
+is being indexed using hashed trees.  It may not be set or cleared using
 .BR chattr (1),
 although it can be displayed by
 .BR lsattr (1).
-.PP
-A file with the 'j' attribute has all of its data written to the ext3
-or ext4 journal before being written to the file itself, if the filesystem
-is mounted with the "data=ordered" or "data=writeback" options.  When the
-filesystem is mounted with the "data=journal" option all file data
-is already journalled and this attribute has no effect.  Only
-the superuser or a process possessing the CAP_SYS_RESOURCE
-capability can set or clear this attribute.
-.PP
+.TP
+.B j
+A file with the 'j' attribute has all of its data written to the ext3 or
+ext4 journal before being written to the file itself, if the file system
+is mounted with the "data=ordered" or "data=writeback" options and the
+file system has a journal.  When the filesystem is mounted with the
+"data=journal" option all file data is already journalled and this
+attribute has no effect.  Only the superuser or a process possessing the
+CAP_SYS_RESOURCE capability can set or clear this attribute.
+.TP
+.B N
 A file with the 'N' attribute set indicates that the file has data
-stored inline, within the inode itself. It may not be set or reset using
+stored inline, within the inode itself. It may not be set or cleared
+using
 .BR chattr (1),
 although it can be displayed by
 .BR lsattr (1).
-.PP
+.TP
+.B P
 A directory with the 'P' attribute set will enforce a hierarchical
-structure for project id's.  This means that files and directory created
+structure for project id's.  This means that files and directories created
 in the directory will inherit the project id of the directory, rename
 operations are constrained so when a file or directory is moved into
-another directory, that the project id's much match.  In addition, a
+another directory, that the project ids must match.  In addition, a
 hard link to file can only be created when the project id for the file
 and the destination directory match.
-.PP
+.TP
+.B s
 When a file with the 's' attribute set is deleted, its blocks are zeroed
 and written back to the disk.  Note: please make sure to read the bugs
 and limitations section at the end of this document.
-.PP
+.TP
+.B S
 When a file with the 'S' attribute set is modified,
-the changes are written synchronously on the disk; this is equivalent to
+the changes are written synchronously to the disk; this is equivalent to
 the 'sync' mount option applied to a subset of the files.
-.PP
+.TP
+.B t
 A file with the 't' attribute will not have a partial block fragment at
 the end of the file merged with other files (for those filesystems which
 support tail-merging).  This is necessary for applications such as LILO
 which read the filesystem directly, and which don't understand tail-merged
-files.  Note: As of this writing, the ext2 or ext3 filesystems do not
-(yet, except in very experimental patches) support tail-merging.
-.PP
+files.  Note: As of this writing, the ext2, ext3, and ext4 filesystems do
+not support tail-merging.
+.TP
+.B T
 A directory with the 'T' attribute will be deemed to be the top of
 directory hierarchies for the purposes of the Orlov block allocator.
 This is a hint to the block allocator used by ext3 and ext4 that the
@@ -186,21 +203,19 @@ idea to set the 'T' attribute on the /home directory, so that /home/john
 and /home/mary are placed into separate block groups.  For directories
 where this attribute is not set, the Orlov block allocator will try to
 group subdirectories closer together where possible.
-.PP
+.TP
+.B u
 When a file with the 'u' attribute set is deleted, its contents are
 saved.  This allows the user to ask for its undeletion.  Note: please
 make sure to read the bugs and limitations section at the end of this
 document.
-.PP
-The 'X' attribute is used by the experimental compression patches to
-indicate that the raw contents of a compressed file can be accessed
-directly.  It currently may not be set or reset using
-.BR chattr (1),
-although it can be displayed by
-.BR lsattr (1).
-.PP
-The 'Z' attribute is used by the experimental compression patches to
-indicate a compressed file is dirty.  It may not be set or reset using
+.TP
+.B V
+A file with the 'V' attribute set has fs-verity enabled.  It cannot be
+written to, and the filesystem will automatically verify all data read
+from it against a cryptographic hash that covers the entire file's
+contents, e.g. via a Merkle tree.  This makes it possible to efficiently
+authenticate the file.  This attribute may not be set or cleared using
 .BR chattr (1),
 although it can be displayed by
 .BR lsattr (1).
@@ -213,8 +228,10 @@ maintained by Theodore Ts'o <tytso@alum.mit.edu>.
 The 'c', 's',  and 'u' attributes are not honored
 by the ext2, ext3, and ext4 filesystems as implemented in the current
 mainline Linux kernels.
+Setting 'a' and 'i' attributes will not affect the ability to write
+to already existing file descriptors.
 .PP
-The 'j' option is only useful if the filesystem is mounted as ext3 or ext4.
+The 'j' option is only useful for ext3 and ext4 file systems.
 .PP
 The 'D' option is only useful on Linux kernel 2.5.19 and later.
 .SH AVAILABILITY