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.
192 lines
8.1 KiB
192 lines
8.1 KiB
6 years ago
|
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);
|
||
|
}
|