mount: mount config as a local variable

removed the Config field from NFS41_NETROOT_EXTENSION and NFS41_V_NET_ROOT_EXTENSION and made it local to CreateVNetRoot(), as that's the only place it's accessed and we no longer rely on storing Config.Initialized with the NET_ROOT

Signed-off-by: Casey Bodley <cbodley@umich.edu>
This commit is contained in:
Casey Bodley 2010-10-12 09:46:07 -04:00
parent 5861659162
commit 81f05b1cb8

View file

@ -273,7 +273,6 @@ typedef struct _NFS41_MOUNT_CONFIG {
typedef struct _NFS41_NETROOT_EXTENSION { typedef struct _NFS41_NETROOT_EXTENSION {
NODE_TYPE_CODE NodeTypeCode; NODE_TYPE_CODE NodeTypeCode;
NODE_BYTE_SIZE NodeByteSize; NODE_BYTE_SIZE NodeByteSize;
NFS41_MOUNT_CONFIG Config;
HANDLE session; HANDLE session;
} NFS41_NETROOT_EXTENSION, *PNFS41_NETROOT_EXTENSION; } NFS41_NETROOT_EXTENSION, *PNFS41_NETROOT_EXTENSION;
#define NFS41GetNetRootExtension(pNetRoot) \ #define NFS41GetNetRootExtension(pNetRoot) \
@ -282,7 +281,6 @@ typedef struct _NFS41_NETROOT_EXTENSION {
typedef struct _NFS41_V_NET_ROOT_EXTENSION { typedef struct _NFS41_V_NET_ROOT_EXTENSION {
NODE_TYPE_CODE NodeTypeCode; NODE_TYPE_CODE NodeTypeCode;
NODE_BYTE_SIZE NodeByteSize; NODE_BYTE_SIZE NodeByteSize;
NFS41_MOUNT_CONFIG Config;
HANDLE session; HANDLE session;
} NFS41_V_NET_ROOT_EXTENSION, *PNFS41_V_NET_ROOT_EXTENSION; } NFS41_V_NET_ROOT_EXTENSION, *PNFS41_V_NET_ROOT_EXTENSION;
#define NFS41GetVNetRootExtension(pVNetRoot) \ #define NFS41GetVNetRootExtension(pVNetRoot) \
@ -2151,6 +2149,7 @@ NTSTATUS nfs41_CreateVNetRoot(
IN OUT PMRX_CREATENETROOT_CONTEXT pCreateNetRootContext) IN OUT PMRX_CREATENETROOT_CONTEXT pCreateNetRootContext)
{ {
NTSTATUS status = STATUS_SUCCESS; NTSTATUS status = STATUS_SUCCESS;
NFS41_MOUNT_CONFIG Config;
PMRX_V_NET_ROOT pVNetRoot = (PMRX_V_NET_ROOT)pCreateNetRootContext->pVNetRoot; PMRX_V_NET_ROOT pVNetRoot = (PMRX_V_NET_ROOT)pCreateNetRootContext->pVNetRoot;
PMRX_NET_ROOT pNetRoot = pVNetRoot->pNetRoot; PMRX_NET_ROOT pNetRoot = pVNetRoot->pNetRoot;
PMRX_SRV_CALL pSrvCall = pNetRoot->pSrvCall; PMRX_SRV_CALL pSrvCall = pNetRoot->pSrvCall;
@ -2196,34 +2195,23 @@ NTSTATUS nfs41_CreateVNetRoot(
goto out; goto out;
} }
nfs41_MountConfig_InitDefaults(&pVNetRootContext->Config); nfs41_MountConfig_InitDefaults(&Config);
/* parse the extended attributes for mount options */ /* parse the extended attributes for mount options */
if (pCreateNetRootContext->RxContext->Create.EaLength) if (pCreateNetRootContext->RxContext->Create.EaLength)
{ {
DbgP("EaLength %d\n", pCreateNetRootContext->RxContext->Create.EaLength);
DbgP("parsing storing into vnetroot\n");
status = nfs41_MountConfig_ParseOptions( status = nfs41_MountConfig_ParseOptions(
pCreateNetRootContext->RxContext->Create.EaBuffer, pCreateNetRootContext->RxContext->Create.EaBuffer,
pCreateNetRootContext->RxContext->Create.EaLength, pCreateNetRootContext->RxContext->Create.EaLength,
&pVNetRootContext->Config); &Config);
if (status != STATUS_SUCCESS) if (status != STATUS_SUCCESS)
goto out; goto out;
// we need to save mount options in netroot not vnetroot!!!! DbgP("Server Name %wZ Mount Point %wZ\n",
nfs41_MountConfig_InitDefaults(&pNetRootContext->Config); &Config.SrvName, &Config.MntPt);
DbgP("parsing storing into netroot\n");
status = nfs41_MountConfig_ParseOptions(
pCreateNetRootContext->RxContext->Create.EaBuffer,
pCreateNetRootContext->RxContext->Create.EaLength,
&pNetRootContext->Config);
if (status != STATUS_SUCCESS)
goto out;
DbgP("Server Name %wZ Mount Point %wZ\n", &pVNetRootContext->Config.SrvName,
&pVNetRootContext->Config.MntPt);
pVNetRootContext->session = pNetRootContext->session = NULL; pVNetRootContext->session = pNetRootContext->session = NULL;
status = nfs41_mount(&pVNetRootContext->Config.SrvName, status = nfs41_mount(&Config.SrvName, &Config.MntPt,
&pVNetRootContext->Config.MntPt, &pVNetRootContext->session); &pVNetRootContext->session);
if (status == STATUS_SUCCESS) if (status == STATUS_SUCCESS)
pNetRootContext->session = pVNetRootContext->session; pNetRootContext->session = pVNetRootContext->session;
else else