You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
191 lines
8.1 KiB
191 lines
8.1 KiB
commit 272258e1dffe8afb6c9d0b0ba5edc119dbf9f52a |
|
Author: Eric Sandeen <sandeen@redhat.com> |
|
Date: Fri Jul 4 23:03:14 2014 -0400 |
|
|
|
e2fsprogs: revise and extend chattr(1) and chattr usage() |
|
|
|
The chattr(1) manpage and chattr usage() output were missing some flags. |
|
|
|
Add those, and make some other minor cosmetic fixes. |
|
|
|
(I've left out the 'B' (EXT2_COMPRBLK_FL) flag, because |
|
it's not actually used anywhere, and I can't figure out |
|
how it differs from 'c' (EXT2_COMPR_FL)) |
|
|
|
Also, because the matrix of filesystems & flags is quite large, |
|
refer to filesystem-specific manpages for detailed discussion |
|
of flags supported by those filesystems, rather than trying to |
|
cover it all in this manpage. I'll send those manpage |
|
updates to the appropriate lists a bit later. |
|
|
|
Signed-off-by: Eric Sandeen <sandeen@redhat.com> |
|
Signed-off-by: Theodore Ts'o <tytso@mit.edu> |
|
Reviewed-by: Andreas Dilger <adilger@dilger.ca> |
|
|
|
diff --git a/misc/chattr.1.in b/misc/chattr.1.in |
|
index ce426e8..23b6938 100644 |
|
--- a/misc/chattr.1.in |
|
+++ b/misc/chattr.1.in |
|
@@ -21,11 +21,11 @@ changes the file attributes on a Linux file system. |
|
.PP |
|
The format of a symbolic mode is +-=[aAcCdDeijsStTu]. |
|
.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. |
|
+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 `aAcCdDeijsStTu' select the new attributes for the files: |
|
+The letters 'aAcCdDeijsStTu' select the new attributes for the files: |
|
append only (a), |
|
no atime updates (A), |
|
compressed (c), |
|
@@ -47,8 +47,17 @@ but not modified by chattr: |
|
compression error (E), |
|
huge file (h), |
|
indexed directory (I), |
|
+inline data (N), |
|
compression raw access (X), |
|
and compressed dirty file (Z). |
|
+.PP |
|
+Not all flags are supported or utilized by all filesystems; refer to |
|
+filesystem-specific man pages such as |
|
+.BR btrfs (5), |
|
+.BR ext4 (5), |
|
+and |
|
+.BR xfs (5) |
|
+for more filesystem-specific details. |
|
.SH OPTIONS |
|
.TP |
|
.B \-R |
|
@@ -63,7 +72,7 @@ Suppress most error messages. |
|
.BI \-v " version" |
|
Set the file's version/generation number. |
|
.SH ATTRIBUTES |
|
-A file with the `a' attribute set can only be open in append mode for writing. |
|
+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 |
|
@@ -71,7 +80,7 @@ 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 |
|
-A file with the `c' attribute set is automatically compressed on the disk |
|
+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 |
|
@@ -86,13 +95,13 @@ 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 |
|
the No_COW attribute.) |
|
.PP |
|
-A file with the `d' attribute set is not candidate for backup when the |
|
+A file with the 'd' attribute set is not candidate for backup when the |
|
.BR dump (8) |
|
program is run. |
|
.PP |
|
-When a directory with the `D' attribute set is modified, |
|
+When a directory with the 'D' attribute set is modified, |
|
the changes are written synchronously on the disk; this is equivalent to |
|
-the `dirsync' mount option applied to a subset of the files. |
|
+the 'dirsync' mount option applied to a subset of the files. |
|
.PP |
|
The 'e' attribute indicates that the file is using extents for mapping |
|
the blocks on disk. It may not be removed using |
|
@@ -112,7 +121,7 @@ is (or at one time was) larger than 2TB. It may not be set or reset using |
|
although it can be displayed by |
|
.BR lsattr (1). |
|
.PP |
|
-A file with the `i' attribute cannot be modified: it cannot be deleted or |
|
+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. |
|
@@ -123,7 +132,7 @@ is being indexed using hashed trees. It may not be set or reset using |
|
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 |
|
+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 |
|
@@ -131,13 +140,19 @@ 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 |
|
-When a file with the `s' attribute set is deleted, its blocks are zeroed |
|
+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 |
|
+.BR chattr (1), |
|
+although it can be displayed by |
|
+.BR lsattr (1). |
|
+.PP |
|
+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 |
|
-When a file with the `S' attribute set is modified, |
|
+When a file with the 'S' attribute set is modified, |
|
the changes are written synchronously on the disk; this is equivalent to |
|
-the `sync' mount option applied to a subset of the files. |
|
+the 'sync' mount option applied to a subset of the files. |
|
.PP |
|
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 |
|
@@ -156,13 +171,13 @@ 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 |
|
-When a file with the `u' attribute set is deleted, its contents are |
|
+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 a raw contents of a compressed file can be accessed |
|
+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 |
|
@@ -179,16 +194,19 @@ although it can be displayed by |
|
was written by Remy Card <Remy.Card@linux.org>. It is currently being |
|
maintained by Theodore Ts'o <tytso@alum.mit.edu>. |
|
.SH BUGS AND LIMITATIONS |
|
-The `c', 's', and `u' attributes are not honored |
|
+The 'c', 's', and 'u' attributes are not honored |
|
by the ext2, ext3, and ext4 filesystems as implemented in the current |
|
mainline Linux kernels. |
|
.PP |
|
-The `j' option is only useful if the filesystem is mounted as ext3 or ext4. |
|
+The 'j' option is only useful if the filesystem is mounted as ext3 or ext4. |
|
.PP |
|
-The `D' option is only useful on Linux kernel 2.5.19 and later. |
|
+The 'D' option is only useful on Linux kernel 2.5.19 and later. |
|
.SH AVAILABILITY |
|
.B chattr |
|
is part of the e2fsprogs package and is available from |
|
http://e2fsprogs.sourceforge.net. |
|
.SH SEE ALSO |
|
-.BR lsattr (1) |
|
+.BR lsattr (1), |
|
+.BR btrfs (5), |
|
+.BR ext4 (5), |
|
+.BR xfs (5). |
|
diff --git a/misc/chattr.c b/misc/chattr.c |
|
index d5a6a61..f130108 100644 |
|
--- a/misc/chattr.c |
|
+++ b/misc/chattr.c |
|
@@ -83,7 +83,7 @@ static unsigned long sf; |
|
static void usage(void) |
|
{ |
|
fprintf(stderr, |
|
- _("Usage: %s [-RVf] [-+=aAcCdDeijsSu] [-v version] files...\n"), |
|
+ _("Usage: %s [-RVf] [-+=aAcCdDeijsStTu] [-v version] files...\n"), |
|
program_name); |
|
exit(1); |
|
}
|
|
|