diff options
Diffstat (limited to 'Documentation/filesystems')
| -rw-r--r-- | Documentation/filesystems/00-INDEX | 58 | ||||
| -rw-r--r-- | Documentation/filesystems/9p.txt | 17 | ||||
| -rw-r--r-- | Documentation/filesystems/Locking | 2 | ||||
| -rw-r--r-- | Documentation/filesystems/btrfs.txt | 47 | ||||
| -rw-r--r-- | Documentation/filesystems/f2fs.txt | 24 | ||||
| -rw-r--r-- | Documentation/filesystems/nfs/nfs41-server.txt | 42 | ||||
| -rw-r--r-- | Documentation/filesystems/nilfs2.txt | 56 | ||||
| -rw-r--r-- | Documentation/filesystems/proc.txt | 15 | ||||
| -rw-r--r-- | Documentation/filesystems/sysfs.txt | 6 | ||||
| -rw-r--r-- | Documentation/filesystems/vfs.txt | 12 |
10 files changed, 193 insertions, 86 deletions
diff --git a/Documentation/filesystems/00-INDEX b/Documentation/filesystems/00-INDEX index 8042050eb265..632211cbdd56 100644 --- a/Documentation/filesystems/00-INDEX +++ b/Documentation/filesystems/00-INDEX | |||
| @@ -10,24 +10,32 @@ afs.txt | |||
| 10 | - info and examples for the distributed AFS (Andrew File System) fs. | 10 | - info and examples for the distributed AFS (Andrew File System) fs. |
| 11 | affs.txt | 11 | affs.txt |
| 12 | - info and mount options for the Amiga Fast File System. | 12 | - info and mount options for the Amiga Fast File System. |
| 13 | autofs4-mount-control.txt | ||
| 14 | - info on device control operations for autofs4 module. | ||
| 13 | automount-support.txt | 15 | automount-support.txt |
| 14 | - information about filesystem automount support. | 16 | - information about filesystem automount support. |
| 15 | befs.txt | 17 | befs.txt |
| 16 | - information about the BeOS filesystem for Linux. | 18 | - information about the BeOS filesystem for Linux. |
| 17 | bfs.txt | 19 | bfs.txt |
| 18 | - info for the SCO UnixWare Boot Filesystem (BFS). | 20 | - info for the SCO UnixWare Boot Filesystem (BFS). |
| 21 | btrfs.txt | ||
| 22 | - info for the BTRFS filesystem. | ||
| 23 | caching/ | ||
| 24 | - directory containing filesystem cache documentation. | ||
| 19 | ceph.txt | 25 | ceph.txt |
| 20 | - info for the Ceph Distributed File System | 26 | - info for the Ceph Distributed File System. |
| 21 | cifs.txt | 27 | cifs/ |
| 22 | - description of the CIFS filesystem. | 28 | - directory containing CIFS filesystem documentation and example code. |
| 23 | coda.txt | 29 | coda.txt |
| 24 | - description of the CODA filesystem. | 30 | - description of the CODA filesystem. |
| 25 | configfs/ | 31 | configfs/ |
| 26 | - directory containing configfs documentation and example code. | 32 | - directory containing configfs documentation and example code. |
| 27 | cramfs.txt | 33 | cramfs.txt |
| 28 | - info on the cram filesystem for small storage (ROMs etc). | 34 | - info on the cram filesystem for small storage (ROMs etc). |
| 29 | dentry-locking.txt | 35 | debugfs.txt |
| 30 | - info on the RCU-based dcache locking model. | 36 | - info on the debugfs filesystem. |
| 37 | devpts.txt | ||
| 38 | - info on the devpts filesystem. | ||
| 31 | directory-locking | 39 | directory-locking |
| 32 | - info about the locking scheme used for directory operations. | 40 | - info about the locking scheme used for directory operations. |
| 33 | dlmfs.txt | 41 | dlmfs.txt |
| @@ -35,7 +43,7 @@ dlmfs.txt | |||
| 35 | dnotify.txt | 43 | dnotify.txt |
| 36 | - info about directory notification in Linux. | 44 | - info about directory notification in Linux. |
| 37 | dnotify_test.c | 45 | dnotify_test.c |
| 38 | - example program for dnotify | 46 | - example program for dnotify. |
| 39 | ecryptfs.txt | 47 | ecryptfs.txt |
| 40 | - docs on eCryptfs: stacked cryptographic filesystem for Linux. | 48 | - docs on eCryptfs: stacked cryptographic filesystem for Linux. |
| 41 | efivarfs.txt | 49 | efivarfs.txt |
| @@ -48,12 +56,18 @@ ext3.txt | |||
| 48 | - info, mount options and specifications for the Ext3 filesystem. | 56 | - info, mount options and specifications for the Ext3 filesystem. |
| 49 | ext4.txt | 57 | ext4.txt |
| 50 | - info, mount options and specifications for the Ext4 filesystem. | 58 | - info, mount options and specifications for the Ext4 filesystem. |
| 51 | files.txt | ||
| 52 | - info on file management in the Linux kernel. | ||
| 53 | f2fs.txt | 59 | f2fs.txt |
| 54 | - info and mount options for the F2FS filesystem. | 60 | - info and mount options for the F2FS filesystem. |
| 61 | fiemap.txt | ||
| 62 | - info on fiemap ioctl. | ||
| 63 | files.txt | ||
| 64 | - info on file management in the Linux kernel. | ||
| 55 | fuse.txt | 65 | fuse.txt |
| 56 | - info on the Filesystem in User SpacE including mount options. | 66 | - info on the Filesystem in User SpacE including mount options. |
| 67 | gfs2-glocks.txt | ||
| 68 | - info on the Global File System 2 - Glock internal locking rules. | ||
| 69 | gfs2-uevents.txt | ||
| 70 | - info on the Global File System 2 - uevents. | ||
| 57 | gfs2.txt | 71 | gfs2.txt |
| 58 | - info on the Global File System 2. | 72 | - info on the Global File System 2. |
| 59 | hfs.txt | 73 | hfs.txt |
| @@ -84,40 +98,58 @@ ntfs.txt | |||
| 84 | - info and mount options for the NTFS filesystem (Windows NT). | 98 | - info and mount options for the NTFS filesystem (Windows NT). |
| 85 | ocfs2.txt | 99 | ocfs2.txt |
| 86 | - info and mount options for the OCFS2 clustered filesystem. | 100 | - info and mount options for the OCFS2 clustered filesystem. |
| 101 | omfs.txt | ||
| 102 | - info on the Optimized MPEG FileSystem. | ||
| 103 | path-lookup.txt | ||
| 104 | - info on path walking and name lookup locking. | ||
| 105 | pohmelfs/ | ||
| 106 | - directory containing pohmelfs filesystem documentation. | ||
| 87 | porting | 107 | porting |
| 88 | - various information on filesystem porting. | 108 | - various information on filesystem porting. |
| 89 | proc.txt | 109 | proc.txt |
| 90 | - info on Linux's /proc filesystem. | 110 | - info on Linux's /proc filesystem. |
| 111 | qnx6.txt | ||
| 112 | - info on the QNX6 filesystem. | ||
| 113 | quota.txt | ||
| 114 | - info on Quota subsystem. | ||
| 91 | ramfs-rootfs-initramfs.txt | 115 | ramfs-rootfs-initramfs.txt |
| 92 | - info on the 'in memory' filesystems ramfs, rootfs and initramfs. | 116 | - info on the 'in memory' filesystems ramfs, rootfs and initramfs. |
| 93 | reiser4.txt | ||
| 94 | - info on the Reiser4 filesystem based on dancing tree algorithms. | ||
| 95 | relay.txt | 117 | relay.txt |
| 96 | - info on relay, for efficient streaming from kernel to user space. | 118 | - info on relay, for efficient streaming from kernel to user space. |
| 97 | romfs.txt | 119 | romfs.txt |
| 98 | - description of the ROMFS filesystem. | 120 | - description of the ROMFS filesystem. |
| 99 | seq_file.txt | 121 | seq_file.txt |
| 100 | - how to use the seq_file API | 122 | - how to use the seq_file API. |
| 101 | sharedsubtree.txt | 123 | sharedsubtree.txt |
| 102 | - a description of shared subtrees for namespaces. | 124 | - a description of shared subtrees for namespaces. |
| 103 | spufs.txt | 125 | spufs.txt |
| 104 | - info and mount options for the SPU filesystem used on Cell. | 126 | - info and mount options for the SPU filesystem used on Cell. |
| 127 | squashfs.txt | ||
| 128 | - info on the squashfs filesystem. | ||
| 105 | sysfs-pci.txt | 129 | sysfs-pci.txt |
| 106 | - info on accessing PCI device resources through sysfs. | 130 | - info on accessing PCI device resources through sysfs. |
| 131 | sysfs-tagging.txt | ||
| 132 | - info on sysfs tagging to avoid duplicates. | ||
| 107 | sysfs.txt | 133 | sysfs.txt |
| 108 | - info on sysfs, a ram-based filesystem for exporting kernel objects. | 134 | - info on sysfs, a ram-based filesystem for exporting kernel objects. |
| 109 | sysv-fs.txt | 135 | sysv-fs.txt |
| 110 | - info on the SystemV/V7/Xenix/Coherent filesystem. | 136 | - info on the SystemV/V7/Xenix/Coherent filesystem. |
| 111 | tmpfs.txt | 137 | tmpfs.txt |
| 112 | - info on tmpfs, a filesystem that holds all files in virtual memory. | 138 | - info on tmpfs, a filesystem that holds all files in virtual memory. |
| 139 | ubifs.txt | ||
| 140 | - info on the Unsorted Block Images FileSystem. | ||
| 113 | udf.txt | 141 | udf.txt |
| 114 | - info and mount options for the UDF filesystem. | 142 | - info and mount options for the UDF filesystem. |
| 115 | ufs.txt | 143 | ufs.txt |
| 116 | - info on the ufs filesystem. | 144 | - info on the ufs filesystem. |
| 117 | vfat.txt | 145 | vfat.txt |
| 118 | - info on using the VFAT filesystem used in Windows NT and Windows 95 | 146 | - info on using the VFAT filesystem used in Windows NT and Windows 95. |
| 119 | vfs.txt | 147 | vfs.txt |
| 120 | - overview of the Virtual File System | 148 | - overview of the Virtual File System. |
| 149 | xfs-delayed-logging-design.txt | ||
| 150 | - info on the XFS Delayed Logging Design. | ||
| 151 | xfs-self-describing-metadata.txt | ||
| 152 | - info on XFS Self Describing Metadata. | ||
| 121 | xfs.txt | 153 | xfs.txt |
| 122 | - info and mount options for the XFS filesystem. | 154 | - info and mount options for the XFS filesystem. |
| 123 | xip.txt | 155 | xip.txt |
diff --git a/Documentation/filesystems/9p.txt b/Documentation/filesystems/9p.txt index 2c0321442845..fec7144e817c 100644 --- a/Documentation/filesystems/9p.txt +++ b/Documentation/filesystems/9p.txt | |||
| @@ -69,10 +69,14 @@ OPTIONS | |||
| 69 | offering several exported file systems. | 69 | offering several exported file systems. |
| 70 | 70 | ||
| 71 | cache=mode specifies a caching policy. By default, no caches are used. | 71 | cache=mode specifies a caching policy. By default, no caches are used. |
| 72 | none = default no cache policy, metadata and data | ||
| 73 | alike are synchronous. | ||
| 72 | loose = no attempts are made at consistency, | 74 | loose = no attempts are made at consistency, |
| 73 | intended for exclusive, read-only mounts | 75 | intended for exclusive, read-only mounts |
| 74 | fscache = use FS-Cache for a persistent, read-only | 76 | fscache = use FS-Cache for a persistent, read-only |
| 75 | cache backend. | 77 | cache backend. |
| 78 | mmap = minimal cache that is only used for read-write | ||
| 79 | mmap. Northing else is cached, like cache=none | ||
| 76 | 80 | ||
| 77 | debug=n specifies debug level. The debug level is a bitmask. | 81 | debug=n specifies debug level. The debug level is a bitmask. |
| 78 | 0x01 = display verbose error messages | 82 | 0x01 = display verbose error messages |
| @@ -147,8 +151,7 @@ on sourceforge (http://sourceforge.net/projects/v9fs). | |||
| 147 | News and other information is maintained on a Wiki. | 151 | News and other information is maintained on a Wiki. |
| 148 | (http://sf.net/apps/mediawiki/v9fs/index.php). | 152 | (http://sf.net/apps/mediawiki/v9fs/index.php). |
| 149 | 153 | ||
| 150 | Bug reports may be issued through the kernel.org bugzilla | 154 | Bug reports are best issued via the mailing list. |
| 151 | (http://bugzilla.kernel.org) | ||
| 152 | 155 | ||
| 153 | For more information on the Plan 9 Operating System check out | 156 | For more information on the Plan 9 Operating System check out |
| 154 | http://plan9.bell-labs.com/plan9 | 157 | http://plan9.bell-labs.com/plan9 |
| @@ -156,11 +159,3 @@ http://plan9.bell-labs.com/plan9 | |||
| 156 | For information on Plan 9 from User Space (Plan 9 applications and libraries | 159 | For information on Plan 9 from User Space (Plan 9 applications and libraries |
| 157 | ported to Linux/BSD/OSX/etc) check out http://swtch.com/plan9 | 160 | ported to Linux/BSD/OSX/etc) check out http://swtch.com/plan9 |
| 158 | 161 | ||
| 159 | |||
| 160 | STATUS | ||
| 161 | ====== | ||
| 162 | |||
| 163 | The 2.6 kernel support is working on PPC and x86. | ||
| 164 | |||
| 165 | PLEASE USE THE KERNEL BUGZILLA TO REPORT PROBLEMS. (http://bugzilla.kernel.org) | ||
| 166 | |||
diff --git a/Documentation/filesystems/Locking b/Documentation/filesystems/Locking index fe7afe225381..5b0c083d7c0e 100644 --- a/Documentation/filesystems/Locking +++ b/Documentation/filesystems/Locking | |||
| @@ -544,7 +544,7 @@ like the ->fault() handler, but simply return with VM_FAULT_NOPAGE, which | |||
| 544 | will cause the VM to retry the fault. | 544 | will cause the VM to retry the fault. |
| 545 | 545 | ||
| 546 | ->access() is called when get_user_pages() fails in | 546 | ->access() is called when get_user_pages() fails in |
| 547 | acces_process_vm(), typically used to debug a process through | 547 | access_process_vm(), typically used to debug a process through |
| 548 | /proc/pid/mem or ptrace. This function is needed only for | 548 | /proc/pid/mem or ptrace. This function is needed only for |
| 549 | VM_IO | VM_PFNMAP VMAs. | 549 | VM_IO | VM_PFNMAP VMAs. |
| 550 | 550 | ||
diff --git a/Documentation/filesystems/btrfs.txt b/Documentation/filesystems/btrfs.txt index 5dd282dda55c..d11cc2f8077b 100644 --- a/Documentation/filesystems/btrfs.txt +++ b/Documentation/filesystems/btrfs.txt | |||
| @@ -38,7 +38,7 @@ Mount Options | |||
| 38 | ============= | 38 | ============= |
| 39 | 39 | ||
| 40 | When mounting a btrfs filesystem, the following option are accepted. | 40 | When mounting a btrfs filesystem, the following option are accepted. |
| 41 | Unless otherwise specified, all options default to off. | 41 | Options with (*) are default options and will not show in the mount options. |
| 42 | 42 | ||
| 43 | alloc_start=<bytes> | 43 | alloc_start=<bytes> |
| 44 | Debugging option to force all block allocations above a certain | 44 | Debugging option to force all block allocations above a certain |
| @@ -46,10 +46,12 @@ Unless otherwise specified, all options default to off. | |||
| 46 | bytes, optionally with a K, M, or G suffix, case insensitive. | 46 | bytes, optionally with a K, M, or G suffix, case insensitive. |
| 47 | Default is 1MB. | 47 | Default is 1MB. |
| 48 | 48 | ||
| 49 | noautodefrag(*) | ||
| 49 | autodefrag | 50 | autodefrag |
| 50 | Detect small random writes into files and queue them up for the | 51 | Disable/enable auto defragmentation. |
| 51 | defrag process. Works best for small files; Not well suited for | 52 | Auto defragmentation detects small random writes into files and queue |
| 52 | large database workloads. | 53 | them up for the defrag process. Works best for small files; |
| 54 | Not well suited for large database workloads. | ||
| 53 | 55 | ||
| 54 | check_int | 56 | check_int |
| 55 | check_int_data | 57 | check_int_data |
| @@ -96,21 +98,26 @@ Unless otherwise specified, all options default to off. | |||
| 96 | can be avoided. Especially useful when trying to mount a multi-device | 98 | can be avoided. Especially useful when trying to mount a multi-device |
| 97 | setup as root. May be specified multiple times for multiple devices. | 99 | setup as root. May be specified multiple times for multiple devices. |
| 98 | 100 | ||
| 101 | nodiscard(*) | ||
| 99 | discard | 102 | discard |
| 100 | Issue frequent commands to let the block device reclaim space freed by | 103 | Disable/enable discard mount option. |
| 101 | the filesystem. This is useful for SSD devices, thinly provisioned | 104 | Discard issues frequent commands to let the block device reclaim space |
| 105 | freed by the filesystem. | ||
| 106 | This is useful for SSD devices, thinly provisioned | ||
| 102 | LUNs and virtual machine images, but may have a significant | 107 | LUNs and virtual machine images, but may have a significant |
| 103 | performance impact. (The fstrim command is also available to | 108 | performance impact. (The fstrim command is also available to |
| 104 | initiate batch trims from userspace). | 109 | initiate batch trims from userspace). |
| 105 | 110 | ||
| 111 | noenospc_debug(*) | ||
| 106 | enospc_debug | 112 | enospc_debug |
| 107 | Debugging option to be more verbose in some ENOSPC conditions. | 113 | Disable/enable debugging option to be more verbose in some ENOSPC conditions. |
| 108 | 114 | ||
| 109 | fatal_errors=<action> | 115 | fatal_errors=<action> |
| 110 | Action to take when encountering a fatal error: | 116 | Action to take when encountering a fatal error: |
| 111 | "bug" - BUG() on a fatal error. This is the default. | 117 | "bug" - BUG() on a fatal error. This is the default. |
| 112 | "panic" - panic() on a fatal error. | 118 | "panic" - panic() on a fatal error. |
| 113 | 119 | ||
| 120 | noflushoncommit(*) | ||
| 114 | flushoncommit | 121 | flushoncommit |
| 115 | The 'flushoncommit' mount option forces any data dirtied by a write in a | 122 | The 'flushoncommit' mount option forces any data dirtied by a write in a |
| 116 | prior transaction to commit as part of the current commit. This makes | 123 | prior transaction to commit as part of the current commit. This makes |
| @@ -134,26 +141,32 @@ Unless otherwise specified, all options default to off. | |||
| 134 | Specify that 1 metadata chunk should be allocated after every <value> | 141 | Specify that 1 metadata chunk should be allocated after every <value> |
| 135 | data chunks. Off by default. | 142 | data chunks. Off by default. |
| 136 | 143 | ||
| 144 | acl(*) | ||
| 137 | noacl | 145 | noacl |
| 138 | Disable support for Posix Access Control Lists (ACLs). See the | 146 | Enable/disable support for Posix Access Control Lists (ACLs). See the |
| 139 | acl(5) manual page for more information about ACLs. | 147 | acl(5) manual page for more information about ACLs. |
| 140 | 148 | ||
| 149 | barrier(*) | ||
| 141 | nobarrier | 150 | nobarrier |
| 142 | Disables the use of block layer write barriers. Write barriers ensure | 151 | Enable/disable the use of block layer write barriers. Write barriers |
| 143 | that certain IOs make it through the device cache and are on persistent | 152 | ensure that certain IOs make it through the device cache and are on |
| 144 | storage. If used on a device with a volatile (non-battery-backed) | 153 | persistent storage. If disabled on a device with a volatile |
| 145 | write-back cache, this option will lead to filesystem corruption on a | 154 | (non-battery-backed) write-back cache, nobarrier option will lead to |
| 146 | system crash or power loss. | 155 | filesystem corruption on a system crash or power loss. |
| 147 | 156 | ||
| 157 | datacow(*) | ||
| 148 | nodatacow | 158 | nodatacow |
| 149 | Disable data copy-on-write for newly created files. Implies nodatasum, | 159 | Enable/disable data copy-on-write for newly created files. |
| 150 | and disables all compression. | 160 | Nodatacow implies nodatasum, and disables all compression. |
| 151 | 161 | ||
| 162 | datasum(*) | ||
| 152 | nodatasum | 163 | nodatasum |
| 153 | Disable data checksumming for newly created files. | 164 | Enable/disable data checksumming for newly created files. |
| 165 | Datasum implies datacow. | ||
| 154 | 166 | ||
| 167 | treelog(*) | ||
| 155 | notreelog | 168 | notreelog |
| 156 | Disable the tree logging used for fsync and O_SYNC writes. | 169 | Enable/disable the tree logging used for fsync and O_SYNC writes. |
| 157 | 170 | ||
| 158 | recovery | 171 | recovery |
| 159 | Enable autorecovery attempts if a bad tree root is found at mount time. | 172 | Enable autorecovery attempts if a bad tree root is found at mount time. |
diff --git a/Documentation/filesystems/f2fs.txt b/Documentation/filesystems/f2fs.txt index a3fe811bbdbc..b8d284975f0f 100644 --- a/Documentation/filesystems/f2fs.txt +++ b/Documentation/filesystems/f2fs.txt | |||
| @@ -120,6 +120,8 @@ active_logs=%u Support configuring the number of active logs. In the | |||
| 120 | disable_ext_identify Disable the extension list configured by mkfs, so f2fs | 120 | disable_ext_identify Disable the extension list configured by mkfs, so f2fs |
| 121 | does not aware of cold files such as media files. | 121 | does not aware of cold files such as media files. |
| 122 | inline_xattr Enable the inline xattrs feature. | 122 | inline_xattr Enable the inline xattrs feature. |
| 123 | inline_data Enable the inline data feature: New created small(<~3.4k) | ||
| 124 | files can be written into inode block. | ||
| 123 | 125 | ||
| 124 | ================================================================================ | 126 | ================================================================================ |
| 125 | DEBUGFS ENTRIES | 127 | DEBUGFS ENTRIES |
| @@ -171,6 +173,28 @@ Files in /sys/fs/f2fs/<devname> | |||
| 171 | conduct checkpoint to reclaim the prefree segments | 173 | conduct checkpoint to reclaim the prefree segments |
| 172 | to free segments. By default, 100 segments, 200MB. | 174 | to free segments. By default, 100 segments, 200MB. |
| 173 | 175 | ||
| 176 | max_small_discards This parameter controls the number of discard | ||
| 177 | commands that consist small blocks less than 2MB. | ||
| 178 | The candidates to be discarded are cached until | ||
| 179 | checkpoint is triggered, and issued during the | ||
| 180 | checkpoint. By default, it is disabled with 0. | ||
| 181 | |||
| 182 | ipu_policy This parameter controls the policy of in-place | ||
| 183 | updates in f2fs. There are five policies: | ||
| 184 | 0: F2FS_IPU_FORCE, 1: F2FS_IPU_SSR, | ||
| 185 | 2: F2FS_IPU_UTIL, 3: F2FS_IPU_SSR_UTIL, | ||
| 186 | 4: F2FS_IPU_DISABLE. | ||
| 187 | |||
| 188 | min_ipu_util This parameter controls the threshold to trigger | ||
| 189 | in-place-updates. The number indicates percentage | ||
| 190 | of the filesystem utilization, and used by | ||
| 191 | F2FS_IPU_UTIL and F2FS_IPU_SSR_UTIL policies. | ||
| 192 | |||
| 193 | max_victim_search This parameter controls the number of trials to | ||
| 194 | find a victim segment when conducting SSR and | ||
| 195 | cleaning operations. The default value is 4096 | ||
| 196 | which covers 8GB block address range. | ||
| 197 | |||
| 174 | ================================================================================ | 198 | ================================================================================ |
| 175 | USAGE | 199 | USAGE |
| 176 | ================================================================================ | 200 | ================================================================================ |
diff --git a/Documentation/filesystems/nfs/nfs41-server.txt b/Documentation/filesystems/nfs/nfs41-server.txt index 01c2db769791..b930ad087780 100644 --- a/Documentation/filesystems/nfs/nfs41-server.txt +++ b/Documentation/filesystems/nfs/nfs41-server.txt | |||
| @@ -5,11 +5,11 @@ Server support for minorversion 1 can be controlled using the | |||
| 5 | by reading this file will contain either "+4.1" or "-4.1" | 5 | by reading this file will contain either "+4.1" or "-4.1" |
| 6 | correspondingly. | 6 | correspondingly. |
| 7 | 7 | ||
| 8 | Currently, server support for minorversion 1 is disabled by default. | 8 | Currently, server support for minorversion 1 is enabled by default. |
| 9 | It can be enabled at run time by writing the string "+4.1" to | 9 | It can be disabled at run time by writing the string "-4.1" to |
| 10 | the /proc/fs/nfsd/versions control file. Note that to write this | 10 | the /proc/fs/nfsd/versions control file. Note that to write this |
| 11 | control file, the nfsd service must be taken down. Use your user-mode | 11 | control file, the nfsd service must be taken down. You can use rpc.nfsd |
| 12 | nfs-utils to set this up; see rpc.nfsd(8) | 12 | for this; see rpc.nfsd(8). |
| 13 | 13 | ||
| 14 | (Warning: older servers will interpret "+4.1" and "-4.1" as "+4" and | 14 | (Warning: older servers will interpret "+4.1" and "-4.1" as "+4" and |
| 15 | "-4", respectively. Therefore, code meant to work on both new and old | 15 | "-4", respectively. Therefore, code meant to work on both new and old |
| @@ -29,29 +29,6 @@ are still under development out of tree. | |||
| 29 | See http://wiki.linux-nfs.org/wiki/index.php/PNFS_prototype_design | 29 | See http://wiki.linux-nfs.org/wiki/index.php/PNFS_prototype_design |
| 30 | for more information. | 30 | for more information. |
| 31 | 31 | ||
| 32 | The current implementation is intended for developers only: while it | ||
| 33 | does support ordinary file operations on clients we have tested against | ||
| 34 | (including the linux client), it is incomplete in ways which may limit | ||
| 35 | features unexpectedly, cause known bugs in rare cases, or cause | ||
| 36 | interoperability problems with future clients. Known issues: | ||
| 37 | |||
| 38 | - gss support is questionable: currently mounts with kerberos | ||
| 39 | from a linux client are possible, but we aren't really | ||
| 40 | conformant with the spec (for example, we don't use kerberos | ||
| 41 | on the backchannel correctly). | ||
| 42 | - We do not support SSV, which provides security for shared | ||
| 43 | client-server state (thus preventing unauthorized tampering | ||
| 44 | with locks and opens, for example). It is mandatory for | ||
| 45 | servers to support this, though no clients use it yet. | ||
| 46 | |||
| 47 | In addition, some limitations are inherited from the current NFSv4 | ||
| 48 | implementation: | ||
| 49 | |||
| 50 | - Incomplete delegation enforcement: if a file is renamed or | ||
| 51 | unlinked by a local process, a client holding a delegation may | ||
| 52 | continue to indefinitely allow opens of the file under the old | ||
| 53 | name. | ||
| 54 | |||
| 55 | The table below, taken from the NFSv4.1 document, lists | 32 | The table below, taken from the NFSv4.1 document, lists |
| 56 | the operations that are mandatory to implement (REQ), optional | 33 | the operations that are mandatory to implement (REQ), optional |
| 57 | (OPT), and NFSv4.0 operations that are required not to implement (MNI) | 34 | (OPT), and NFSv4.0 operations that are required not to implement (MNI) |
| @@ -169,6 +146,16 @@ NS*| CB_WANTS_CANCELLED | OPT | FDELG, | Section 20.10 | | |||
| 169 | 146 | ||
| 170 | Implementation notes: | 147 | Implementation notes: |
| 171 | 148 | ||
| 149 | SSV: | ||
| 150 | * The spec claims this is mandatory, but we don't actually know of any | ||
| 151 | implementations, so we're ignoring it for now. The server returns | ||
| 152 | NFS4ERR_ENCR_ALG_UNSUPP on EXCHANGE_ID, which should be future-proof. | ||
| 153 | |||
| 154 | GSS on the backchannel: | ||
| 155 | * Again, theoretically required but not widely implemented (in | ||
| 156 | particular, the current Linux client doesn't request it). We return | ||
| 157 | NFS4ERR_ENCR_ALG_UNSUPP on CREATE_SESSION. | ||
| 158 | |||
| 172 | DELEGPURGE: | 159 | DELEGPURGE: |
| 173 | * mandatory only for servers that support CLAIM_DELEGATE_PREV and/or | 160 | * mandatory only for servers that support CLAIM_DELEGATE_PREV and/or |
| 174 | CLAIM_DELEG_PREV_FH (which allows clients to keep delegations that | 161 | CLAIM_DELEG_PREV_FH (which allows clients to keep delegations that |
| @@ -176,7 +163,6 @@ DELEGPURGE: | |||
| 176 | now. | 163 | now. |
| 177 | 164 | ||
| 178 | EXCHANGE_ID: | 165 | EXCHANGE_ID: |
| 179 | * only SP4_NONE state protection supported | ||
| 180 | * implementation ids are ignored | 166 | * implementation ids are ignored |
| 181 | 167 | ||
| 182 | CREATE_SESSION: | 168 | CREATE_SESSION: |
diff --git a/Documentation/filesystems/nilfs2.txt b/Documentation/filesystems/nilfs2.txt index 873a2ab2e9f8..06887d46ccf2 100644 --- a/Documentation/filesystems/nilfs2.txt +++ b/Documentation/filesystems/nilfs2.txt | |||
| @@ -81,6 +81,62 @@ nodiscard(*) The discard/TRIM commands are sent to the underlying | |||
| 81 | block device when blocks are freed. This is useful | 81 | block device when blocks are freed. This is useful |
| 82 | for SSD devices and sparse/thinly-provisioned LUNs. | 82 | for SSD devices and sparse/thinly-provisioned LUNs. |
| 83 | 83 | ||
| 84 | Ioctls | ||
| 85 | ====== | ||
| 86 | |||
| 87 | There is some NILFS2 specific functionality which can be accessed by applications | ||
| 88 | through the system call interfaces. The list of all NILFS2 specific ioctls are | ||
| 89 | shown in the table below. | ||
| 90 | |||
| 91 | Table of NILFS2 specific ioctls | ||
| 92 | .............................................................................. | ||
| 93 | Ioctl Description | ||
| 94 | NILFS_IOCTL_CHANGE_CPMODE Change mode of given checkpoint between | ||
| 95 | checkpoint and snapshot state. This ioctl is | ||
| 96 | used in chcp and mkcp utilities. | ||
| 97 | |||
| 98 | NILFS_IOCTL_DELETE_CHECKPOINT Remove checkpoint from NILFS2 file system. | ||
| 99 | This ioctl is used in rmcp utility. | ||
| 100 | |||
| 101 | NILFS_IOCTL_GET_CPINFO Return info about requested checkpoints. This | ||
| 102 | ioctl is used in lscp utility and by | ||
| 103 | nilfs_cleanerd daemon. | ||
| 104 | |||
| 105 | NILFS_IOCTL_GET_CPSTAT Return checkpoints statistics. This ioctl is | ||
| 106 | used by lscp, rmcp utilities and by | ||
| 107 | nilfs_cleanerd daemon. | ||
| 108 | |||
| 109 | NILFS_IOCTL_GET_SUINFO Return segment usage info about requested | ||
| 110 | segments. This ioctl is used in lssu, | ||
| 111 | nilfs_resize utilities and by nilfs_cleanerd | ||
| 112 | daemon. | ||
| 113 | |||
| 114 | NILFS_IOCTL_GET_SUSTAT Return segment usage statistics. This ioctl | ||
| 115 | is used in lssu, nilfs_resize utilities and | ||
| 116 | by nilfs_cleanerd daemon. | ||
| 117 | |||
| 118 | NILFS_IOCTL_GET_VINFO Return information on virtual block addresses. | ||
| 119 | This ioctl is used by nilfs_cleanerd daemon. | ||
| 120 | |||
| 121 | NILFS_IOCTL_GET_BDESCS Return information about descriptors of disk | ||
| 122 | block numbers. This ioctl is used by | ||
| 123 | nilfs_cleanerd daemon. | ||
| 124 | |||
| 125 | NILFS_IOCTL_CLEAN_SEGMENTS Do garbage collection operation in the | ||
| 126 | environment of requested parameters from | ||
| 127 | userspace. This ioctl is used by | ||
| 128 | nilfs_cleanerd daemon. | ||
| 129 | |||
| 130 | NILFS_IOCTL_SYNC Make a checkpoint. This ioctl is used in | ||
| 131 | mkcp utility. | ||
| 132 | |||
| 133 | NILFS_IOCTL_RESIZE Resize NILFS2 volume. This ioctl is used | ||
| 134 | by nilfs_resize utility. | ||
| 135 | |||
| 136 | NILFS_IOCTL_SET_ALLOC_RANGE Define lower limit of segments in bytes and | ||
| 137 | upper limit of segments in bytes. This ioctl | ||
| 138 | is used by nilfs_resize utility. | ||
| 139 | |||
| 84 | NILFS2 usage | 140 | NILFS2 usage |
| 85 | ============ | 141 | ============ |
| 86 | 142 | ||
diff --git a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt index 22d89aa37218..f00bee144add 100644 --- a/Documentation/filesystems/proc.txt +++ b/Documentation/filesystems/proc.txt | |||
| @@ -547,7 +547,7 @@ Table 1-5: Kernel info in /proc | |||
| 547 | sys See chapter 2 | 547 | sys See chapter 2 |
| 548 | sysvipc Info of SysVIPC Resources (msg, sem, shm) (2.4) | 548 | sysvipc Info of SysVIPC Resources (msg, sem, shm) (2.4) |
| 549 | tty Info of tty drivers | 549 | tty Info of tty drivers |
| 550 | uptime System uptime | 550 | uptime Wall clock since boot, combined idle time of all cpus |
| 551 | version Kernel version | 551 | version Kernel version |
| 552 | video bttv info of video resources (2.4) | 552 | video bttv info of video resources (2.4) |
| 553 | vmallocinfo Show vmalloced areas | 553 | vmallocinfo Show vmalloced areas |
| @@ -767,6 +767,7 @@ The "Locked" indicates whether the mapping is locked in memory or not. | |||
| 767 | 767 | ||
| 768 | MemTotal: 16344972 kB | 768 | MemTotal: 16344972 kB |
| 769 | MemFree: 13634064 kB | 769 | MemFree: 13634064 kB |
| 770 | MemAvailable: 14836172 kB | ||
| 770 | Buffers: 3656 kB | 771 | Buffers: 3656 kB |
| 771 | Cached: 1195708 kB | 772 | Cached: 1195708 kB |
| 772 | SwapCached: 0 kB | 773 | SwapCached: 0 kB |
| @@ -799,6 +800,14 @@ AnonHugePages: 49152 kB | |||
| 799 | MemTotal: Total usable ram (i.e. physical ram minus a few reserved | 800 | MemTotal: Total usable ram (i.e. physical ram minus a few reserved |
| 800 | bits and the kernel binary code) | 801 | bits and the kernel binary code) |
| 801 | MemFree: The sum of LowFree+HighFree | 802 | MemFree: The sum of LowFree+HighFree |
| 803 | MemAvailable: An estimate of how much memory is available for starting new | ||
| 804 | applications, without swapping. Calculated from MemFree, | ||
| 805 | SReclaimable, the size of the file LRU lists, and the low | ||
| 806 | watermarks in each zone. | ||
| 807 | The estimate takes into account that the system needs some | ||
| 808 | page cache to function well, and that not all reclaimable | ||
| 809 | slab will be reclaimable, due to items being in use. The | ||
| 810 | impact of those factors will vary from system to system. | ||
| 802 | Buffers: Relatively temporary storage for raw disk blocks | 811 | Buffers: Relatively temporary storage for raw disk blocks |
| 803 | shouldn't get tremendously large (20MB or so) | 812 | shouldn't get tremendously large (20MB or so) |
| 804 | Cached: in-memory cache for files read from the disk (the | 813 | Cached: in-memory cache for files read from the disk (the |
| @@ -1377,8 +1386,8 @@ may allocate from based on an estimation of its current memory and swap use. | |||
| 1377 | For example, if a task is using all allowed memory, its badness score will be | 1386 | For example, if a task is using all allowed memory, its badness score will be |
| 1378 | 1000. If it is using half of its allowed memory, its score will be 500. | 1387 | 1000. If it is using half of its allowed memory, its score will be 500. |
| 1379 | 1388 | ||
| 1380 | There is an additional factor included in the badness score: root | 1389 | There is an additional factor included in the badness score: the current memory |
| 1381 | processes are given 3% extra memory over other tasks. | 1390 | and swap usage is discounted by 3% for root processes. |
| 1382 | 1391 | ||
| 1383 | The amount of "allowed" memory depends on the context in which the oom killer | 1392 | The amount of "allowed" memory depends on the context in which the oom killer |
| 1384 | was called. If it is due to the memory assigned to the allocating task's cpuset | 1393 | was called. If it is due to the memory assigned to the allocating task's cpuset |
diff --git a/Documentation/filesystems/sysfs.txt b/Documentation/filesystems/sysfs.txt index a6619b7064b9..b35a64b82f9e 100644 --- a/Documentation/filesystems/sysfs.txt +++ b/Documentation/filesystems/sysfs.txt | |||
| @@ -108,12 +108,12 @@ static DEVICE_ATTR(foo, S_IWUSR | S_IRUGO, show_foo, store_foo); | |||
| 108 | is equivalent to doing: | 108 | is equivalent to doing: |
| 109 | 109 | ||
| 110 | static struct device_attribute dev_attr_foo = { | 110 | static struct device_attribute dev_attr_foo = { |
| 111 | .attr = { | 111 | .attr = { |
| 112 | .name = "foo", | 112 | .name = "foo", |
| 113 | .mode = S_IWUSR | S_IRUGO, | 113 | .mode = S_IWUSR | S_IRUGO, |
| 114 | .show = show_foo, | ||
| 115 | .store = store_foo, | ||
| 116 | }, | 114 | }, |
| 115 | .show = show_foo, | ||
| 116 | .store = store_foo, | ||
| 117 | }; | 117 | }; |
| 118 | 118 | ||
| 119 | 119 | ||
diff --git a/Documentation/filesystems/vfs.txt b/Documentation/filesystems/vfs.txt index deb48b5fd883..c53784c119c8 100644 --- a/Documentation/filesystems/vfs.txt +++ b/Documentation/filesystems/vfs.txt | |||
| @@ -782,7 +782,7 @@ struct file_operations | |||
| 782 | ---------------------- | 782 | ---------------------- |
| 783 | 783 | ||
| 784 | This describes how the VFS can manipulate an open file. As of kernel | 784 | This describes how the VFS can manipulate an open file. As of kernel |
| 785 | 3.5, the following members are defined: | 785 | 3.12, the following members are defined: |
| 786 | 786 | ||
| 787 | struct file_operations { | 787 | struct file_operations { |
| 788 | struct module *owner; | 788 | struct module *owner; |
| @@ -803,9 +803,6 @@ struct file_operations { | |||
| 803 | int (*aio_fsync) (struct kiocb *, int datasync); | 803 | int (*aio_fsync) (struct kiocb *, int datasync); |
| 804 | int (*fasync) (int, struct file *, int); | 804 | int (*fasync) (int, struct file *, int); |
| 805 | int (*lock) (struct file *, int, struct file_lock *); | 805 | int (*lock) (struct file *, int, struct file_lock *); |
| 806 | ssize_t (*readv) (struct file *, const struct iovec *, unsigned long, loff_t *); | ||
| 807 | ssize_t (*writev) (struct file *, const struct iovec *, unsigned long, loff_t *); | ||
| 808 | ssize_t (*sendfile) (struct file *, loff_t *, size_t, read_actor_t, void *); | ||
| 809 | ssize_t (*sendpage) (struct file *, struct page *, int, size_t, loff_t *, int); | 806 | ssize_t (*sendpage) (struct file *, struct page *, int, size_t, loff_t *, int); |
| 810 | unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long); | 807 | unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long); |
| 811 | int (*check_flags)(int); | 808 | int (*check_flags)(int); |
| @@ -814,6 +811,7 @@ struct file_operations { | |||
| 814 | ssize_t (*splice_read)(struct file *, struct pipe_inode_info *, size_t, unsigned int); | 811 | ssize_t (*splice_read)(struct file *, struct pipe_inode_info *, size_t, unsigned int); |
| 815 | int (*setlease)(struct file *, long arg, struct file_lock **); | 812 | int (*setlease)(struct file *, long arg, struct file_lock **); |
| 816 | long (*fallocate)(struct file *, int mode, loff_t offset, loff_t len); | 813 | long (*fallocate)(struct file *, int mode, loff_t offset, loff_t len); |
| 814 | int (*show_fdinfo)(struct seq_file *m, struct file *f); | ||
| 817 | }; | 815 | }; |
| 818 | 816 | ||
| 819 | Again, all methods are called without any locks being held, unless | 817 | Again, all methods are called without any locks being held, unless |
| @@ -864,12 +862,6 @@ otherwise noted. | |||
| 864 | lock: called by the fcntl(2) system call for F_GETLK, F_SETLK, and F_SETLKW | 862 | lock: called by the fcntl(2) system call for F_GETLK, F_SETLK, and F_SETLKW |
| 865 | commands | 863 | commands |
| 866 | 864 | ||
| 867 | readv: called by the readv(2) system call | ||
| 868 | |||
| 869 | writev: called by the writev(2) system call | ||
| 870 | |||
| 871 | sendfile: called by the sendfile(2) system call | ||
| 872 | |||
| 873 | get_unmapped_area: called by the mmap(2) system call | 865 | get_unmapped_area: called by the mmap(2) system call |
| 874 | 866 | ||
| 875 | check_flags: called by the fcntl(2) system call for F_SETFL command | 867 | check_flags: called by the fcntl(2) system call for F_SETFL command |
