SUNRPC lients: Pipefs mount races
Subsystems (2)
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_clientnfs_idmap_newnfs_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.
Signature · 2 lines
Best regards, Stanislav Kinsbursky