diff options
author | J. Bruce Fields <bfields@redhat.com> | 2012-03-21 16:42:14 -0400 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2012-03-26 11:48:54 -0400 |
commit | 1df00640c9111c881633d9b219f18e66c52599ec (patch) | |
tree | e36d3924d84f47ec93f6650ff1fd5b8ea7d10d24 /Documentation | |
parent | ab4684d1560f8d77f6ce82bd3f1f82937070d397 (diff) | |
parent | 5a7c9eec9fde1da0e3adf0a4ddb64ff2a324a492 (diff) |
Merge nfs containerization work from Trond's tree
The nfs containerization work is a prerequisite for Jeff Layton's reboot
recovery rework.
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/DocBook/device-drivers.tmpl | 12 | ||||
-rw-r--r-- | Documentation/filesystems/nfs/idmapper.txt | 20 | ||||
-rw-r--r-- | Documentation/filesystems/nfs/pnfs.txt | 54 | ||||
-rw-r--r-- | Documentation/kernel-parameters.txt | 23 |
4 files changed, 101 insertions, 8 deletions
diff --git a/Documentation/DocBook/device-drivers.tmpl b/Documentation/DocBook/device-drivers.tmpl index 2f7fd4360848..9c27e5125dd2 100644 --- a/Documentation/DocBook/device-drivers.tmpl +++ b/Documentation/DocBook/device-drivers.tmpl | |||
@@ -102,9 +102,12 @@ X!Iinclude/linux/kobject.h | |||
102 | !Iinclude/linux/device.h | 102 | !Iinclude/linux/device.h |
103 | </sect1> | 103 | </sect1> |
104 | <sect1><title>Device Drivers Base</title> | 104 | <sect1><title>Device Drivers Base</title> |
105 | !Idrivers/base/init.c | ||
105 | !Edrivers/base/driver.c | 106 | !Edrivers/base/driver.c |
106 | !Edrivers/base/core.c | 107 | !Edrivers/base/core.c |
108 | !Edrivers/base/syscore.c | ||
107 | !Edrivers/base/class.c | 109 | !Edrivers/base/class.c |
110 | !Idrivers/base/node.c | ||
108 | !Edrivers/base/firmware_class.c | 111 | !Edrivers/base/firmware_class.c |
109 | !Edrivers/base/transport_class.c | 112 | !Edrivers/base/transport_class.c |
110 | <!-- Cannot be included, because | 113 | <!-- Cannot be included, because |
@@ -113,7 +116,7 @@ X!Iinclude/linux/kobject.h | |||
113 | exceed allowed 44 characters maximum | 116 | exceed allowed 44 characters maximum |
114 | X!Edrivers/base/attribute_container.c | 117 | X!Edrivers/base/attribute_container.c |
115 | --> | 118 | --> |
116 | !Edrivers/base/sys.c | 119 | !Edrivers/base/dd.c |
117 | <!-- | 120 | <!-- |
118 | X!Edrivers/base/interface.c | 121 | X!Edrivers/base/interface.c |
119 | --> | 122 | --> |
@@ -121,6 +124,11 @@ X!Edrivers/base/interface.c | |||
121 | !Edrivers/base/platform.c | 124 | !Edrivers/base/platform.c |
122 | !Edrivers/base/bus.c | 125 | !Edrivers/base/bus.c |
123 | </sect1> | 126 | </sect1> |
127 | <sect1><title>Device Drivers DMA Management</title> | ||
128 | !Edrivers/base/dma-buf.c | ||
129 | !Edrivers/base/dma-coherent.c | ||
130 | !Edrivers/base/dma-mapping.c | ||
131 | </sect1> | ||
124 | <sect1><title>Device Drivers Power Management</title> | 132 | <sect1><title>Device Drivers Power Management</title> |
125 | !Edrivers/base/power/main.c | 133 | !Edrivers/base/power/main.c |
126 | </sect1> | 134 | </sect1> |
@@ -219,7 +227,7 @@ X!Isound/sound_firmware.c | |||
219 | <chapter id="uart16x50"> | 227 | <chapter id="uart16x50"> |
220 | <title>16x50 UART Driver</title> | 228 | <title>16x50 UART Driver</title> |
221 | !Edrivers/tty/serial/serial_core.c | 229 | !Edrivers/tty/serial/serial_core.c |
222 | !Edrivers/tty/serial/8250.c | 230 | !Edrivers/tty/serial/8250/8250.c |
223 | </chapter> | 231 | </chapter> |
224 | 232 | ||
225 | <chapter id="fbdev"> | 233 | <chapter id="fbdev"> |
diff --git a/Documentation/filesystems/nfs/idmapper.txt b/Documentation/filesystems/nfs/idmapper.txt index 120fd3cf7fd9..fe03d10bb79a 100644 --- a/Documentation/filesystems/nfs/idmapper.txt +++ b/Documentation/filesystems/nfs/idmapper.txt | |||
@@ -4,13 +4,21 @@ ID Mapper | |||
4 | ========= | 4 | ========= |
5 | Id mapper is used by NFS to translate user and group ids into names, and to | 5 | Id mapper is used by NFS to translate user and group ids into names, and to |
6 | translate user and group names into ids. Part of this translation involves | 6 | translate user and group names into ids. Part of this translation involves |
7 | performing an upcall to userspace to request the information. Id mapper will | 7 | performing an upcall to userspace to request the information. There are two |
8 | user request-key to perform this upcall and cache the result. The program | 8 | ways NFS could obtain this information: placing a call to /sbin/request-key |
9 | /usr/sbin/nfs.idmap should be called by request-key, and will perform the | 9 | or by placing a call to the rpc.idmap daemon. |
10 | translation and initialize a key with the resulting information. | 10 | |
11 | NFS will attempt to call /sbin/request-key first. If this succeeds, the | ||
12 | result will be cached using the generic request-key cache. This call should | ||
13 | only fail if /etc/request-key.conf is not configured for the id_resolver key | ||
14 | type, see the "Configuring" section below if you wish to use the request-key | ||
15 | method. | ||
16 | |||
17 | If the call to /sbin/request-key fails (if /etc/request-key.conf is not | ||
18 | configured with the id_resolver key type), then the idmapper will ask the | ||
19 | legacy rpc.idmap daemon for the id mapping. This result will be stored | ||
20 | in a custom NFS idmap cache. | ||
11 | 21 | ||
12 | NFS_USE_NEW_IDMAPPER must be selected when configuring the kernel to use this | ||
13 | feature. | ||
14 | 22 | ||
15 | =========== | 23 | =========== |
16 | Configuring | 24 | Configuring |
diff --git a/Documentation/filesystems/nfs/pnfs.txt b/Documentation/filesystems/nfs/pnfs.txt index 983e14abe7e9..c7919c6e3bea 100644 --- a/Documentation/filesystems/nfs/pnfs.txt +++ b/Documentation/filesystems/nfs/pnfs.txt | |||
@@ -53,3 +53,57 @@ lseg maintains an extra reference corresponding to the NFS_LSEG_VALID | |||
53 | bit which holds it in the pnfs_layout_hdr's list. When the final lseg | 53 | bit which holds it in the pnfs_layout_hdr's list. When the final lseg |
54 | is removed from the pnfs_layout_hdr's list, the NFS_LAYOUT_DESTROYED | 54 | is removed from the pnfs_layout_hdr's list, the NFS_LAYOUT_DESTROYED |
55 | bit is set, preventing any new lsegs from being added. | 55 | bit is set, preventing any new lsegs from being added. |
56 | |||
57 | layout drivers | ||
58 | -------------- | ||
59 | |||
60 | PNFS utilizes what is called layout drivers. The STD defines 3 basic | ||
61 | layout types: "files" "objects" and "blocks". For each of these types | ||
62 | there is a layout-driver with a common function-vectors table which | ||
63 | are called by the nfs-client pnfs-core to implement the different layout | ||
64 | types. | ||
65 | |||
66 | Files-layout-driver code is in: fs/nfs/nfs4filelayout.c && nfs4filelayoutdev.c | ||
67 | Objects-layout-deriver code is in: fs/nfs/objlayout/.. directory | ||
68 | Blocks-layout-deriver code is in: fs/nfs/blocklayout/.. directory | ||
69 | |||
70 | objects-layout setup | ||
71 | -------------------- | ||
72 | |||
73 | As part of the full STD implementation the objlayoutdriver.ko needs, at times, | ||
74 | to automatically login to yet undiscovered iscsi/osd devices. For this the | ||
75 | driver makes up-calles to a user-mode script called *osd_login* | ||
76 | |||
77 | The path_name of the script to use is by default: | ||
78 | /sbin/osd_login. | ||
79 | This name can be overridden by the Kernel module parameter: | ||
80 | objlayoutdriver.osd_login_prog | ||
81 | |||
82 | If Kernel does not find the osd_login_prog path it will zero it out | ||
83 | and will not attempt farther logins. An admin can then write new value | ||
84 | to the objlayoutdriver.osd_login_prog Kernel parameter to re-enable it. | ||
85 | |||
86 | The /sbin/osd_login is part of the nfs-utils package, and should usually | ||
87 | be installed on distributions that support this Kernel version. | ||
88 | |||
89 | The API to the login script is as follows: | ||
90 | Usage: $0 -u <URI> -o <OSDNAME> -s <SYSTEMID> | ||
91 | Options: | ||
92 | -u target uri e.g. iscsi://<ip>:<port> | ||
93 | (allways exists) | ||
94 | (More protocols can be defined in the future. | ||
95 | The client does not interpret this string it is | ||
96 | passed unchanged as recieved from the Server) | ||
97 | -o osdname of the requested target OSD | ||
98 | (Might be empty) | ||
99 | (A string which denotes the OSD name, there is a | ||
100 | limit of 64 chars on this string) | ||
101 | -s systemid of the requested target OSD | ||
102 | (Might be empty) | ||
103 | (This string, if not empty is always an hex | ||
104 | representation of the 20 bytes osd_system_id) | ||
105 | |||
106 | blocks-layout setup | ||
107 | ------------------- | ||
108 | |||
109 | TODO: Document the setup needs of the blocks layout driver | ||
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 033d4e69b43b..0d79a88f4de9 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -1657,6 +1657,14 @@ bytes respectively. Such letter suffixes can also be entirely omitted. | |||
1657 | of returning the full 64-bit number. | 1657 | of returning the full 64-bit number. |
1658 | The default is to return 64-bit inode numbers. | 1658 | The default is to return 64-bit inode numbers. |
1659 | 1659 | ||
1660 | nfs.max_session_slots= | ||
1661 | [NFSv4.1] Sets the maximum number of session slots | ||
1662 | the client will attempt to negotiate with the server. | ||
1663 | This limits the number of simultaneous RPC requests | ||
1664 | that the client can send to the NFSv4.1 server. | ||
1665 | Note that there is little point in setting this | ||
1666 | value higher than the max_tcp_slot_table_limit. | ||
1667 | |||
1660 | nfs.nfs4_disable_idmapping= | 1668 | nfs.nfs4_disable_idmapping= |
1661 | [NFSv4] When set to the default of '1', this option | 1669 | [NFSv4] When set to the default of '1', this option |
1662 | ensures that both the RPC level authentication | 1670 | ensures that both the RPC level authentication |
@@ -1670,6 +1678,21 @@ bytes respectively. Such letter suffixes can also be entirely omitted. | |||
1670 | back to using the idmapper. | 1678 | back to using the idmapper. |
1671 | To turn off this behaviour, set the value to '0'. | 1679 | To turn off this behaviour, set the value to '0'. |
1672 | 1680 | ||
1681 | nfs.send_implementation_id = | ||
1682 | [NFSv4.1] Send client implementation identification | ||
1683 | information in exchange_id requests. | ||
1684 | If zero, no implementation identification information | ||
1685 | will be sent. | ||
1686 | The default is to send the implementation identification | ||
1687 | information. | ||
1688 | |||
1689 | |||
1690 | objlayoutdriver.osd_login_prog= | ||
1691 | [NFS] [OBJLAYOUT] sets the pathname to the program which | ||
1692 | is used to automatically discover and login into new | ||
1693 | osd-targets. Please see: | ||
1694 | Documentation/filesystems/pnfs.txt for more explanations | ||
1695 | |||
1673 | nmi_debug= [KNL,AVR32,SH] Specify one or more actions to take | 1696 | nmi_debug= [KNL,AVR32,SH] Specify one or more actions to take |
1674 | when a NMI is triggered. | 1697 | when a NMI is triggered. |
1675 | Format: [state][,regs][,debounce][,die] | 1698 | Format: [state][,regs][,debounce][,die] |