Commit 10e70afa authored by Steve French's avatar Steve French

[CIFS] DFS no longer experimental

Also updates some DFS flag definitions
Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
parent b298f223
...@@ -118,6 +118,18 @@ config CIFS_DEBUG2 ...@@ -118,6 +118,18 @@ config CIFS_DEBUG2
option can be turned off unless you are debugging option can be turned off unless you are debugging
cifs problems. If unsure, say N. cifs problems. If unsure, say N.
config CIFS_DFS_UPCALL
bool "DFS feature support"
depends on CIFS && KEYS
help
Distributed File System (DFS) support is used to access shares
transparently in an enterprise name space, even if the share
moves to a different server. This feature also enables
an upcall mechanism for CIFS which contacts userspace helper
utilities to provide server name resolution (host names to
IP addresses) which is needed for implicit mounts of DFS junction
points. If unsure, say N.
config CIFS_EXPERIMENTAL config CIFS_EXPERIMENTAL
bool "CIFS Experimental Features (EXPERIMENTAL)" bool "CIFS Experimental Features (EXPERIMENTAL)"
depends on CIFS && EXPERIMENTAL depends on CIFS && EXPERIMENTAL
...@@ -131,12 +143,3 @@ config CIFS_EXPERIMENTAL ...@@ -131,12 +143,3 @@ config CIFS_EXPERIMENTAL
(which is disabled by default). See the file fs/cifs/README (which is disabled by default). See the file fs/cifs/README
for more details. If unsure, say N. for more details. If unsure, say N.
config CIFS_DFS_UPCALL
bool "DFS feature support (EXPERIMENTAL)"
depends on CIFS_EXPERIMENTAL
depends on KEYS
help
Enables an upcall mechanism for CIFS which contacts userspace
helper utilities to provide server name resolution (host names to
IP addresses) which is needed for implicit mounts of DFS junction
points. If unsure, say N.
...@@ -1931,19 +1931,19 @@ typedef struct smb_com_transaction2_get_dfs_refer_req { ...@@ -1931,19 +1931,19 @@ typedef struct smb_com_transaction2_get_dfs_refer_req {
#define DFS_TYPE_ROOT 0x0001 #define DFS_TYPE_ROOT 0x0001
/* Referral Entry Flags */ /* Referral Entry Flags */
#define DFS_NAME_LIST_REF 0x0200 #define DFS_NAME_LIST_REF 0x0200 /* set for domain or DC referral responses */
#define DFS_TARGET_SET_BOUNDARY 0x0400 /* only valid with version 4 dfs req */
typedef struct dfs_referral_level_3 { typedef struct dfs_referral_level_3 { /* version 4 is same, + one flag bit */
__le16 VersionNumber; __le16 VersionNumber; /* must be 3 or 4 */
__le16 Size; __le16 Size;
__le16 ServerType; /* 0x0001 = root targets; 0x0000 = link targets */ __le16 ServerType; /* 0x0001 = root targets; 0x0000 = link targets */
__le16 ReferralEntryFlags; /* 0x0200 bit set only for domain __le16 ReferralEntryFlags;
or DC referral responce */
__le32 TimeToLive; __le32 TimeToLive;
__le16 DfsPathOffset; __le16 DfsPathOffset;
__le16 DfsAlternatePathOffset; __le16 DfsAlternatePathOffset;
__le16 NetworkAddressOffset; /* offset of the link target */ __le16 NetworkAddressOffset; /* offset of the link target */
__le16 ServiceSiteGuid; __u8 ServiceSiteGuid[16]; /* MBZ, ignored */
} __attribute__((packed)) REFERRAL3; } __attribute__((packed)) REFERRAL3;
typedef struct smb_com_transaction_get_dfs_refer_rsp { typedef struct smb_com_transaction_get_dfs_refer_rsp {
...@@ -1953,15 +1953,15 @@ typedef struct smb_com_transaction_get_dfs_refer_rsp { ...@@ -1953,15 +1953,15 @@ typedef struct smb_com_transaction_get_dfs_refer_rsp {
__u8 Pad; __u8 Pad;
__le16 PathConsumed; __le16 PathConsumed;
__le16 NumberOfReferrals; __le16 NumberOfReferrals;
__le16 DFSFlags; __le32 DFSFlags;
__u16 Pad2;
REFERRAL3 referrals[1]; /* array of level 3 dfs_referral structures */ REFERRAL3 referrals[1]; /* array of level 3 dfs_referral structures */
/* followed by the strings pointed to by the referral structures */ /* followed by the strings pointed to by the referral structures */
} __attribute__((packed)) TRANSACTION2_GET_DFS_REFER_RSP; } __attribute__((packed)) TRANSACTION2_GET_DFS_REFER_RSP;
/* DFS Flags */ /* DFS Flags */
#define DFSREF_REFERRAL_SERVER 0x0001 #define DFSREF_REFERRAL_SERVER 0x00000001 /* all targets are DFS roots */
#define DFSREF_STORAGE_SERVER 0x0002 #define DFSREF_STORAGE_SERVER 0x00000002 /* no further ref requests needed */
#define DFSREF_TARGET_FAILBACK 0x00000004 /* only for DFS referral version 4 */
/* IOCTL information */ /* IOCTL information */
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment