Hi Assf,
I believe that we need the following change in the code that you changed last year. I am
starting to test pNFS and if the client has any flags on in the pNFS mask we should check
the clients request.
diff --git a/src/Protocols/NFS/nfs4_op_exchange_id.c
b/src/Protocols/NFS/nfs4_op_exchange_id.c
index 15bb386fe..a6b730308 100644
--- a/src/Protocols/NFS/nfs4_op_exchange_id.c
+++ b/src/Protocols/NFS/nfs4_op_exchange_id.c
@@ -172,7 +172,7 @@ enum nfs_req_result nfs4_op_exchange_id(struct nfs_argop4 *op,
/* If client did not ask for pNFS related server roles than just set
server roles */
- if ((arg_EXCHANGE_ID4->eia_flags & EXCHGID4_FLAG_MASK_PNFS) == 0) {
+ if (arg_EXCHANGE_ID4->eia_flags & EXCHGID4_FLAG_MASK_PNFS) {
if (nfs_param.nfsv4_param.pnfs_mds)
server_pnfs_flags |= EXCHGID4_FLAG_USE_PNFS_MDS;
else
On another issue if you are familiar with pNFS code, it is checking the pNFS flags only
in the NFSv4 block
I think it should be at the EXPORT block.
NFSv4
{
PNFS_MDS = true;
PNFS_DS = true;
}
Thanks, Marc.