diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-10 10:52:35 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-10 10:52:35 -0400 |
commit | df632d3ce7eacf92ad9b642301c7b53a1d95b8d8 (patch) | |
tree | 848c39ed4f7cfdb582bf2e0a0a03147efaa5198d /Documentation | |
parent | 2474542f64432398f503373f53bdf620491bcfa8 (diff) | |
parent | af283885b70248268617955a5ea5476647bd556b (diff) |
Merge tag 'nfs-for-3.7-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs
Pull NFS client updates from Trond Myklebust:
"Features include:
- Remove CONFIG_EXPERIMENTAL dependency from NFSv4.1
Aside from the issues discussed at the LKS, distros are shipping
NFSv4.1 with all the trimmings.
- Fix fdatasync()/fsync() for the corner case of a server reboot.
- NFSv4 OPEN access fix: finally distinguish correctly between
open-for-read and open-for-execute permissions in all situations.
- Ensure that the TCP socket is closed when we're in CLOSE_WAIT
- More idmapper bugfixes
- Lots of pNFS bugfixes and cleanups to remove unnecessary state and
make the code easier to read.
- In cases where a pNFS read or write fails, allow the client to
resume trying layoutgets after two minutes of read/write-
through-mds.
- More net namespace fixes to the NFSv4 callback code.
- More net namespace fixes to the NFSv3 locking code.
- More NFSv4 migration preparatory patches.
Including patches to detect network trunking in both NFSv4 and
NFSv4.1
- pNFS block updates to optimise LAYOUTGET calls."
* tag 'nfs-for-3.7-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (113 commits)
pnfsblock: cleanup nfs4_blkdev_get
NFS41: send real read size in layoutget
NFS41: send real write size in layoutget
NFS: track direct IO left bytes
NFSv4.1: Cleanup ugliness in pnfs_layoutgets_blocked()
NFSv4.1: Ensure that the layout sequence id stays 'close' to the current
NFSv4.1: Deal with seqid wraparound in the pNFS return-on-close code
NFSv4 set open access operation call flag in nfs4_init_opendata_res
NFSv4.1: Remove the dependency on CONFIG_EXPERIMENTAL
NFSv4 reduce attribute requests for open reclaim
NFSv4: nfs4_open_done first must check that GETATTR decoded a file type
NFSv4.1: Deal with wraparound when updating the layout "barrier" seqid
NFSv4.1: Deal with wraparound issues when updating the layout stateid
NFSv4.1: Always set the layout stateid if this is the first layoutget
NFSv4.1: Fix another refcount issue in pnfs_find_alloc_layout
NFSv4: don't put ACCESS in OPEN compound if O_EXCL
NFSv4: don't check MAY_WRITE access bit in OPEN
NFS: Set key construction data for the legacy upcall
NFSv4.1: don't do two EXCHANGE_IDs on mount
NFS: nfs41_walk_client_list(): re-lock before iterating
...
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/filesystems/nfs/nfs.txt | 44 | ||||
-rw-r--r-- | Documentation/kernel-parameters.txt | 5 |
2 files changed, 46 insertions, 3 deletions
diff --git a/Documentation/filesystems/nfs/nfs.txt b/Documentation/filesystems/nfs/nfs.txt index f50f26ce6cd0..f2571c8bef74 100644 --- a/Documentation/filesystems/nfs/nfs.txt +++ b/Documentation/filesystems/nfs/nfs.txt | |||
@@ -12,9 +12,47 @@ and work is in progress on adding support for minor version 1 of the NFSv4 | |||
12 | protocol. | 12 | protocol. |
13 | 13 | ||
14 | The purpose of this document is to provide information on some of the | 14 | The purpose of this document is to provide information on some of the |
15 | upcall interfaces that are used in order to provide the NFS client with | 15 | special features of the NFS client that can be configured by system |
16 | some of the information that it requires in order to fully comply with | 16 | administrators. |
17 | the NFS spec. | 17 | |
18 | |||
19 | The nfs4_unique_id parameter | ||
20 | ============================ | ||
21 | |||
22 | NFSv4 requires clients to identify themselves to servers with a unique | ||
23 | string. File open and lock state shared between one client and one server | ||
24 | is associated with this identity. To support robust NFSv4 state recovery | ||
25 | and transparent state migration, this identity string must not change | ||
26 | across client reboots. | ||
27 | |||
28 | Without any other intervention, the Linux client uses a string that contains | ||
29 | the local system's node name. System administrators, however, often do not | ||
30 | take care to ensure that node names are fully qualified and do not change | ||
31 | over the lifetime of a client system. Node names can have other | ||
32 | administrative requirements that require particular behavior that does not | ||
33 | work well as part of an nfs_client_id4 string. | ||
34 | |||
35 | The nfs.nfs4_unique_id boot parameter specifies a unique string that can be | ||
36 | used instead of a system's node name when an NFS client identifies itself to | ||
37 | a server. Thus, if the system's node name is not unique, or it changes, its | ||
38 | nfs.nfs4_unique_id stays the same, preventing collision with other clients | ||
39 | or loss of state during NFS reboot recovery or transparent state migration. | ||
40 | |||
41 | The nfs.nfs4_unique_id string is typically a UUID, though it can contain | ||
42 | anything that is believed to be unique across all NFS clients. An | ||
43 | nfs4_unique_id string should be chosen when a client system is installed, | ||
44 | just as a system's root file system gets a fresh UUID in its label at | ||
45 | install time. | ||
46 | |||
47 | The string should remain fixed for the lifetime of the client. It can be | ||
48 | changed safely if care is taken that the client shuts down cleanly and all | ||
49 | outstanding NFSv4 state has expired, to prevent loss of NFSv4 state. | ||
50 | |||
51 | This string can be stored in an NFS client's grub.conf, or it can be provided | ||
52 | via a net boot facility such as PXE. It may also be specified as an nfs.ko | ||
53 | module parameter. Specifying a uniquifier string is not support for NFS | ||
54 | clients running in containers. | ||
55 | |||
18 | 56 | ||
19 | The DNS resolver | 57 | The DNS resolver |
20 | ================ | 58 | ================ |
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index f777fa96243d..e2ed3360b708 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -1730,6 +1730,11 @@ bytes respectively. Such letter suffixes can also be entirely omitted. | |||
1730 | will be autodetected by the client, and it will fall | 1730 | will be autodetected by the client, and it will fall |
1731 | back to using the idmapper. | 1731 | back to using the idmapper. |
1732 | To turn off this behaviour, set the value to '0'. | 1732 | To turn off this behaviour, set the value to '0'. |
1733 | nfs.nfs4_unique_id= | ||
1734 | [NFS4] Specify an additional fixed unique ident- | ||
1735 | ification string that NFSv4 clients can insert into | ||
1736 | their nfs_client_id4 string. This is typically a | ||
1737 | UUID that is generated at system install time. | ||
1733 | 1738 | ||
1734 | nfs.send_implementation_id = | 1739 | nfs.send_implementation_id = |
1735 | [NFSv4.1] Send client implementation identification | 1740 | [NFSv4.1] Send client implementation identification |