OpenVZ Forum


Home » Mailing lists » Devel » SUNRPC lients: Pipefs mount races
SUNRPC lients: Pipefs mount races [message #47340] Tue, 31 July 2012 11:02
Stanislav Kinsbursky is currently offline  Stanislav Kinsbursky
Messages: 683
Registered: October 2011
Senior Member
From: *parallels.com
Hello, Trond.
I found one more race in SUNRPC PipeFS mount notification and clients creation.
Now the problem is in SUNRPC clients.
Races are shown below:

CPU#0 CPU#1
------------------------------------ --------------------------------
nfs_create_rpc_client
rpc_create
rpc_new_client
rpc_setup_pipedir (no sb)
rpc_mount
notifier_call(SUNRPC - clnt.c)
rpc_register_client
nfs_idmap_new
nfs_mark_client_ready(NFS_CS_READY)
notifier_call(NFS - idmap.c)
__rpc_pipefs_event
BUG_ON(cl_dentry == NULL)

How would you prefer to fix this?
Looks like we could either try to add SUNRPC client to the list before PipeFS
dentry creation or create the dentry for SUNRPC client from NFS code in
__rpc_pipefs_event() instead of BUG_ON.

--
Best regards,
Stanislav Kinsbursky
Previous Topic: [PATCH] SUNRPC: return negative value in case rpcbind client creation error
Next Topic: [PATCH v2 00/15] Lockd: grace period containerization
Goto Forum:
  


Current Time: Mon Dec 16 05:54:57 GMT 2019