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:
parent
5861659162
commit
81f05b1cb8
1 changed files with 7 additions and 19 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue