diff options
| author | Steve French <sfrench@us.ibm.com> | 2009-02-21 20:33:07 -0500 |
|---|---|---|
| committer | Steve French <sfrench@us.ibm.com> | 2009-03-11 21:36:20 -0400 |
| commit | 10e70afa75c90702b2326abaaa757d6b7835636f (patch) | |
| tree | 3c7e4e9dad6ec40287ff6538bed0cba3d61fd310 | |
| parent | b298f223559e0205244f553ceef8c7df3674da74 (diff) | |
[CIFS] DFS no longer experimental
Also updates some DFS flag definitions
Signed-off-by: Steve French <sfrench@us.ibm.com>
| -rw-r--r-- | fs/cifs/Kconfig | 21 | ||||
| -rw-r--r-- | fs/cifs/cifspdu.h | 20 |
2 files changed, 22 insertions, 19 deletions
diff --git a/fs/cifs/Kconfig b/fs/cifs/Kconfig index 341a98965bd0..6994a0f54f02 100644 --- a/fs/cifs/Kconfig +++ b/fs/cifs/Kconfig | |||
| @@ -118,6 +118,18 @@ config CIFS_DEBUG2 | |||
| 118 | option can be turned off unless you are debugging | 118 | option can be turned off unless you are debugging |
| 119 | cifs problems. If unsure, say N. | 119 | cifs problems. If unsure, say N. |
| 120 | 120 | ||
| 121 | config CIFS_DFS_UPCALL | ||
| 122 | bool "DFS feature support" | ||
| 123 | depends on CIFS && KEYS | ||
| 124 | help | ||
| 125 | Distributed File System (DFS) support is used to access shares | ||
| 126 | transparently in an enterprise name space, even if the share | ||
| 127 | moves to a different server. This feature also enables | ||
| 128 | an upcall mechanism for CIFS which contacts userspace helper | ||
| 129 | utilities to provide server name resolution (host names to | ||
| 130 | IP addresses) which is needed for implicit mounts of DFS junction | ||
| 131 | points. If unsure, say N. | ||
| 132 | |||
| 121 | config CIFS_EXPERIMENTAL | 133 | config CIFS_EXPERIMENTAL |
| 122 | bool "CIFS Experimental Features (EXPERIMENTAL)" | 134 | bool "CIFS Experimental Features (EXPERIMENTAL)" |
| 123 | depends on CIFS && EXPERIMENTAL | 135 | depends on CIFS && EXPERIMENTAL |
| @@ -131,12 +143,3 @@ config CIFS_EXPERIMENTAL | |||
| 131 | (which is disabled by default). See the file fs/cifs/README | 143 | (which is disabled by default). See the file fs/cifs/README |
| 132 | for more details. If unsure, say N. | 144 | for more details. If unsure, say N. |
| 133 | 145 | ||
| 134 | config CIFS_DFS_UPCALL | ||
| 135 | bool "DFS feature support (EXPERIMENTAL)" | ||
| 136 | depends on CIFS_EXPERIMENTAL | ||
| 137 | depends on KEYS | ||
| 138 | help | ||
| 139 | Enables an upcall mechanism for CIFS which contacts userspace | ||
| 140 | helper utilities to provide server name resolution (host names to | ||
| 141 | IP addresses) which is needed for implicit mounts of DFS junction | ||
| 142 | points. If unsure, say N. | ||
diff --git a/fs/cifs/cifspdu.h b/fs/cifs/cifspdu.h index eda6e511fd3e..56127638b91e 100644 --- a/fs/cifs/cifspdu.h +++ b/fs/cifs/cifspdu.h | |||
| @@ -1931,19 +1931,19 @@ typedef struct smb_com_transaction2_get_dfs_refer_req { | |||
| 1931 | #define DFS_TYPE_ROOT 0x0001 | 1931 | #define DFS_TYPE_ROOT 0x0001 |
| 1932 | 1932 | ||
| 1933 | /* Referral Entry Flags */ | 1933 | /* Referral Entry Flags */ |
| 1934 | #define DFS_NAME_LIST_REF 0x0200 | 1934 | #define DFS_NAME_LIST_REF 0x0200 /* set for domain or DC referral responses */ |
| 1935 | #define DFS_TARGET_SET_BOUNDARY 0x0400 /* only valid with version 4 dfs req */ | ||
| 1935 | 1936 | ||
| 1936 | typedef struct dfs_referral_level_3 { | 1937 | typedef struct dfs_referral_level_3 { /* version 4 is same, + one flag bit */ |
| 1937 | __le16 VersionNumber; | 1938 | __le16 VersionNumber; /* must be 3 or 4 */ |
| 1938 | __le16 Size; | 1939 | __le16 Size; |
| 1939 | __le16 ServerType; /* 0x0001 = root targets; 0x0000 = link targets */ | 1940 | __le16 ServerType; /* 0x0001 = root targets; 0x0000 = link targets */ |
| 1940 | __le16 ReferralEntryFlags; /* 0x0200 bit set only for domain | 1941 | __le16 ReferralEntryFlags; |
| 1941 | or DC referral responce */ | ||
| 1942 | __le32 TimeToLive; | 1942 | __le32 TimeToLive; |
| 1943 | __le16 DfsPathOffset; | 1943 | __le16 DfsPathOffset; |
| 1944 | __le16 DfsAlternatePathOffset; | 1944 | __le16 DfsAlternatePathOffset; |
| 1945 | __le16 NetworkAddressOffset; /* offset of the link target */ | 1945 | __le16 NetworkAddressOffset; /* offset of the link target */ |
| 1946 | __le16 ServiceSiteGuid; | 1946 | __u8 ServiceSiteGuid[16]; /* MBZ, ignored */ |
| 1947 | } __attribute__((packed)) REFERRAL3; | 1947 | } __attribute__((packed)) REFERRAL3; |
| 1948 | 1948 | ||
| 1949 | typedef struct smb_com_transaction_get_dfs_refer_rsp { | 1949 | typedef struct smb_com_transaction_get_dfs_refer_rsp { |
| @@ -1953,15 +1953,15 @@ typedef struct smb_com_transaction_get_dfs_refer_rsp { | |||
| 1953 | __u8 Pad; | 1953 | __u8 Pad; |
| 1954 | __le16 PathConsumed; | 1954 | __le16 PathConsumed; |
| 1955 | __le16 NumberOfReferrals; | 1955 | __le16 NumberOfReferrals; |
| 1956 | __le16 DFSFlags; | 1956 | __le32 DFSFlags; |
| 1957 | __u16 Pad2; | ||
| 1958 | REFERRAL3 referrals[1]; /* array of level 3 dfs_referral structures */ | 1957 | REFERRAL3 referrals[1]; /* array of level 3 dfs_referral structures */ |
| 1959 | /* followed by the strings pointed to by the referral structures */ | 1958 | /* followed by the strings pointed to by the referral structures */ |
| 1960 | } __attribute__((packed)) TRANSACTION2_GET_DFS_REFER_RSP; | 1959 | } __attribute__((packed)) TRANSACTION2_GET_DFS_REFER_RSP; |
| 1961 | 1960 | ||
| 1962 | /* DFS Flags */ | 1961 | /* DFS Flags */ |
| 1963 | #define DFSREF_REFERRAL_SERVER 0x0001 | 1962 | #define DFSREF_REFERRAL_SERVER 0x00000001 /* all targets are DFS roots */ |
| 1964 | #define DFSREF_STORAGE_SERVER 0x0002 | 1963 | #define DFSREF_STORAGE_SERVER 0x00000002 /* no further ref requests needed */ |
| 1964 | #define DFSREF_TARGET_FAILBACK 0x00000004 /* only for DFS referral version 4 */ | ||
| 1965 | 1965 | ||
| 1966 | /* IOCTL information */ | 1966 | /* IOCTL information */ |
| 1967 | /* | 1967 | /* |
