[CIFS] DFS no longer experimental
Also updates some DFS flag definitions Signed-off-by: Steve French <sfrench@us.ibm.com>
This commit is contained in:
@@ -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
|
|||||||
(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 {
|
|||||||
#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 {
|
|||||||
__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 */
|
||||||
/*
|
/*
|
||||||
|
Reference in New Issue
Block a user