From: J. Bruce Fields Date: Sat, 5 Jun 2010 00:04:45 +0000 (-0400) Subject: nfsd4: Move callback setup to callback queue X-Git-Tag: v2.6.37-rc1~113^2~51 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6ff8da088766d70f0441feb982b82978a6cbf7ef;p=pandora-kernel.git nfsd4: Move callback setup to callback queue Instead of creating the new rpc client from a regular server thread, set a flag, kick off a null call, and allow the null call to do the work of setting up the client on the callback workqueue. Use a spinlock to ensure the callback work gets a consistent view of the callback parameters. This allows, for example, changing the callback from contexts where sleeping is not allowed. I hope it will also keep the locking simple as we add more session and trunking features, by serializing most of the callback-specific work. This also closes a small race where the the new cb_ident could be used with an old connection (or vice-versa). Signed-off-by: J. Bruce Fields --- Reading git-diff-tree failed