aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/9p/transport.h
diff options
context:
space:
mode:
authorAndrea Bastoni <bastoni@cs.unc.edu>2011-08-27 09:43:54 -0400
committerAndrea Bastoni <bastoni@cs.unc.edu>2011-08-27 10:06:11 -0400
commit7b1bb388bc879ffcc6c69b567816d5c354afe42b (patch)
tree5a217fdfb0b5e5a327bdcd624506337c1ae1fe32 /include/net/9p/transport.h
parent7d754596756240fa918b94cd0c3011c77a638987 (diff)
parent02f8c6aee8df3cdc935e9bdd4f2d020306035dbe (diff)
Merge 'Linux v3.0' into Litmus
Some notes: * Litmus^RT scheduling class is the topmost scheduling class (above stop_sched_class). * scheduler_ipi() function (e.g., in smp_reschedule_interrupt()) may increase IPI latencies. * Added path into schedule() to quickly re-evaluate scheduling decision without becoming preemptive again. This used to be a standard path before the removal of BKL. Conflicts: Makefile arch/arm/kernel/calls.S arch/arm/kernel/smp.c arch/x86/include/asm/unistd_32.h arch/x86/kernel/smp.c arch/x86/kernel/syscall_table_32.S include/linux/hrtimer.h kernel/printk.c kernel/sched.c kernel/sched_fair.c
Diffstat (limited to 'include/net/9p/transport.h')
-rw-r--r--include/net/9p/transport.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/include/net/9p/transport.h b/include/net/9p/transport.h
index 6d5886efb102..d8549fb9c742 100644
--- a/include/net/9p/transport.h
+++ b/include/net/9p/transport.h
@@ -26,13 +26,22 @@
26#ifndef NET_9P_TRANSPORT_H 26#ifndef NET_9P_TRANSPORT_H
27#define NET_9P_TRANSPORT_H 27#define NET_9P_TRANSPORT_H
28 28
29#define P9_TRANS_PREF_PAYLOAD_MASK 0x1
30
31/* Default. Add Payload to PDU before sending it down to transport layer */
32#define P9_TRANS_PREF_PAYLOAD_DEF 0x0
33/* Send pay load separately to transport layer along with PDU.*/
34#define P9_TRANS_PREF_PAYLOAD_SEP 0x1
35
29/** 36/**
30 * struct p9_trans_module - transport module interface 37 * struct p9_trans_module - transport module interface
31 * @list: used to maintain a list of currently available transports 38 * @list: used to maintain a list of currently available transports
32 * @name: the human-readable name of the transport 39 * @name: the human-readable name of the transport
33 * @maxsize: transport provided maximum packet size 40 * @maxsize: transport provided maximum packet size
41 * @pref: Preferences of this transport
34 * @def: set if this transport should be considered the default 42 * @def: set if this transport should be considered the default
35 * @create: member function to create a new connection on this transport 43 * @create: member function to create a new connection on this transport
44 * @close: member function to discard a connection on this transport
36 * @request: member function to issue a request to the transport 45 * @request: member function to issue a request to the transport
37 * @cancel: member function to cancel a request (if it hasn't been sent) 46 * @cancel: member function to cancel a request (if it hasn't been sent)
38 * 47 *
@@ -40,13 +49,14 @@
40 * transport module with the 9P core network module and used by the client 49 * transport module with the 9P core network module and used by the client
41 * to instantiate a new connection on a transport. 50 * to instantiate a new connection on a transport.
42 * 51 *
43 * BUGS: the transport module list isn't protected. 52 * The transport module list is protected by v9fs_trans_lock.
44 */ 53 */
45 54
46struct p9_trans_module { 55struct p9_trans_module {
47 struct list_head list; 56 struct list_head list;
48 char *name; /* name of transport */ 57 char *name; /* name of transport */
49 int maxsize; /* max message size of transport */ 58 int maxsize; /* max message size of transport */
59 int pref; /* Preferences of this transport */
50 int def; /* this transport should be default */ 60 int def; /* this transport should be default */
51 struct module *owner; 61 struct module *owner;
52 int (*create)(struct p9_client *, const char *, char *); 62 int (*create)(struct p9_client *, const char *, char *);