diff options
Diffstat (limited to 'Documentation/filesystems')
-rw-r--r-- | Documentation/filesystems/00-INDEX | 4 | ||||
-rw-r--r-- | Documentation/filesystems/Locking | 45 | ||||
-rw-r--r-- | Documentation/filesystems/autofs4-mount-control.txt | 2 | ||||
-rw-r--r-- | Documentation/filesystems/caching/netfs-api.txt | 2 | ||||
-rw-r--r-- | Documentation/filesystems/debugfs.txt | 158 | ||||
-rw-r--r-- | Documentation/filesystems/ext2.txt | 2 | ||||
-rw-r--r-- | Documentation/filesystems/ext4.txt | 10 | ||||
-rw-r--r-- | Documentation/filesystems/fiemap.txt | 2 | ||||
-rw-r--r-- | Documentation/filesystems/gfs2-glocks.txt | 2 | ||||
-rw-r--r-- | Documentation/filesystems/gfs2.txt | 19 | ||||
-rw-r--r-- | Documentation/filesystems/isofs.txt | 9 | ||||
-rw-r--r-- | Documentation/filesystems/nfs-rdma.txt | 2 | ||||
-rw-r--r-- | Documentation/filesystems/nilfs2.txt | 5 | ||||
-rw-r--r-- | Documentation/filesystems/proc.txt | 287 | ||||
-rw-r--r-- | Documentation/filesystems/sysfs-pci.txt | 2 | ||||
-rw-r--r-- | Documentation/filesystems/vfat.txt | 13 |
16 files changed, 456 insertions, 108 deletions
diff --git a/Documentation/filesystems/00-INDEX b/Documentation/filesystems/00-INDEX index 8dd6db76171d..f15621ee5599 100644 --- a/Documentation/filesystems/00-INDEX +++ b/Documentation/filesystems/00-INDEX | |||
@@ -66,6 +66,10 @@ mandatory-locking.txt | |||
66 | - info on the Linux implementation of Sys V mandatory file locking. | 66 | - info on the Linux implementation of Sys V mandatory file locking. |
67 | ncpfs.txt | 67 | ncpfs.txt |
68 | - info on Novell Netware(tm) filesystem using NCP protocol. | 68 | - info on Novell Netware(tm) filesystem using NCP protocol. |
69 | nfs41-server.txt | ||
70 | - info on the Linux server implementation of NFSv4 minor version 1. | ||
71 | nfs-rdma.txt | ||
72 | - how to install and setup the Linux NFS/RDMA client and server software. | ||
69 | nfsroot.txt | 73 | nfsroot.txt |
70 | - short guide on setting up a diskless box with NFS root filesystem. | 74 | - short guide on setting up a diskless box with NFS root filesystem. |
71 | nilfs2.txt | 75 | nilfs2.txt |
diff --git a/Documentation/filesystems/Locking b/Documentation/filesystems/Locking index 3120f8dd2c31..18b9d0ca0630 100644 --- a/Documentation/filesystems/Locking +++ b/Documentation/filesystems/Locking | |||
@@ -109,27 +109,28 @@ prototypes: | |||
109 | 109 | ||
110 | locking rules: | 110 | locking rules: |
111 | All may block. | 111 | All may block. |
112 | BKL s_lock s_umount | 112 | None have BKL |
113 | alloc_inode: no no no | 113 | s_umount |
114 | destroy_inode: no | 114 | alloc_inode: |
115 | dirty_inode: no (must not sleep) | 115 | destroy_inode: |
116 | write_inode: no | 116 | dirty_inode: (must not sleep) |
117 | drop_inode: no !!!inode_lock!!! | 117 | write_inode: |
118 | delete_inode: no | 118 | drop_inode: !!!inode_lock!!! |
119 | put_super: yes yes no | 119 | delete_inode: |
120 | write_super: no yes read | 120 | put_super: write |
121 | sync_fs: no no read | 121 | write_super: read |
122 | freeze_fs: ? | 122 | sync_fs: read |
123 | unfreeze_fs: ? | 123 | freeze_fs: read |
124 | statfs: no no no | 124 | unfreeze_fs: read |
125 | remount_fs: yes yes maybe (see below) | 125 | statfs: no |
126 | clear_inode: no | 126 | remount_fs: maybe (see below) |
127 | umount_begin: yes no no | 127 | clear_inode: |
128 | show_options: no (vfsmount->sem) | 128 | umount_begin: no |
129 | quota_read: no no no (see below) | 129 | show_options: no (namespace_sem) |
130 | quota_write: no no no (see below) | 130 | quota_read: no (see below) |
131 | 131 | quota_write: no (see below) | |
132 | ->remount_fs() will have the s_umount lock if it's already mounted. | 132 | |
133 | ->remount_fs() will have the s_umount exclusive lock if it's already mounted. | ||
133 | When called from get_sb_single, it does NOT have the s_umount lock. | 134 | When called from get_sb_single, it does NOT have the s_umount lock. |
134 | ->quota_read() and ->quota_write() functions are both guaranteed to | 135 | ->quota_read() and ->quota_write() functions are both guaranteed to |
135 | be the only ones operating on the quota file by the quota code (via | 136 | be the only ones operating on the quota file by the quota code (via |
@@ -187,7 +188,7 @@ readpages: no | |||
187 | write_begin: no locks the page yes | 188 | write_begin: no locks the page yes |
188 | write_end: no yes, unlocks yes | 189 | write_end: no yes, unlocks yes |
189 | perform_write: no n/a yes | 190 | perform_write: no n/a yes |
190 | bmap: yes | 191 | bmap: no |
191 | invalidatepage: no yes | 192 | invalidatepage: no yes |
192 | releasepage: no yes | 193 | releasepage: no yes |
193 | direct_IO: no | 194 | direct_IO: no |
diff --git a/Documentation/filesystems/autofs4-mount-control.txt b/Documentation/filesystems/autofs4-mount-control.txt index c6341745df37..8f78ded4b648 100644 --- a/Documentation/filesystems/autofs4-mount-control.txt +++ b/Documentation/filesystems/autofs4-mount-control.txt | |||
@@ -369,7 +369,7 @@ The call requires an initialized struct autofs_dev_ioctl. There are two | |||
369 | possible variations. Both use the path field set to the path of the mount | 369 | possible variations. Both use the path field set to the path of the mount |
370 | point to check and the size field adjusted appropriately. One uses the | 370 | point to check and the size field adjusted appropriately. One uses the |
371 | ioctlfd field to identify a specific mount point to check while the other | 371 | ioctlfd field to identify a specific mount point to check while the other |
372 | variation uses the path and optionaly arg1 set to an autofs mount type. | 372 | variation uses the path and optionally arg1 set to an autofs mount type. |
373 | The call returns 1 if this is a mount point and sets arg1 to the device | 373 | The call returns 1 if this is a mount point and sets arg1 to the device |
374 | number of the mount and field arg2 to the relevant super block magic | 374 | number of the mount and field arg2 to the relevant super block magic |
375 | number (described below) or 0 if it isn't a mountpoint. In both cases | 375 | number (described below) or 0 if it isn't a mountpoint. In both cases |
diff --git a/Documentation/filesystems/caching/netfs-api.txt b/Documentation/filesystems/caching/netfs-api.txt index 4db125b3a5c6..2666b1ed5e9e 100644 --- a/Documentation/filesystems/caching/netfs-api.txt +++ b/Documentation/filesystems/caching/netfs-api.txt | |||
@@ -184,7 +184,7 @@ This has the following fields: | |||
184 | have index children. | 184 | have index children. |
185 | 185 | ||
186 | If this function is not supplied or if it returns NULL then the first | 186 | If this function is not supplied or if it returns NULL then the first |
187 | cache in the parent's list will be chosed, or failing that, the first | 187 | cache in the parent's list will be chosen, or failing that, the first |
188 | cache in the master list. | 188 | cache in the master list. |
189 | 189 | ||
190 | (4) A function to retrieve an object's key from the netfs [mandatory]. | 190 | (4) A function to retrieve an object's key from the netfs [mandatory]. |
diff --git a/Documentation/filesystems/debugfs.txt b/Documentation/filesystems/debugfs.txt new file mode 100644 index 000000000000..ed52af60c2d8 --- /dev/null +++ b/Documentation/filesystems/debugfs.txt | |||
@@ -0,0 +1,158 @@ | |||
1 | Copyright 2009 Jonathan Corbet <corbet@lwn.net> | ||
2 | |||
3 | Debugfs exists as a simple way for kernel developers to make information | ||
4 | available to user space. Unlike /proc, which is only meant for information | ||
5 | about a process, or sysfs, which has strict one-value-per-file rules, | ||
6 | debugfs has no rules at all. Developers can put any information they want | ||
7 | there. The debugfs filesystem is also intended to not serve as a stable | ||
8 | ABI to user space; in theory, there are no stability constraints placed on | ||
9 | files exported there. The real world is not always so simple, though [1]; | ||
10 | even debugfs interfaces are best designed with the idea that they will need | ||
11 | to be maintained forever. | ||
12 | |||
13 | Debugfs is typically mounted with a command like: | ||
14 | |||
15 | mount -t debugfs none /sys/kernel/debug | ||
16 | |||
17 | (Or an equivalent /etc/fstab line). | ||
18 | |||
19 | Note that the debugfs API is exported GPL-only to modules. | ||
20 | |||
21 | Code using debugfs should include <linux/debugfs.h>. Then, the first order | ||
22 | of business will be to create at least one directory to hold a set of | ||
23 | debugfs files: | ||
24 | |||
25 | struct dentry *debugfs_create_dir(const char *name, struct dentry *parent); | ||
26 | |||
27 | This call, if successful, will make a directory called name underneath the | ||
28 | indicated parent directory. If parent is NULL, the directory will be | ||
29 | created in the debugfs root. On success, the return value is a struct | ||
30 | dentry pointer which can be used to create files in the directory (and to | ||
31 | clean it up at the end). A NULL return value indicates that something went | ||
32 | wrong. If ERR_PTR(-ENODEV) is returned, that is an indication that the | ||
33 | kernel has been built without debugfs support and none of the functions | ||
34 | described below will work. | ||
35 | |||
36 | The most general way to create a file within a debugfs directory is with: | ||
37 | |||
38 | struct dentry *debugfs_create_file(const char *name, mode_t mode, | ||
39 | struct dentry *parent, void *data, | ||
40 | const struct file_operations *fops); | ||
41 | |||
42 | Here, name is the name of the file to create, mode describes the access | ||
43 | permissions the file should have, parent indicates the directory which | ||
44 | should hold the file, data will be stored in the i_private field of the | ||
45 | resulting inode structure, and fops is a set of file operations which | ||
46 | implement the file's behavior. At a minimum, the read() and/or write() | ||
47 | operations should be provided; others can be included as needed. Again, | ||
48 | the return value will be a dentry pointer to the created file, NULL for | ||
49 | error, or ERR_PTR(-ENODEV) if debugfs support is missing. | ||
50 | |||
51 | In a number of cases, the creation of a set of file operations is not | ||
52 | actually necessary; the debugfs code provides a number of helper functions | ||
53 | for simple situations. Files containing a single integer value can be | ||
54 | created with any of: | ||
55 | |||
56 | struct dentry *debugfs_create_u8(const char *name, mode_t mode, | ||
57 | struct dentry *parent, u8 *value); | ||
58 | struct dentry *debugfs_create_u16(const char *name, mode_t mode, | ||
59 | struct dentry *parent, u16 *value); | ||
60 | struct dentry *debugfs_create_u32(const char *name, mode_t mode, | ||
61 | struct dentry *parent, u32 *value); | ||
62 | struct dentry *debugfs_create_u64(const char *name, mode_t mode, | ||
63 | struct dentry *parent, u64 *value); | ||
64 | |||
65 | These files support both reading and writing the given value; if a specific | ||
66 | file should not be written to, simply set the mode bits accordingly. The | ||
67 | values in these files are in decimal; if hexadecimal is more appropriate, | ||
68 | the following functions can be used instead: | ||
69 | |||
70 | struct dentry *debugfs_create_x8(const char *name, mode_t mode, | ||
71 | struct dentry *parent, u8 *value); | ||
72 | struct dentry *debugfs_create_x16(const char *name, mode_t mode, | ||
73 | struct dentry *parent, u16 *value); | ||
74 | struct dentry *debugfs_create_x32(const char *name, mode_t mode, | ||
75 | struct dentry *parent, u32 *value); | ||
76 | |||
77 | Note that there is no debugfs_create_x64(). | ||
78 | |||
79 | These functions are useful as long as the developer knows the size of the | ||
80 | value to be exported. Some types can have different widths on different | ||
81 | architectures, though, complicating the situation somewhat. There is a | ||
82 | function meant to help out in one special case: | ||
83 | |||
84 | struct dentry *debugfs_create_size_t(const char *name, mode_t mode, | ||
85 | struct dentry *parent, | ||
86 | size_t *value); | ||
87 | |||
88 | As might be expected, this function will create a debugfs file to represent | ||
89 | a variable of type size_t. | ||
90 | |||
91 | Boolean values can be placed in debugfs with: | ||
92 | |||
93 | struct dentry *debugfs_create_bool(const char *name, mode_t mode, | ||
94 | struct dentry *parent, u32 *value); | ||
95 | |||
96 | A read on the resulting file will yield either Y (for non-zero values) or | ||
97 | N, followed by a newline. If written to, it will accept either upper- or | ||
98 | lower-case values, or 1 or 0. Any other input will be silently ignored. | ||
99 | |||
100 | Finally, a block of arbitrary binary data can be exported with: | ||
101 | |||
102 | struct debugfs_blob_wrapper { | ||
103 | void *data; | ||
104 | unsigned long size; | ||
105 | }; | ||
106 | |||
107 | struct dentry *debugfs_create_blob(const char *name, mode_t mode, | ||
108 | struct dentry *parent, | ||
109 | struct debugfs_blob_wrapper *blob); | ||
110 | |||
111 | A read of this file will return the data pointed to by the | ||
112 | debugfs_blob_wrapper structure. Some drivers use "blobs" as a simple way | ||
113 | to return several lines of (static) formatted text output. This function | ||
114 | can be used to export binary information, but there does not appear to be | ||
115 | any code which does so in the mainline. Note that all files created with | ||
116 | debugfs_create_blob() are read-only. | ||
117 | |||
118 | There are a couple of other directory-oriented helper functions: | ||
119 | |||
120 | struct dentry *debugfs_rename(struct dentry *old_dir, | ||
121 | struct dentry *old_dentry, | ||
122 | struct dentry *new_dir, | ||
123 | const char *new_name); | ||
124 | |||
125 | struct dentry *debugfs_create_symlink(const char *name, | ||
126 | struct dentry *parent, | ||
127 | const char *target); | ||
128 | |||
129 | A call to debugfs_rename() will give a new name to an existing debugfs | ||
130 | file, possibly in a different directory. The new_name must not exist prior | ||
131 | to the call; the return value is old_dentry with updated information. | ||
132 | Symbolic links can be created with debugfs_create_symlink(). | ||
133 | |||
134 | There is one important thing that all debugfs users must take into account: | ||
135 | there is no automatic cleanup of any directories created in debugfs. If a | ||
136 | module is unloaded without explicitly removing debugfs entries, the result | ||
137 | will be a lot of stale pointers and no end of highly antisocial behavior. | ||
138 | So all debugfs users - at least those which can be built as modules - must | ||
139 | be prepared to remove all files and directories they create there. A file | ||
140 | can be removed with: | ||
141 | |||
142 | void debugfs_remove(struct dentry *dentry); | ||
143 | |||
144 | The dentry value can be NULL, in which case nothing will be removed. | ||
145 | |||
146 | Once upon a time, debugfs users were required to remember the dentry | ||
147 | pointer for every debugfs file they created so that all files could be | ||
148 | cleaned up. We live in more civilized times now, though, and debugfs users | ||
149 | can call: | ||
150 | |||
151 | void debugfs_remove_recursive(struct dentry *dentry); | ||
152 | |||
153 | If this function is passed a pointer for the dentry corresponding to the | ||
154 | top-level directory, the entire hierarchy below that directory will be | ||
155 | removed. | ||
156 | |||
157 | Notes: | ||
158 | [1] http://lwn.net/Articles/309298/ | ||
diff --git a/Documentation/filesystems/ext2.txt b/Documentation/filesystems/ext2.txt index e055acb6b2d4..67639f905f10 100644 --- a/Documentation/filesystems/ext2.txt +++ b/Documentation/filesystems/ext2.txt | |||
@@ -322,7 +322,7 @@ an upper limit on the block size imposed by the page size of the kernel, | |||
322 | so 8kB blocks are only allowed on Alpha systems (and other architectures | 322 | so 8kB blocks are only allowed on Alpha systems (and other architectures |
323 | which support larger pages). | 323 | which support larger pages). |
324 | 324 | ||
325 | There is an upper limit of 32768 subdirectories in a single directory. | 325 | There is an upper limit of 32000 subdirectories in a single directory. |
326 | 326 | ||
327 | There is a "soft" upper limit of about 10-15k files in a single directory | 327 | There is a "soft" upper limit of about 10-15k files in a single directory |
328 | with the current linear linked-list directory implementation. This limit | 328 | with the current linear linked-list directory implementation. This limit |
diff --git a/Documentation/filesystems/ext4.txt b/Documentation/filesystems/ext4.txt index 97882df04865..7be02ac5fa36 100644 --- a/Documentation/filesystems/ext4.txt +++ b/Documentation/filesystems/ext4.txt | |||
@@ -235,6 +235,10 @@ minixdf Make 'df' act like Minix. | |||
235 | 235 | ||
236 | debug Extra debugging information is sent to syslog. | 236 | debug Extra debugging information is sent to syslog. |
237 | 237 | ||
238 | abort Simulate the effects of calling ext4_abort() for | ||
239 | debugging purposes. This is normally used while | ||
240 | remounting a filesystem which is already mounted. | ||
241 | |||
238 | errors=remount-ro Remount the filesystem read-only on an error. | 242 | errors=remount-ro Remount the filesystem read-only on an error. |
239 | errors=continue Keep going on a filesystem error. | 243 | errors=continue Keep going on a filesystem error. |
240 | errors=panic Panic and halt the machine if an error occurs. | 244 | errors=panic Panic and halt the machine if an error occurs. |
@@ -294,7 +298,7 @@ max_batch_time=usec Maximum amount of time ext4 should wait for | |||
294 | amount of time (on average) that it takes to | 298 | amount of time (on average) that it takes to |
295 | finish committing a transaction. Call this time | 299 | finish committing a transaction. Call this time |
296 | the "commit time". If the time that the | 300 | the "commit time". If the time that the |
297 | transactoin has been running is less than the | 301 | transaction has been running is less than the |
298 | commit time, ext4 will try sleeping for the | 302 | commit time, ext4 will try sleeping for the |
299 | commit time to see if other operations will join | 303 | commit time to see if other operations will join |
300 | the transaction. The commit time is capped by | 304 | the transaction. The commit time is capped by |
@@ -328,7 +332,7 @@ noauto_da_alloc replacing existing files via patterns such as | |||
328 | journal commit, in the default data=ordered | 332 | journal commit, in the default data=ordered |
329 | mode, the data blocks of the new file are forced | 333 | mode, the data blocks of the new file are forced |
330 | to disk before the rename() operation is | 334 | to disk before the rename() operation is |
331 | commited. This provides roughly the same level | 335 | committed. This provides roughly the same level |
332 | of guarantees as ext3, and avoids the | 336 | of guarantees as ext3, and avoids the |
333 | "zero-length" problem that can happen when a | 337 | "zero-length" problem that can happen when a |
334 | system crashes before the delayed allocation | 338 | system crashes before the delayed allocation |
@@ -358,7 +362,7 @@ written to the journal first, and then to its final location. | |||
358 | In the event of a crash, the journal can be replayed, bringing both data and | 362 | In the event of a crash, the journal can be replayed, bringing both data and |
359 | metadata into a consistent state. This mode is the slowest except when data | 363 | metadata into a consistent state. This mode is the slowest except when data |
360 | needs to be read from and written to disk at the same time where it | 364 | needs to be read from and written to disk at the same time where it |
361 | outperforms all others modes. Curently ext4 does not have delayed | 365 | outperforms all others modes. Currently ext4 does not have delayed |
362 | allocation support if this data journalling mode is selected. | 366 | allocation support if this data journalling mode is selected. |
363 | 367 | ||
364 | References | 368 | References |
diff --git a/Documentation/filesystems/fiemap.txt b/Documentation/filesystems/fiemap.txt index 1e3defcfe50b..606233cd4618 100644 --- a/Documentation/filesystems/fiemap.txt +++ b/Documentation/filesystems/fiemap.txt | |||
@@ -204,7 +204,7 @@ fiemap_check_flags() helper: | |||
204 | 204 | ||
205 | int fiemap_check_flags(struct fiemap_extent_info *fieinfo, u32 fs_flags); | 205 | int fiemap_check_flags(struct fiemap_extent_info *fieinfo, u32 fs_flags); |
206 | 206 | ||
207 | The struct fieinfo should be passed in as recieved from ioctl_fiemap(). The | 207 | The struct fieinfo should be passed in as received from ioctl_fiemap(). The |
208 | set of fiemap flags which the fs understands should be passed via fs_flags. If | 208 | set of fiemap flags which the fs understands should be passed via fs_flags. If |
209 | fiemap_check_flags finds invalid user flags, it will place the bad values in | 209 | fiemap_check_flags finds invalid user flags, it will place the bad values in |
210 | fieinfo->fi_flags and return -EBADR. If the file system gets -EBADR, from | 210 | fieinfo->fi_flags and return -EBADR. If the file system gets -EBADR, from |
diff --git a/Documentation/filesystems/gfs2-glocks.txt b/Documentation/filesystems/gfs2-glocks.txt index 4dae9a3840bf..0494f78d87e4 100644 --- a/Documentation/filesystems/gfs2-glocks.txt +++ b/Documentation/filesystems/gfs2-glocks.txt | |||
@@ -60,7 +60,7 @@ go_lock | Called for the first local holder of a lock | |||
60 | go_unlock | Called on the final local unlock of a lock | 60 | go_unlock | Called on the final local unlock of a lock |
61 | go_dump | Called to print content of object for debugfs file, or on | 61 | go_dump | Called to print content of object for debugfs file, or on |
62 | | error to dump glock to the log. | 62 | | error to dump glock to the log. |
63 | go_type; | The type of the glock, LM_TYPE_..... | 63 | go_type | The type of the glock, LM_TYPE_..... |
64 | go_min_hold_time | The minimum hold time | 64 | go_min_hold_time | The minimum hold time |
65 | 65 | ||
66 | The minimum hold time for each lock is the time after a remote lock | 66 | The minimum hold time for each lock is the time after a remote lock |
diff --git a/Documentation/filesystems/gfs2.txt b/Documentation/filesystems/gfs2.txt index 593004b6bbab..5e3ab8f3beff 100644 --- a/Documentation/filesystems/gfs2.txt +++ b/Documentation/filesystems/gfs2.txt | |||
@@ -11,18 +11,15 @@ their I/O so file system consistency is maintained. One of the nifty | |||
11 | features of GFS is perfect consistency -- changes made to the file system | 11 | features of GFS is perfect consistency -- changes made to the file system |
12 | on one machine show up immediately on all other machines in the cluster. | 12 | on one machine show up immediately on all other machines in the cluster. |
13 | 13 | ||
14 | GFS uses interchangable inter-node locking mechanisms. Different lock | 14 | GFS uses interchangable inter-node locking mechanisms, the currently |
15 | modules can plug into GFS and each file system selects the appropriate | 15 | supported mechanisms are: |
16 | lock module at mount time. Lock modules include: | ||
17 | 16 | ||
18 | lock_nolock -- allows gfs to be used as a local file system | 17 | lock_nolock -- allows gfs to be used as a local file system |
19 | 18 | ||
20 | lock_dlm -- uses a distributed lock manager (dlm) for inter-node locking | 19 | lock_dlm -- uses a distributed lock manager (dlm) for inter-node locking |
21 | The dlm is found at linux/fs/dlm/ | 20 | The dlm is found at linux/fs/dlm/ |
22 | 21 | ||
23 | In addition to interfacing with an external locking manager, a gfs lock | 22 | Lock_dlm depends on user space cluster management systems found |
24 | module is responsible for interacting with external cluster management | ||
25 | systems. Lock_dlm depends on user space cluster management systems found | ||
26 | at the URL above. | 23 | at the URL above. |
27 | 24 | ||
28 | To use gfs as a local file system, no external clustering systems are | 25 | To use gfs as a local file system, no external clustering systems are |
@@ -31,13 +28,19 @@ needed, simply: | |||
31 | $ mkfs -t gfs2 -p lock_nolock -j 1 /dev/block_device | 28 | $ mkfs -t gfs2 -p lock_nolock -j 1 /dev/block_device |
32 | $ mount -t gfs2 /dev/block_device /dir | 29 | $ mount -t gfs2 /dev/block_device /dir |
33 | 30 | ||
34 | GFS2 is not on-disk compatible with previous versions of GFS. | 31 | If you are using Fedora, you need to install the gfs2-utils package |
32 | and, for lock_dlm, you will also need to install the cman package | ||
33 | and write a cluster.conf as per the documentation. | ||
34 | |||
35 | GFS2 is not on-disk compatible with previous versions of GFS, but it | ||
36 | is pretty close. | ||
35 | 37 | ||
36 | The following man pages can be found at the URL above: | 38 | The following man pages can be found at the URL above: |
37 | gfs2_fsck to repair a filesystem | 39 | fsck.gfs2 to repair a filesystem |
38 | gfs2_grow to expand a filesystem online | 40 | gfs2_grow to expand a filesystem online |
39 | gfs2_jadd to add journals to a filesystem online | 41 | gfs2_jadd to add journals to a filesystem online |
40 | gfs2_tool to manipulate, examine and tune a filesystem | 42 | gfs2_tool to manipulate, examine and tune a filesystem |
41 | gfs2_quota to examine and change quota values in a filesystem | 43 | gfs2_quota to examine and change quota values in a filesystem |
44 | gfs2_convert to convert a gfs filesystem to gfs2 in-place | ||
42 | mount.gfs2 to help mount(8) mount a filesystem | 45 | mount.gfs2 to help mount(8) mount a filesystem |
43 | mkfs.gfs2 to make a filesystem | 46 | mkfs.gfs2 to make a filesystem |
diff --git a/Documentation/filesystems/isofs.txt b/Documentation/filesystems/isofs.txt index 6973b980ca2a..3c367c3b3608 100644 --- a/Documentation/filesystems/isofs.txt +++ b/Documentation/filesystems/isofs.txt | |||
@@ -23,8 +23,13 @@ Mount options unique to the isofs filesystem. | |||
23 | map=off Do not map non-Rock Ridge filenames to lower case | 23 | map=off Do not map non-Rock Ridge filenames to lower case |
24 | map=normal Map non-Rock Ridge filenames to lower case | 24 | map=normal Map non-Rock Ridge filenames to lower case |
25 | map=acorn As map=normal but also apply Acorn extensions if present | 25 | map=acorn As map=normal but also apply Acorn extensions if present |
26 | mode=xxx Sets the permissions on files to xxx | 26 | mode=xxx Sets the permissions on files to xxx unless Rock Ridge |
27 | dmode=xxx Sets the permissions on directories to xxx | 27 | extensions set the permissions otherwise |
28 | dmode=xxx Sets the permissions on directories to xxx unless Rock Ridge | ||
29 | extensions set the permissions otherwise | ||
30 | overriderockperm Set permissions on files and directories according to | ||
31 | 'mode' and 'dmode' even though Rock Ridge extensions are | ||
32 | present. | ||
28 | nojoliet Ignore Joliet extensions if they are present. | 33 | nojoliet Ignore Joliet extensions if they are present. |
29 | norock Ignore Rock Ridge extensions if they are present. | 34 | norock Ignore Rock Ridge extensions if they are present. |
30 | hide Completely strip hidden files from the file system. | 35 | hide Completely strip hidden files from the file system. |
diff --git a/Documentation/filesystems/nfs-rdma.txt b/Documentation/filesystems/nfs-rdma.txt index 85eaeaddd27c..e386f7e4bcee 100644 --- a/Documentation/filesystems/nfs-rdma.txt +++ b/Documentation/filesystems/nfs-rdma.txt | |||
@@ -100,7 +100,7 @@ Installation | |||
100 | $ sudo cp utils/mount/mount.nfs /sbin/mount.nfs | 100 | $ sudo cp utils/mount/mount.nfs /sbin/mount.nfs |
101 | 101 | ||
102 | In this location, mount.nfs will be invoked automatically for NFS mounts | 102 | In this location, mount.nfs will be invoked automatically for NFS mounts |
103 | by the system mount commmand. | 103 | by the system mount command. |
104 | 104 | ||
105 | NOTE: mount.nfs and therefore nfs-utils-1.1.2 or greater is only needed | 105 | NOTE: mount.nfs and therefore nfs-utils-1.1.2 or greater is only needed |
106 | on the NFS client machine. You do not need this specific version of | 106 | on the NFS client machine. You do not need this specific version of |
diff --git a/Documentation/filesystems/nilfs2.txt b/Documentation/filesystems/nilfs2.txt index 55c4300abfcb..01539f410676 100644 --- a/Documentation/filesystems/nilfs2.txt +++ b/Documentation/filesystems/nilfs2.txt | |||
@@ -39,9 +39,8 @@ Features which NILFS2 does not support yet: | |||
39 | - extended attributes | 39 | - extended attributes |
40 | - POSIX ACLs | 40 | - POSIX ACLs |
41 | - quotas | 41 | - quotas |
42 | - writable snapshots | 42 | - fsck |
43 | - remote backup (CDP) | 43 | - resize |
44 | - data integrity | ||
45 | - defragmentation | 44 | - defragmentation |
46 | 45 | ||
47 | Mount options | 46 | Mount options |
diff --git a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt index ce84cfc9eae0..fad18f9456e4 100644 --- a/Documentation/filesystems/proc.txt +++ b/Documentation/filesystems/proc.txt | |||
@@ -5,11 +5,12 @@ | |||
5 | Bodo Bauer <bb@ricochet.net> | 5 | Bodo Bauer <bb@ricochet.net> |
6 | 6 | ||
7 | 2.4.x update Jorge Nerin <comandante@zaralinux.com> November 14 2000 | 7 | 2.4.x update Jorge Nerin <comandante@zaralinux.com> November 14 2000 |
8 | move /proc/sys Shen Feng <shen@cn.fujitsu.com> April 1 2009 | 8 | move /proc/sys Shen Feng <shen@cn.fujitsu.com> April 1 2009 |
9 | ------------------------------------------------------------------------------ | 9 | ------------------------------------------------------------------------------ |
10 | Version 1.3 Kernel version 2.2.12 | 10 | Version 1.3 Kernel version 2.2.12 |
11 | Kernel version 2.4.0-test11-pre4 | 11 | Kernel version 2.4.0-test11-pre4 |
12 | ------------------------------------------------------------------------------ | 12 | ------------------------------------------------------------------------------ |
13 | fixes/update part 1.1 Stefani Seibold <stefani@seibold.net> June 9 2009 | ||
13 | 14 | ||
14 | Table of Contents | 15 | Table of Contents |
15 | ----------------- | 16 | ----------------- |
@@ -116,7 +117,7 @@ The link self points to the process reading the file system. Each process | |||
116 | subdirectory has the entries listed in Table 1-1. | 117 | subdirectory has the entries listed in Table 1-1. |
117 | 118 | ||
118 | 119 | ||
119 | Table 1-1: Process specific entries in /proc | 120 | Table 1-1: Process specific entries in /proc |
120 | .............................................................................. | 121 | .............................................................................. |
121 | File Content | 122 | File Content |
122 | clear_refs Clears page referenced bits shown in smaps output | 123 | clear_refs Clears page referenced bits shown in smaps output |
@@ -134,46 +135,103 @@ Table 1-1: Process specific entries in /proc | |||
134 | status Process status in human readable form | 135 | status Process status in human readable form |
135 | wchan If CONFIG_KALLSYMS is set, a pre-decoded wchan | 136 | wchan If CONFIG_KALLSYMS is set, a pre-decoded wchan |
136 | stack Report full stack trace, enable via CONFIG_STACKTRACE | 137 | stack Report full stack trace, enable via CONFIG_STACKTRACE |
137 | smaps Extension based on maps, the rss size for each mapped file | 138 | smaps a extension based on maps, showing the memory consumption of |
139 | each mapping | ||
138 | .............................................................................. | 140 | .............................................................................. |
139 | 141 | ||
140 | For example, to get the status information of a process, all you have to do is | 142 | For example, to get the status information of a process, all you have to do is |
141 | read the file /proc/PID/status: | 143 | read the file /proc/PID/status: |
142 | 144 | ||
143 | >cat /proc/self/status | 145 | >cat /proc/self/status |
144 | Name: cat | 146 | Name: cat |
145 | State: R (running) | 147 | State: R (running) |
146 | Pid: 5452 | 148 | Tgid: 5452 |
147 | PPid: 743 | 149 | Pid: 5452 |
150 | PPid: 743 | ||
148 | TracerPid: 0 (2.4) | 151 | TracerPid: 0 (2.4) |
149 | Uid: 501 501 501 501 | 152 | Uid: 501 501 501 501 |
150 | Gid: 100 100 100 100 | 153 | Gid: 100 100 100 100 |
151 | Groups: 100 14 16 | 154 | FDSize: 256 |
152 | VmSize: 1112 kB | 155 | Groups: 100 14 16 |
153 | VmLck: 0 kB | 156 | VmPeak: 5004 kB |
154 | VmRSS: 348 kB | 157 | VmSize: 5004 kB |
155 | VmData: 24 kB | 158 | VmLck: 0 kB |
156 | VmStk: 12 kB | 159 | VmHWM: 476 kB |
157 | VmExe: 8 kB | 160 | VmRSS: 476 kB |
158 | VmLib: 1044 kB | 161 | VmData: 156 kB |
159 | SigPnd: 0000000000000000 | 162 | VmStk: 88 kB |
160 | SigBlk: 0000000000000000 | 163 | VmExe: 68 kB |
161 | SigIgn: 0000000000000000 | 164 | VmLib: 1412 kB |
162 | SigCgt: 0000000000000000 | 165 | VmPTE: 20 kb |
163 | CapInh: 00000000fffffeff | 166 | Threads: 1 |
164 | CapPrm: 0000000000000000 | 167 | SigQ: 0/28578 |
165 | CapEff: 0000000000000000 | 168 | SigPnd: 0000000000000000 |
166 | 169 | ShdPnd: 0000000000000000 | |
170 | SigBlk: 0000000000000000 | ||
171 | SigIgn: 0000000000000000 | ||
172 | SigCgt: 0000000000000000 | ||
173 | CapInh: 00000000fffffeff | ||
174 | CapPrm: 0000000000000000 | ||
175 | CapEff: 0000000000000000 | ||
176 | CapBnd: ffffffffffffffff | ||
177 | voluntary_ctxt_switches: 0 | ||
178 | nonvoluntary_ctxt_switches: 1 | ||
167 | 179 | ||
168 | This shows you nearly the same information you would get if you viewed it with | 180 | This shows you nearly the same information you would get if you viewed it with |
169 | the ps command. In fact, ps uses the proc file system to obtain its | 181 | the ps command. In fact, ps uses the proc file system to obtain its |
170 | information. The statm file contains more detailed information about the | 182 | information. But you get a more detailed view of the process by reading the |
171 | process memory usage. Its seven fields are explained in Table 1-2. The stat | 183 | file /proc/PID/status. It fields are described in table 1-2. |
172 | file contains details information about the process itself. Its fields are | 184 | |
173 | explained in Table 1-3. | 185 | The statm file contains more detailed information about the process |
186 | memory usage. Its seven fields are explained in Table 1-3. The stat file | ||
187 | contains details information about the process itself. Its fields are | ||
188 | explained in Table 1-4. | ||
174 | 189 | ||
190 | Table 1-2: Contents of the statm files (as of 2.6.30-rc7) | ||
191 | .............................................................................. | ||
192 | Field Content | ||
193 | Name filename of the executable | ||
194 | State state (R is running, S is sleeping, D is sleeping | ||
195 | in an uninterruptible wait, Z is zombie, | ||
196 | T is traced or stopped) | ||
197 | Tgid thread group ID | ||
198 | Pid process id | ||
199 | PPid process id of the parent process | ||
200 | TracerPid PID of process tracing this process (0 if not) | ||
201 | Uid Real, effective, saved set, and file system UIDs | ||
202 | Gid Real, effective, saved set, and file system GIDs | ||
203 | FDSize number of file descriptor slots currently allocated | ||
204 | Groups supplementary group list | ||
205 | VmPeak peak virtual memory size | ||
206 | VmSize total program size | ||
207 | VmLck locked memory size | ||
208 | VmHWM peak resident set size ("high water mark") | ||
209 | VmRSS size of memory portions | ||
210 | VmData size of data, stack, and text segments | ||
211 | VmStk size of data, stack, and text segments | ||
212 | VmExe size of text segment | ||
213 | VmLib size of shared library code | ||
214 | VmPTE size of page table entries | ||
215 | Threads number of threads | ||
216 | SigQ number of signals queued/max. number for queue | ||
217 | SigPnd bitmap of pending signals for the thread | ||
218 | ShdPnd bitmap of shared pending signals for the process | ||
219 | SigBlk bitmap of blocked signals | ||
220 | SigIgn bitmap of ignored signals | ||
221 | SigCgt bitmap of catched signals | ||
222 | CapInh bitmap of inheritable capabilities | ||
223 | CapPrm bitmap of permitted capabilities | ||
224 | CapEff bitmap of effective capabilities | ||
225 | CapBnd bitmap of capabilities bounding set | ||
226 | Cpus_allowed mask of CPUs on which this process may run | ||
227 | Cpus_allowed_list Same as previous, but in "list format" | ||
228 | Mems_allowed mask of memory nodes allowed to this process | ||
229 | Mems_allowed_list Same as previous, but in "list format" | ||
230 | voluntary_ctxt_switches number of voluntary context switches | ||
231 | nonvoluntary_ctxt_switches number of non voluntary context switches | ||
232 | .............................................................................. | ||
175 | 233 | ||
176 | Table 1-2: Contents of the statm files (as of 2.6.8-rc3) | 234 | Table 1-3: Contents of the statm files (as of 2.6.8-rc3) |
177 | .............................................................................. | 235 | .............................................................................. |
178 | Field Content | 236 | Field Content |
179 | size total program size (pages) (same as VmSize in status) | 237 | size total program size (pages) (same as VmSize in status) |
@@ -188,7 +246,7 @@ Table 1-2: Contents of the statm files (as of 2.6.8-rc3) | |||
188 | .............................................................................. | 246 | .............................................................................. |
189 | 247 | ||
190 | 248 | ||
191 | Table 1-3: Contents of the stat files (as of 2.6.22-rc3) | 249 | Table 1-4: Contents of the stat files (as of 2.6.30-rc7) |
192 | .............................................................................. | 250 | .............................................................................. |
193 | Field Content | 251 | Field Content |
194 | pid process id | 252 | pid process id |
@@ -222,10 +280,10 @@ Table 1-3: Contents of the stat files (as of 2.6.22-rc3) | |||
222 | start_stack address of the start of the stack | 280 | start_stack address of the start of the stack |
223 | esp current value of ESP | 281 | esp current value of ESP |
224 | eip current value of EIP | 282 | eip current value of EIP |
225 | pending bitmap of pending signals (obsolete) | 283 | pending bitmap of pending signals |
226 | blocked bitmap of blocked signals (obsolete) | 284 | blocked bitmap of blocked signals |
227 | sigign bitmap of ignored signals (obsolete) | 285 | sigign bitmap of ignored signals |
228 | sigcatch bitmap of catched signals (obsolete) | 286 | sigcatch bitmap of catched signals |
229 | wchan address where process went to sleep | 287 | wchan address where process went to sleep |
230 | 0 (place holder) | 288 | 0 (place holder) |
231 | 0 (place holder) | 289 | 0 (place holder) |
@@ -234,19 +292,99 @@ Table 1-3: Contents of the stat files (as of 2.6.22-rc3) | |||
234 | rt_priority realtime priority | 292 | rt_priority realtime priority |
235 | policy scheduling policy (man sched_setscheduler) | 293 | policy scheduling policy (man sched_setscheduler) |
236 | blkio_ticks time spent waiting for block IO | 294 | blkio_ticks time spent waiting for block IO |
295 | gtime guest time of the task in jiffies | ||
296 | cgtime guest time of the task children in jiffies | ||
237 | .............................................................................. | 297 | .............................................................................. |
238 | 298 | ||
299 | The /proc/PID/map file containing the currently mapped memory regions and | ||
300 | their access permissions. | ||
301 | |||
302 | The format is: | ||
303 | |||
304 | address perms offset dev inode pathname | ||
305 | |||
306 | 08048000-08049000 r-xp 00000000 03:00 8312 /opt/test | ||
307 | 08049000-0804a000 rw-p 00001000 03:00 8312 /opt/test | ||
308 | 0804a000-0806b000 rw-p 00000000 00:00 0 [heap] | ||
309 | a7cb1000-a7cb2000 ---p 00000000 00:00 0 | ||
310 | a7cb2000-a7eb2000 rw-p 00000000 00:00 0 | ||
311 | a7eb2000-a7eb3000 ---p 00000000 00:00 0 | ||
312 | a7eb3000-a7ed5000 rw-p 00000000 00:00 0 | ||
313 | a7ed5000-a8008000 r-xp 00000000 03:00 4222 /lib/libc.so.6 | ||
314 | a8008000-a800a000 r--p 00133000 03:00 4222 /lib/libc.so.6 | ||
315 | a800a000-a800b000 rw-p 00135000 03:00 4222 /lib/libc.so.6 | ||
316 | a800b000-a800e000 rw-p 00000000 00:00 0 | ||
317 | a800e000-a8022000 r-xp 00000000 03:00 14462 /lib/libpthread.so.0 | ||
318 | a8022000-a8023000 r--p 00013000 03:00 14462 /lib/libpthread.so.0 | ||
319 | a8023000-a8024000 rw-p 00014000 03:00 14462 /lib/libpthread.so.0 | ||
320 | a8024000-a8027000 rw-p 00000000 00:00 0 | ||
321 | a8027000-a8043000 r-xp 00000000 03:00 8317 /lib/ld-linux.so.2 | ||
322 | a8043000-a8044000 r--p 0001b000 03:00 8317 /lib/ld-linux.so.2 | ||
323 | a8044000-a8045000 rw-p 0001c000 03:00 8317 /lib/ld-linux.so.2 | ||
324 | aff35000-aff4a000 rw-p 00000000 00:00 0 [stack] | ||
325 | ffffe000-fffff000 r-xp 00000000 00:00 0 [vdso] | ||
326 | |||
327 | where "address" is the address space in the process that it occupies, "perms" | ||
328 | is a set of permissions: | ||
329 | |||
330 | r = read | ||
331 | w = write | ||
332 | x = execute | ||
333 | s = shared | ||
334 | p = private (copy on write) | ||
335 | |||
336 | "offset" is the offset into the mapping, "dev" is the device (major:minor), and | ||
337 | "inode" is the inode on that device. 0 indicates that no inode is associated | ||
338 | with the memory region, as the case would be with BSS (uninitialized data). | ||
339 | The "pathname" shows the name associated file for this mapping. If the mapping | ||
340 | is not associated with a file: | ||
341 | |||
342 | [heap] = the heap of the program | ||
343 | [stack] = the stack of the main process | ||
344 | [vdso] = the "virtual dynamic shared object", | ||
345 | the kernel system call handler | ||
346 | |||
347 | or if empty, the mapping is anonymous. | ||
348 | |||
349 | |||
350 | The /proc/PID/smaps is an extension based on maps, showing the memory | ||
351 | consumption for each of the process's mappings. For each of mappings there | ||
352 | is a series of lines such as the following: | ||
353 | |||
354 | 08048000-080bc000 r-xp 00000000 03:02 13130 /bin/bash | ||
355 | Size: 1084 kB | ||
356 | Rss: 892 kB | ||
357 | Pss: 374 kB | ||
358 | Shared_Clean: 892 kB | ||
359 | Shared_Dirty: 0 kB | ||
360 | Private_Clean: 0 kB | ||
361 | Private_Dirty: 0 kB | ||
362 | Referenced: 892 kB | ||
363 | Swap: 0 kB | ||
364 | KernelPageSize: 4 kB | ||
365 | MMUPageSize: 4 kB | ||
366 | |||
367 | The first of these lines shows the same information as is displayed for the | ||
368 | mapping in /proc/PID/maps. The remaining lines show the size of the mapping, | ||
369 | the amount of the mapping that is currently resident in RAM, the "proportional | ||
370 | set size” (divide each shared page by the number of processes sharing it), the | ||
371 | number of clean and dirty shared pages in the mapping, and the number of clean | ||
372 | and dirty private pages in the mapping. The "Referenced" indicates the amount | ||
373 | of memory currently marked as referenced or accessed. | ||
374 | |||
375 | This file is only present if the CONFIG_MMU kernel configuration option is | ||
376 | enabled. | ||
239 | 377 | ||
240 | 1.2 Kernel data | 378 | 1.2 Kernel data |
241 | --------------- | 379 | --------------- |
242 | 380 | ||
243 | Similar to the process entries, the kernel data files give information about | 381 | Similar to the process entries, the kernel data files give information about |
244 | the running kernel. The files used to obtain this information are contained in | 382 | the running kernel. The files used to obtain this information are contained in |
245 | /proc and are listed in Table 1-4. Not all of these will be present in your | 383 | /proc and are listed in Table 1-5. Not all of these will be present in your |
246 | system. It depends on the kernel configuration and the loaded modules, which | 384 | system. It depends on the kernel configuration and the loaded modules, which |
247 | files are there, and which are missing. | 385 | files are there, and which are missing. |
248 | 386 | ||
249 | Table 1-4: Kernel info in /proc | 387 | Table 1-5: Kernel info in /proc |
250 | .............................................................................. | 388 | .............................................................................. |
251 | File Content | 389 | File Content |
252 | apm Advanced power management info | 390 | apm Advanced power management info |
@@ -283,6 +421,7 @@ Table 1-4: Kernel info in /proc | |||
283 | rtc Real time clock | 421 | rtc Real time clock |
284 | scsi SCSI info (see text) | 422 | scsi SCSI info (see text) |
285 | slabinfo Slab pool info | 423 | slabinfo Slab pool info |
424 | softirqs softirq usage | ||
286 | stat Overall statistics | 425 | stat Overall statistics |
287 | swaps Swap space utilization | 426 | swaps Swap space utilization |
288 | sys See chapter 2 | 427 | sys See chapter 2 |
@@ -366,7 +505,7 @@ just those considered 'most important'. The new vectors are: | |||
366 | RES, CAL, TLB -- rescheduling, call and TLB flush interrupts are | 505 | RES, CAL, TLB -- rescheduling, call and TLB flush interrupts are |
367 | sent from one CPU to another per the needs of the OS. Typically, | 506 | sent from one CPU to another per the needs of the OS. Typically, |
368 | their statistics are used by kernel developers and interested users to | 507 | their statistics are used by kernel developers and interested users to |
369 | determine the occurance of interrupt of the given type. | 508 | determine the occurrence of interrupts of the given type. |
370 | 509 | ||
371 | The above IRQ vectors are displayed only when relevent. For example, | 510 | The above IRQ vectors are displayed only when relevent. For example, |
372 | the threshold vector does not exist on x86_64 platforms. Others are | 511 | the threshold vector does not exist on x86_64 platforms. Others are |
@@ -551,7 +690,7 @@ Committed_AS: The amount of memory presently allocated on the system. | |||
551 | memory once that memory has been successfully allocated. | 690 | memory once that memory has been successfully allocated. |
552 | VmallocTotal: total size of vmalloc memory area | 691 | VmallocTotal: total size of vmalloc memory area |
553 | VmallocUsed: amount of vmalloc area which is used | 692 | VmallocUsed: amount of vmalloc area which is used |
554 | VmallocChunk: largest contigious block of vmalloc area which is free | 693 | VmallocChunk: largest contiguous block of vmalloc area which is free |
555 | 694 | ||
556 | .............................................................................. | 695 | .............................................................................. |
557 | 696 | ||
@@ -597,6 +736,25 @@ on the kind of area : | |||
597 | 0xffffffffa0017000-0xffffffffa0022000 45056 sys_init_module+0xc27/0x1d00 ... | 736 | 0xffffffffa0017000-0xffffffffa0022000 45056 sys_init_module+0xc27/0x1d00 ... |
598 | pages=10 vmalloc N0=10 | 737 | pages=10 vmalloc N0=10 |
599 | 738 | ||
739 | .............................................................................. | ||
740 | |||
741 | softirqs: | ||
742 | |||
743 | Provides counts of softirq handlers serviced since boot time, for each cpu. | ||
744 | |||
745 | > cat /proc/softirqs | ||
746 | CPU0 CPU1 CPU2 CPU3 | ||
747 | HI: 0 0 0 0 | ||
748 | TIMER: 27166 27120 27097 27034 | ||
749 | NET_TX: 0 0 0 17 | ||
750 | NET_RX: 42 0 0 39 | ||
751 | BLOCK: 0 0 107 1121 | ||
752 | TASKLET: 0 0 0 290 | ||
753 | SCHED: 27035 26983 26971 26746 | ||
754 | HRTIMER: 0 0 0 0 | ||
755 | RCU: 1678 1769 2178 2250 | ||
756 | |||
757 | |||
600 | 1.3 IDE devices in /proc/ide | 758 | 1.3 IDE devices in /proc/ide |
601 | ---------------------------- | 759 | ---------------------------- |
602 | 760 | ||
@@ -614,10 +772,10 @@ IDE devices: | |||
614 | 772 | ||
615 | More detailed information can be found in the controller specific | 773 | More detailed information can be found in the controller specific |
616 | subdirectories. These are named ide0, ide1 and so on. Each of these | 774 | subdirectories. These are named ide0, ide1 and so on. Each of these |
617 | directories contains the files shown in table 1-5. | 775 | directories contains the files shown in table 1-6. |
618 | 776 | ||
619 | 777 | ||
620 | Table 1-5: IDE controller info in /proc/ide/ide? | 778 | Table 1-6: IDE controller info in /proc/ide/ide? |
621 | .............................................................................. | 779 | .............................................................................. |
622 | File Content | 780 | File Content |
623 | channel IDE channel (0 or 1) | 781 | channel IDE channel (0 or 1) |
@@ -627,11 +785,11 @@ Table 1-5: IDE controller info in /proc/ide/ide? | |||
627 | .............................................................................. | 785 | .............................................................................. |
628 | 786 | ||
629 | Each device connected to a controller has a separate subdirectory in the | 787 | Each device connected to a controller has a separate subdirectory in the |
630 | controllers directory. The files listed in table 1-6 are contained in these | 788 | controllers directory. The files listed in table 1-7 are contained in these |
631 | directories. | 789 | directories. |
632 | 790 | ||
633 | 791 | ||
634 | Table 1-6: IDE device information | 792 | Table 1-7: IDE device information |
635 | .............................................................................. | 793 | .............................................................................. |
636 | File Content | 794 | File Content |
637 | cache The cache | 795 | cache The cache |
@@ -673,12 +831,12 @@ the drive parameters: | |||
673 | 1.4 Networking info in /proc/net | 831 | 1.4 Networking info in /proc/net |
674 | -------------------------------- | 832 | -------------------------------- |
675 | 833 | ||
676 | The subdirectory /proc/net follows the usual pattern. Table 1-6 shows the | 834 | The subdirectory /proc/net follows the usual pattern. Table 1-8 shows the |
677 | additional values you get for IP version 6 if you configure the kernel to | 835 | additional values you get for IP version 6 if you configure the kernel to |
678 | support this. Table 1-7 lists the files and their meaning. | 836 | support this. Table 1-9 lists the files and their meaning. |
679 | 837 | ||
680 | 838 | ||
681 | Table 1-6: IPv6 info in /proc/net | 839 | Table 1-8: IPv6 info in /proc/net |
682 | .............................................................................. | 840 | .............................................................................. |
683 | File Content | 841 | File Content |
684 | udp6 UDP sockets (IPv6) | 842 | udp6 UDP sockets (IPv6) |
@@ -693,7 +851,7 @@ Table 1-6: IPv6 info in /proc/net | |||
693 | .............................................................................. | 851 | .............................................................................. |
694 | 852 | ||
695 | 853 | ||
696 | Table 1-7: Network info in /proc/net | 854 | Table 1-9: Network info in /proc/net |
697 | .............................................................................. | 855 | .............................................................................. |
698 | File Content | 856 | File Content |
699 | arp Kernel ARP table | 857 | arp Kernel ARP table |
@@ -817,10 +975,10 @@ The directory /proc/parport contains information about the parallel ports of | |||
817 | your system. It has one subdirectory for each port, named after the port | 975 | your system. It has one subdirectory for each port, named after the port |
818 | number (0,1,2,...). | 976 | number (0,1,2,...). |
819 | 977 | ||
820 | These directories contain the four files shown in Table 1-8. | 978 | These directories contain the four files shown in Table 1-10. |
821 | 979 | ||
822 | 980 | ||
823 | Table 1-8: Files in /proc/parport | 981 | Table 1-10: Files in /proc/parport |
824 | .............................................................................. | 982 | .............................................................................. |
825 | File Content | 983 | File Content |
826 | autoprobe Any IEEE-1284 device ID information that has been acquired. | 984 | autoprobe Any IEEE-1284 device ID information that has been acquired. |
@@ -838,10 +996,10 @@ Table 1-8: Files in /proc/parport | |||
838 | 996 | ||
839 | Information about the available and actually used tty's can be found in the | 997 | Information about the available and actually used tty's can be found in the |
840 | directory /proc/tty.You'll find entries for drivers and line disciplines in | 998 | directory /proc/tty.You'll find entries for drivers and line disciplines in |
841 | this directory, as shown in Table 1-9. | 999 | this directory, as shown in Table 1-11. |
842 | 1000 | ||
843 | 1001 | ||
844 | Table 1-9: Files in /proc/tty | 1002 | Table 1-11: Files in /proc/tty |
845 | .............................................................................. | 1003 | .............................................................................. |
846 | File Content | 1004 | File Content |
847 | drivers list of drivers and their usage | 1005 | drivers list of drivers and their usage |
@@ -883,6 +1041,7 @@ since the system first booted. For a quick look, simply cat the file: | |||
883 | processes 2915 | 1041 | processes 2915 |
884 | procs_running 1 | 1042 | procs_running 1 |
885 | procs_blocked 0 | 1043 | procs_blocked 0 |
1044 | softirq 183433 0 21755 12 39 1137 231 21459 2263 | ||
886 | 1045 | ||
887 | The very first "cpu" line aggregates the numbers in all of the other "cpuN" | 1046 | The very first "cpu" line aggregates the numbers in all of the other "cpuN" |
888 | lines. These numbers identify the amount of time the CPU has spent performing | 1047 | lines. These numbers identify the amount of time the CPU has spent performing |
@@ -918,6 +1077,11 @@ CPUs. | |||
918 | The "procs_blocked" line gives the number of processes currently blocked, | 1077 | The "procs_blocked" line gives the number of processes currently blocked, |
919 | waiting for I/O to complete. | 1078 | waiting for I/O to complete. |
920 | 1079 | ||
1080 | The "softirq" line gives counts of softirqs serviced since boot time, for each | ||
1081 | of the possible system softirqs. The first column is the total of all | ||
1082 | softirqs serviced; each subsequent column is the total for that particular | ||
1083 | softirq. | ||
1084 | |||
921 | 1085 | ||
922 | 1.9 Ext4 file system parameters | 1086 | 1.9 Ext4 file system parameters |
923 | ------------------------------ | 1087 | ------------------------------ |
@@ -926,9 +1090,9 @@ Information about mounted ext4 file systems can be found in | |||
926 | /proc/fs/ext4. Each mounted filesystem will have a directory in | 1090 | /proc/fs/ext4. Each mounted filesystem will have a directory in |
927 | /proc/fs/ext4 based on its device name (i.e., /proc/fs/ext4/hdc or | 1091 | /proc/fs/ext4 based on its device name (i.e., /proc/fs/ext4/hdc or |
928 | /proc/fs/ext4/dm-0). The files in each per-device directory are shown | 1092 | /proc/fs/ext4/dm-0). The files in each per-device directory are shown |
929 | in Table 1-10, below. | 1093 | in Table 1-12, below. |
930 | 1094 | ||
931 | Table 1-10: Files in /proc/fs/ext4/<devname> | 1095 | Table 1-12: Files in /proc/fs/ext4/<devname> |
932 | .............................................................................. | 1096 | .............................................................................. |
933 | File Content | 1097 | File Content |
934 | mb_groups details of multiblock allocator buddy cache of free blocks | 1098 | mb_groups details of multiblock allocator buddy cache of free blocks |
@@ -1003,11 +1167,13 @@ CHAPTER 3: PER-PROCESS PARAMETERS | |||
1003 | 3.1 /proc/<pid>/oom_adj - Adjust the oom-killer score | 1167 | 3.1 /proc/<pid>/oom_adj - Adjust the oom-killer score |
1004 | ------------------------------------------------------ | 1168 | ------------------------------------------------------ |
1005 | 1169 | ||
1006 | This file can be used to adjust the score used to select which processes | 1170 | This file can be used to adjust the score used to select which processes should |
1007 | should be killed in an out-of-memory situation. Giving it a high score will | 1171 | be killed in an out-of-memory situation. The oom_adj value is a characteristic |
1008 | increase the likelihood of this process being killed by the oom-killer. Valid | 1172 | of the task's mm, so all threads that share an mm with pid will have the same |
1009 | values are in the range -16 to +15, plus the special value -17, which disables | 1173 | oom_adj value. A high value will increase the likelihood of this process being |
1010 | oom-killing altogether for this process. | 1174 | killed by the oom-killer. Valid values are in the range -16 to +15 as |
1175 | explained below and a special value of -17, which disables oom-killing | ||
1176 | altogether for threads sharing pid's mm. | ||
1011 | 1177 | ||
1012 | The process to be killed in an out-of-memory situation is selected among all others | 1178 | The process to be killed in an out-of-memory situation is selected among all others |
1013 | based on its badness score. This value equals the original memory size of the process | 1179 | based on its badness score. This value equals the original memory size of the process |
@@ -1021,6 +1187,9 @@ the parent's score if they do not share the same memory. Thus forking servers | |||
1021 | are the prime candidates to be killed. Having only one 'hungry' child will make | 1187 | are the prime candidates to be killed. Having only one 'hungry' child will make |
1022 | parent less preferable than the child. | 1188 | parent less preferable than the child. |
1023 | 1189 | ||
1190 | /proc/<pid>/oom_adj cannot be changed for kthreads since they are immune from | ||
1191 | oom-killing already. | ||
1192 | |||
1024 | /proc/<pid>/oom_score shows process' current badness score. | 1193 | /proc/<pid>/oom_score shows process' current badness score. |
1025 | 1194 | ||
1026 | The following heuristics are then applied: | 1195 | The following heuristics are then applied: |
diff --git a/Documentation/filesystems/sysfs-pci.txt b/Documentation/filesystems/sysfs-pci.txt index 26e4b8bc53ee..85354b32d731 100644 --- a/Documentation/filesystems/sysfs-pci.txt +++ b/Documentation/filesystems/sysfs-pci.txt | |||
@@ -72,7 +72,7 @@ The 'rom' file is special in that it provides read-only access to the device's | |||
72 | ROM file, if available. It's disabled by default, however, so applications | 72 | ROM file, if available. It's disabled by default, however, so applications |
73 | should write the string "1" to the file to enable it before attempting a read | 73 | should write the string "1" to the file to enable it before attempting a read |
74 | call, and disable it following the access by writing "0" to the file. Note | 74 | call, and disable it following the access by writing "0" to the file. Note |
75 | that the device must be enabled for a rom read to return data succesfully. | 75 | that the device must be enabled for a rom read to return data successfully. |
76 | In the event a driver is not bound to the device, it can be enabled using the | 76 | In the event a driver is not bound to the device, it can be enabled using the |
77 | 'enable' file, documented above. | 77 | 'enable' file, documented above. |
78 | 78 | ||
diff --git a/Documentation/filesystems/vfat.txt b/Documentation/filesystems/vfat.txt index 3a5ddc96901a..b58b84b50fa2 100644 --- a/Documentation/filesystems/vfat.txt +++ b/Documentation/filesystems/vfat.txt | |||
@@ -124,14 +124,19 @@ sys_immutable -- If set, ATTR_SYS attribute on FAT is handled as | |||
124 | flush -- If set, the filesystem will try to flush to disk more | 124 | flush -- If set, the filesystem will try to flush to disk more |
125 | early than normal. Not set by default. | 125 | early than normal. Not set by default. |
126 | 126 | ||
127 | rodir -- FAT has the ATTR_RO (read-only) attribute. But on Windows, | 127 | rodir -- FAT has the ATTR_RO (read-only) attribute. On Windows, |
128 | the ATTR_RO of the directory will be just ignored actually, | 128 | the ATTR_RO of the directory will just be ignored, |
129 | and is used by only applications as flag. E.g. it's setted | 129 | and is used only by applications as a flag (e.g. it's set |
130 | for the customized folder. | 130 | for the customized folder). |
131 | 131 | ||
132 | If you want to use ATTR_RO as read-only flag even for | 132 | If you want to use ATTR_RO as read-only flag even for |
133 | the directory, set this option. | 133 | the directory, set this option. |
134 | 134 | ||
135 | errors=panic|continue|remount-ro | ||
136 | -- specify FAT behavior on critical errors: panic, continue | ||
137 | without doing anything or remount the partition in | ||
138 | read-only mode (default behavior). | ||
139 | |||
135 | <bool>: 0,1,yes,no,true,false | 140 | <bool>: 0,1,yes,no,true,false |
136 | 141 | ||
137 | TODO | 142 | TODO |