diff options
Diffstat (limited to 'Documentation/filesystems')
| -rw-r--r-- | Documentation/filesystems/Locking | 5 | ||||
| -rw-r--r-- | Documentation/filesystems/f2fs.txt | 8 | ||||
| -rw-r--r-- | Documentation/filesystems/nfs/nfs41-server.txt | 2 | ||||
| -rw-r--r-- | Documentation/filesystems/proc.txt | 12 | ||||
| -rw-r--r-- | Documentation/filesystems/seq_file.txt | 9 | ||||
| -rw-r--r-- | Documentation/filesystems/sharedsubtree.txt | 2 | ||||
| -rw-r--r-- | Documentation/filesystems/vfat.txt | 5 | ||||
| -rw-r--r-- | Documentation/filesystems/vfs.txt | 13 |
8 files changed, 38 insertions, 18 deletions
diff --git a/Documentation/filesystems/Locking b/Documentation/filesystems/Locking index eba790134253..b18dd1779029 100644 --- a/Documentation/filesystems/Locking +++ b/Documentation/filesystems/Locking | |||
| @@ -196,8 +196,7 @@ prototypes: | |||
| 196 | void (*invalidatepage) (struct page *, unsigned int, unsigned int); | 196 | void (*invalidatepage) (struct page *, unsigned int, unsigned int); |
| 197 | int (*releasepage) (struct page *, int); | 197 | int (*releasepage) (struct page *, int); |
| 198 | void (*freepage)(struct page *); | 198 | void (*freepage)(struct page *); |
| 199 | int (*direct_IO)(int, struct kiocb *, const struct iovec *iov, | 199 | int (*direct_IO)(int, struct kiocb *, struct iov_iter *iter, loff_t offset); |
| 200 | loff_t offset, unsigned long nr_segs); | ||
| 201 | int (*get_xip_mem)(struct address_space *, pgoff_t, int, void **, | 200 | int (*get_xip_mem)(struct address_space *, pgoff_t, int, void **, |
| 202 | unsigned long *); | 201 | unsigned long *); |
| 203 | int (*migratepage)(struct address_space *, struct page *, struct page *); | 202 | int (*migratepage)(struct address_space *, struct page *, struct page *); |
| @@ -431,6 +430,8 @@ prototypes: | |||
| 431 | ssize_t (*write) (struct file *, const char __user *, size_t, loff_t *); | 430 | ssize_t (*write) (struct file *, const char __user *, size_t, loff_t *); |
| 432 | ssize_t (*aio_read) (struct kiocb *, const struct iovec *, unsigned long, loff_t); | 431 | ssize_t (*aio_read) (struct kiocb *, const struct iovec *, unsigned long, loff_t); |
| 433 | ssize_t (*aio_write) (struct kiocb *, const struct iovec *, unsigned long, loff_t); | 432 | ssize_t (*aio_write) (struct kiocb *, const struct iovec *, unsigned long, loff_t); |
| 433 | ssize_t (*read_iter) (struct kiocb *, struct iov_iter *); | ||
| 434 | ssize_t (*write_iter) (struct kiocb *, struct iov_iter *); | ||
| 434 | int (*iterate) (struct file *, struct dir_context *); | 435 | int (*iterate) (struct file *, struct dir_context *); |
| 435 | unsigned int (*poll) (struct file *, struct poll_table_struct *); | 436 | unsigned int (*poll) (struct file *, struct poll_table_struct *); |
| 436 | long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long); | 437 | long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long); |
diff --git a/Documentation/filesystems/f2fs.txt b/Documentation/filesystems/f2fs.txt index 25311e113e75..51afba17bbae 100644 --- a/Documentation/filesystems/f2fs.txt +++ b/Documentation/filesystems/f2fs.txt | |||
| @@ -461,11 +461,11 @@ The number of blocks and buckets are determined by, | |||
| 461 | # of blocks in level #n = | | 461 | # of blocks in level #n = | |
| 462 | `- 4, Otherwise | 462 | `- 4, Otherwise |
| 463 | 463 | ||
| 464 | ,- 2^ (n + dir_level), | 464 | ,- 2^(n + dir_level), |
| 465 | | if n < MAX_DIR_HASH_DEPTH / 2, | 465 | | if n + dir_level < MAX_DIR_HASH_DEPTH / 2, |
| 466 | # of buckets in level #n = | | 466 | # of buckets in level #n = | |
| 467 | `- 2^((MAX_DIR_HASH_DEPTH / 2 + dir_level) - 1), | 467 | `- 2^((MAX_DIR_HASH_DEPTH / 2) - 1), |
| 468 | Otherwise | 468 | Otherwise |
| 469 | 469 | ||
| 470 | When F2FS finds a file name in a directory, at first a hash value of the file | 470 | When F2FS finds a file name in a directory, at first a hash value of the file |
| 471 | name is calculated. Then, F2FS scans the hash table in level #0 to find the | 471 | name is calculated. Then, F2FS scans the hash table in level #0 to find the |
diff --git a/Documentation/filesystems/nfs/nfs41-server.txt b/Documentation/filesystems/nfs/nfs41-server.txt index b930ad087780..c49cd7e796e7 100644 --- a/Documentation/filesystems/nfs/nfs41-server.txt +++ b/Documentation/filesystems/nfs/nfs41-server.txt | |||
| @@ -176,7 +176,5 @@ Nonstandard compound limitations: | |||
| 176 | ca_maxrequestsize request and a ca_maxresponsesize reply, so we may | 176 | ca_maxrequestsize request and a ca_maxresponsesize reply, so we may |
| 177 | fail to live up to the promise we made in CREATE_SESSION fore channel | 177 | fail to live up to the promise we made in CREATE_SESSION fore channel |
| 178 | negotiation. | 178 | negotiation. |
| 179 | * No more than one read-like operation allowed per compound; encoding | ||
| 180 | replies that cross page boundaries (except for read data) not handled. | ||
| 181 | 179 | ||
| 182 | See also http://wiki.linux-nfs.org/wiki/index.php/Server_4.0_and_4.1_issues. | 180 | See also http://wiki.linux-nfs.org/wiki/index.php/Server_4.0_and_4.1_issues. |
diff --git a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt index 8b9cd8eb3f91..ddc531a74d04 100644 --- a/Documentation/filesystems/proc.txt +++ b/Documentation/filesystems/proc.txt | |||
| @@ -234,7 +234,7 @@ Table 1-2: Contents of the status files (as of 2.6.30-rc7) | |||
| 234 | ShdPnd bitmap of shared pending signals for the process | 234 | ShdPnd bitmap of shared pending signals for the process |
| 235 | SigBlk bitmap of blocked signals | 235 | SigBlk bitmap of blocked signals |
| 236 | SigIgn bitmap of ignored signals | 236 | SigIgn bitmap of ignored signals |
| 237 | SigCgt bitmap of catched signals | 237 | SigCgt bitmap of caught signals |
| 238 | CapInh bitmap of inheritable capabilities | 238 | CapInh bitmap of inheritable capabilities |
| 239 | CapPrm bitmap of permitted capabilities | 239 | CapPrm bitmap of permitted capabilities |
| 240 | CapEff bitmap of effective capabilities | 240 | CapEff bitmap of effective capabilities |
| @@ -300,7 +300,7 @@ Table 1-4: Contents of the stat files (as of 2.6.30-rc7) | |||
| 300 | pending bitmap of pending signals | 300 | pending bitmap of pending signals |
| 301 | blocked bitmap of blocked signals | 301 | blocked bitmap of blocked signals |
| 302 | sigign bitmap of ignored signals | 302 | sigign bitmap of ignored signals |
| 303 | sigcatch bitmap of catched signals | 303 | sigcatch bitmap of caught signals |
| 304 | wchan address where process went to sleep | 304 | wchan address where process went to sleep |
| 305 | 0 (place holder) | 305 | 0 (place holder) |
| 306 | 0 (place holder) | 306 | 0 (place holder) |
| @@ -854,7 +854,8 @@ WritebackTmp: Memory used by FUSE for temporary writeback buffers | |||
| 854 | if strict overcommit accounting is enabled (mode 2 in | 854 | if strict overcommit accounting is enabled (mode 2 in |
| 855 | 'vm.overcommit_memory'). | 855 | 'vm.overcommit_memory'). |
| 856 | The CommitLimit is calculated with the following formula: | 856 | The CommitLimit is calculated with the following formula: |
| 857 | CommitLimit = ('vm.overcommit_ratio' * Physical RAM) + Swap | 857 | CommitLimit = ([total RAM pages] - [total huge TLB pages]) * |
| 858 | overcommit_ratio / 100 + [total swap pages] | ||
| 858 | For example, on a system with 1G of physical RAM and 7G | 859 | For example, on a system with 1G of physical RAM and 7G |
| 859 | of swap with a `vm.overcommit_ratio` of 30 it would | 860 | of swap with a `vm.overcommit_ratio` of 30 it would |
| 860 | yield a CommitLimit of 7.3G. | 861 | yield a CommitLimit of 7.3G. |
| @@ -1245,8 +1246,9 @@ second). The meanings of the columns are as follows, from left to right: | |||
| 1245 | 1246 | ||
| 1246 | The "intr" line gives counts of interrupts serviced since boot time, for each | 1247 | The "intr" line gives counts of interrupts serviced since boot time, for each |
| 1247 | of the possible system interrupts. The first column is the total of all | 1248 | of the possible system interrupts. The first column is the total of all |
| 1248 | interrupts serviced; each subsequent column is the total for that particular | 1249 | interrupts serviced including unnumbered architecture specific interrupts; |
| 1249 | interrupt. | 1250 | each subsequent column is the total for that particular numbered interrupt. |
| 1251 | Unnumbered interrupts are not shown, only summed into the total. | ||
| 1250 | 1252 | ||
| 1251 | The "ctxt" line gives the total number of context switches across all CPUs. | 1253 | The "ctxt" line gives the total number of context switches across all CPUs. |
| 1252 | 1254 | ||
diff --git a/Documentation/filesystems/seq_file.txt b/Documentation/filesystems/seq_file.txt index a1e2e0dda907..1fe0ccb1af55 100644 --- a/Documentation/filesystems/seq_file.txt +++ b/Documentation/filesystems/seq_file.txt | |||
| @@ -54,6 +54,15 @@ how the mechanism works without getting lost in other details. (Those | |||
| 54 | wanting to see the full source for this module can find it at | 54 | wanting to see the full source for this module can find it at |
| 55 | http://lwn.net/Articles/22359/). | 55 | http://lwn.net/Articles/22359/). |
| 56 | 56 | ||
| 57 | Deprecated create_proc_entry | ||
| 58 | |||
| 59 | Note that the above article uses create_proc_entry which was removed in | ||
| 60 | kernel 3.10. Current versions require the following update | ||
| 61 | |||
| 62 | - entry = create_proc_entry("sequence", 0, NULL); | ||
| 63 | - if (entry) | ||
| 64 | - entry->proc_fops = &ct_file_ops; | ||
| 65 | + entry = proc_create("sequence", 0, NULL, &ct_file_ops); | ||
| 57 | 66 | ||
| 58 | The iterator interface | 67 | The iterator interface |
| 59 | 68 | ||
diff --git a/Documentation/filesystems/sharedsubtree.txt b/Documentation/filesystems/sharedsubtree.txt index 4ede421c9687..32a173dd3158 100644 --- a/Documentation/filesystems/sharedsubtree.txt +++ b/Documentation/filesystems/sharedsubtree.txt | |||
| @@ -727,7 +727,7 @@ replicas continue to be exactly same. | |||
| 727 | mkdir -p /tmp/m3 | 727 | mkdir -p /tmp/m3 |
| 728 | mount --rbind /root /tmp/m3 | 728 | mount --rbind /root /tmp/m3 |
| 729 | 729 | ||
| 730 | I wont' draw the tree..but it has 24 vfsmounts | 730 | I won't draw the tree..but it has 24 vfsmounts |
| 731 | 731 | ||
| 732 | 732 | ||
| 733 | at step i the number of vfsmounts is V[i] = i*V[i-1]. | 733 | at step i the number of vfsmounts is V[i] = i*V[i-1]. |
diff --git a/Documentation/filesystems/vfat.txt b/Documentation/filesystems/vfat.txt index 4a93e98b290a..ce1126aceed8 100644 --- a/Documentation/filesystems/vfat.txt +++ b/Documentation/filesystems/vfat.txt | |||
| @@ -172,6 +172,11 @@ nfs=stale_rw|nostale_ro | |||
| 172 | To maintain backward compatibility, '-o nfs' is also accepted, | 172 | To maintain backward compatibility, '-o nfs' is also accepted, |
| 173 | defaulting to stale_rw | 173 | defaulting to stale_rw |
| 174 | 174 | ||
| 175 | dos1xfloppy -- If set, use a fallback default BIOS Parameter Block | ||
| 176 | configuration, determined by backing device size. These static | ||
| 177 | parameters match defaults assumed by DOS 1.x for 160 kiB, | ||
| 178 | 180 kiB, 320 kiB, and 360 kiB floppies and floppy images. | ||
| 179 | |||
| 175 | 180 | ||
| 176 | <bool>: 0,1,yes,no,true,false | 181 | <bool>: 0,1,yes,no,true,false |
| 177 | 182 | ||
diff --git a/Documentation/filesystems/vfs.txt b/Documentation/filesystems/vfs.txt index 617f6d70c077..a1d0d7a30165 100644 --- a/Documentation/filesystems/vfs.txt +++ b/Documentation/filesystems/vfs.txt | |||
| @@ -589,8 +589,7 @@ struct address_space_operations { | |||
| 589 | void (*invalidatepage) (struct page *, unsigned int, unsigned int); | 589 | void (*invalidatepage) (struct page *, unsigned int, unsigned int); |
| 590 | int (*releasepage) (struct page *, int); | 590 | int (*releasepage) (struct page *, int); |
| 591 | void (*freepage)(struct page *); | 591 | void (*freepage)(struct page *); |
| 592 | ssize_t (*direct_IO)(int, struct kiocb *, const struct iovec *iov, | 592 | ssize_t (*direct_IO)(int, struct kiocb *, struct iov_iter *iter, loff_t offset); |
| 593 | loff_t offset, unsigned long nr_segs); | ||
| 594 | struct page* (*get_xip_page)(struct address_space *, sector_t, | 593 | struct page* (*get_xip_page)(struct address_space *, sector_t, |
| 595 | int); | 594 | int); |
| 596 | /* migrate the contents of a page to the specified target */ | 595 | /* migrate the contents of a page to the specified target */ |
| @@ -807,6 +806,8 @@ struct file_operations { | |||
| 807 | ssize_t (*write) (struct file *, const char __user *, size_t, loff_t *); | 806 | ssize_t (*write) (struct file *, const char __user *, size_t, loff_t *); |
| 808 | ssize_t (*aio_read) (struct kiocb *, const struct iovec *, unsigned long, loff_t); | 807 | ssize_t (*aio_read) (struct kiocb *, const struct iovec *, unsigned long, loff_t); |
| 809 | ssize_t (*aio_write) (struct kiocb *, const struct iovec *, unsigned long, loff_t); | 808 | ssize_t (*aio_write) (struct kiocb *, const struct iovec *, unsigned long, loff_t); |
| 809 | ssize_t (*read_iter) (struct kiocb *, struct iov_iter *); | ||
| 810 | ssize_t (*write_iter) (struct kiocb *, struct iov_iter *); | ||
| 810 | int (*iterate) (struct file *, struct dir_context *); | 811 | int (*iterate) (struct file *, struct dir_context *); |
| 811 | unsigned int (*poll) (struct file *, struct poll_table_struct *); | 812 | unsigned int (*poll) (struct file *, struct poll_table_struct *); |
| 812 | long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long); | 813 | long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long); |
| @@ -837,11 +838,15 @@ otherwise noted. | |||
| 837 | 838 | ||
| 838 | read: called by read(2) and related system calls | 839 | read: called by read(2) and related system calls |
| 839 | 840 | ||
| 840 | aio_read: called by io_submit(2) and other asynchronous I/O operations | 841 | aio_read: vectored, possibly asynchronous read |
| 842 | |||
| 843 | read_iter: possibly asynchronous read with iov_iter as destination | ||
| 841 | 844 | ||
| 842 | write: called by write(2) and related system calls | 845 | write: called by write(2) and related system calls |
| 843 | 846 | ||
| 844 | aio_write: called by io_submit(2) and other asynchronous I/O operations | 847 | aio_write: vectored, possibly asynchronous write |
| 848 | |||
| 849 | write_iter: possibly asynchronous write with iov_iter as source | ||
| 845 | 850 | ||
| 846 | iterate: called when the VFS needs to read the directory contents | 851 | iterate: called when the VFS needs to read the directory contents |
| 847 | 852 | ||
