alistair23-linux/net/rxrpc
David Howells 76181c134f KEYS: Make request_key() and co fundamentally asynchronous
Make request_key() and co fundamentally asynchronous to make it easier for
NFS to make use of them.  There are now accessor functions that do
asynchronous constructions, a wait function to wait for construction to
complete, and a completion function for the key type to indicate completion
of construction.

Note that the construction queue is now gone.  Instead, keys under
construction are linked in to the appropriate keyring in advance, and that
anyone encountering one must wait for it to be complete before they can use
it.  This is done automatically for userspace.

The following auxiliary changes are also made:

 (1) Key type implementation stuff is split from linux/key.h into
     linux/key-type.h.

 (2) AF_RXRPC provides a way to allocate null rxrpc-type keys so that AFS does
     not need to call key_instantiate_and_link() directly.

 (3) Adjust the debugging macros so that they're -Wformat checked even if
     they are disabled, and make it so they can be enabled simply by defining
     __KDEBUG to be consistent with other code of mine.

 (3) Documentation.

[alan@lxorguk.ukuu.org.uk: keys: missing word in documentation]
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-10-17 08:42:57 -07:00
..
af_rxrpc.c KEYS: Make request_key() and co fundamentally asynchronous 2007-10-17 08:42:57 -07:00
ar-accept.c [AF_RXRPC]: Add an interface to the AF_RXRPC module for the AFS filesystem to use 2007-04-26 15:50:17 -07:00
ar-ack.c [AF_RXRPC]: Sort out MTU handling. 2007-05-04 12:41:11 -07:00
ar-call.c [AF_RXRPC]: Make call state names available if CONFIG_PROC_FS=n 2007-05-22 16:14:24 -07:00
ar-connection.c net/* misc endianness annotations 2007-07-26 11:11:56 -07:00
ar-connevent.c [AF_RXRPC]: Add an interface to the AF_RXRPC module for the AFS filesystem to use 2007-04-26 15:50:17 -07:00
ar-error.c [AF_RXRPC]: Sort out MTU handling. 2007-05-04 12:41:11 -07:00
ar-input.c [RXRPC]: Fix pointers passed to bitops. 2007-04-26 20:20:21 -07:00
ar-internal.h [RXRPC]: Remove bogus atomic_* overrides. 2007-04-26 20:18:17 -07:00
ar-key.c KEYS: Make request_key() and co fundamentally asynchronous 2007-10-17 08:42:57 -07:00
ar-local.c [AF_RXRPC]: Add an interface to the AF_RXRPC module for the AFS filesystem to use 2007-04-26 15:50:17 -07:00
ar-output.c [AF_RXRPC]: Return the number of bytes buffered in rxrpc_send_data() 2007-06-18 23:30:41 -07:00
ar-peer.c AF_RXRPC: reduce debugging noise 2007-05-10 09:26:52 -07:00
ar-proc.c [NET]: Make all initialized struct seq_operations const. 2007-07-10 23:07:31 -07:00
ar-recvmsg.c [AF_RXRPC]: Add an interface to the AF_RXRPC module for the AFS filesystem to use 2007-04-26 15:50:17 -07:00
ar-security.c [AF_RXRPC]: Provide secure RxRPC sockets for use by userspace and kernel both 2007-04-26 15:48:28 -07:00
ar-skbuff.c [AF_RXRPC]: Add an interface to the AF_RXRPC module for the AFS filesystem to use 2007-04-26 15:50:17 -07:00
ar-transport.c Cleanup non-arch xtime uses, use get_seconds() or current_kernel_time(). 2007-07-25 10:09:20 -07:00
Kconfig [AF_RXRPC]: AF_RXRPC depends on IPv4 2007-05-22 16:13:49 -07:00
Makefile [AF_RXRPC]: Delete the old RxRPC code. 2007-04-26 15:55:48 -07:00
rxkad.c Cleanup non-arch xtime uses, use get_seconds() or current_kernel_time(). 2007-07-25 10:09:20 -07:00