asking for persistent session from a server
This commit is contained in:
parent
9f9401d6c8
commit
cb54018555
3 changed files with 14 additions and 1 deletions
|
|
@ -305,7 +305,9 @@ enum nfs_ftype4 {
|
||||||
NFS_FTYPE_MASK = 0xF
|
NFS_FTYPE_MASK = 0xF
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define CREATE_SESSION4_FLAG_PERSIST 0x00000001
|
||||||
#define CREATE_SESSION4_FLAG_CONN_BACK_CHAN 0x00000002
|
#define CREATE_SESSION4_FLAG_CONN_BACK_CHAN 0x00000002
|
||||||
|
#define CREATE_SESSION4_FLAG_CONN_RDMA 0x00000004
|
||||||
|
|
||||||
/* ACLS aclsupport attribute values */
|
/* ACLS aclsupport attribute values */
|
||||||
#define ACL4_SUPPORT_ALLOW_ACL 0x00000001
|
#define ACL4_SUPPORT_ALLOW_ACL 0x00000001
|
||||||
|
|
|
||||||
|
|
@ -149,9 +149,19 @@ int nfs41_create_session(nfs41_client *clnt, nfs41_session *session, bool_t try_
|
||||||
goto out;
|
goto out;
|
||||||
} else clnt->seq_id++;
|
} else clnt->seq_id++;
|
||||||
|
|
||||||
if (reply.csr_flags != req.csa_flags)
|
if (reply.csr_flags != req.csa_flags) {
|
||||||
eprintf("WARNING: requested session flags %x received %x\n",
|
eprintf("WARNING: requested session flags %x received %x\n",
|
||||||
req.csa_flags, reply.csr_flags);
|
req.csa_flags, reply.csr_flags);
|
||||||
|
if ((session->flags & CREATE_SESSION4_FLAG_CONN_BACK_CHAN) &&
|
||||||
|
!(reply.csr_flags & CREATE_SESSION4_FLAG_CONN_BACK_CHAN))
|
||||||
|
eprintf("WARNING: we asked to use this session for callbacks but "
|
||||||
|
"server refused\n");
|
||||||
|
if ((session->flags & CREATE_SESSION4_FLAG_PERSIST) &&
|
||||||
|
!(reply.csr_flags & CREATE_SESSION4_FLAG_PERSIST))
|
||||||
|
eprintf("WARNING: we asked for persistent session but "
|
||||||
|
"server refused\n");
|
||||||
|
session->flags = reply.csr_flags;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
dprintf(1, "session flags %x\n", reply.csr_flags);
|
dprintf(1, "session flags %x\n", reply.csr_flags);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -291,6 +291,7 @@ int nfs41_session_create(
|
||||||
EXCHGID4_FLAG_USE_NON_PNFS))
|
EXCHGID4_FLAG_USE_NON_PNFS))
|
||||||
#endif
|
#endif
|
||||||
session->flags |= CREATE_SESSION4_FLAG_CONN_BACK_CHAN;
|
session->flags |= CREATE_SESSION4_FLAG_CONN_BACK_CHAN;
|
||||||
|
session->flags |= CREATE_SESSION4_FLAG_PERSIST;
|
||||||
ReleaseSRWLockShared(&client->exid_lock);
|
ReleaseSRWLockShared(&client->exid_lock);
|
||||||
|
|
||||||
status = nfs41_create_session(client, session, TRUE);
|
status = nfs41_create_session(client, session, TRUE);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue