diff options
author | Serge E. Hallyn <serue@us.ibm.com> | 2009-04-06 22:01:08 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-04-07 11:31:09 -0400 |
commit | 614b84cf4e4a920d2af32b8f147ea1e3b8c27ea6 (patch) | |
tree | 52478e38cd400042bd89f123c4101c95943ae492 /ipc/msgutil.c | |
parent | 909e6d94795654040ed416ac69858d5d2ce66dd3 (diff) |
namespaces: mqueue ns: move mqueue_mnt into struct ipc_namespace
Move mqueue vfsmount plus a few tunables into the ipc_namespace struct.
The CONFIG_IPC_NS boolean and the ipc_namespace struct will serve both the
posix message queue namespaces and the SYSV ipc namespaces.
The sysctl code will be fixed separately in patch 3. After just this
patch, making a change to posix mqueue tunables always changes the values
in the initial ipc namespace.
Signed-off-by: Cedric Le Goater <clg@fr.ibm.com>
Signed-off-by: Serge E. Hallyn <serue@us.ibm.com>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'ipc/msgutil.c')
-rw-r--r-- | ipc/msgutil.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/ipc/msgutil.c b/ipc/msgutil.c index c82c215693d7..73c316cb8613 100644 --- a/ipc/msgutil.c +++ b/ipc/msgutil.c | |||
@@ -13,10 +13,32 @@ | |||
13 | #include <linux/security.h> | 13 | #include <linux/security.h> |
14 | #include <linux/slab.h> | 14 | #include <linux/slab.h> |
15 | #include <linux/ipc.h> | 15 | #include <linux/ipc.h> |
16 | #include <linux/ipc_namespace.h> | ||
16 | #include <asm/uaccess.h> | 17 | #include <asm/uaccess.h> |
17 | 18 | ||
18 | #include "util.h" | 19 | #include "util.h" |
19 | 20 | ||
21 | /* | ||
22 | * The next 2 defines are here bc this is the only file | ||
23 | * compiled when either CONFIG_SYSVIPC and CONFIG_POSIX_MQUEUE | ||
24 | * and not CONFIG_IPC_NS. | ||
25 | */ | ||
26 | struct ipc_namespace init_ipc_ns = { | ||
27 | .kref = { | ||
28 | /* It's not for this patch to change, but should this be 1? */ | ||
29 | .refcount = ATOMIC_INIT(2), | ||
30 | }, | ||
31 | #ifdef CONFIG_POSIX_MQUEUE | ||
32 | .mq_mnt = NULL, | ||
33 | .mq_queues_count = 0, | ||
34 | .mq_queues_max = DFLT_QUEUESMAX, | ||
35 | .mq_msg_max = DFLT_MSGMAX, | ||
36 | .mq_msgsize_max = DFLT_MSGSIZEMAX, | ||
37 | #endif | ||
38 | }; | ||
39 | |||
40 | atomic_t nr_ipc_ns = ATOMIC_INIT(1); | ||
41 | |||
20 | struct msg_msgseg { | 42 | struct msg_msgseg { |
21 | struct msg_msgseg* next; | 43 | struct msg_msgseg* next; |
22 | /* the next part of the message follows immediately */ | 44 | /* the next part of the message follows immediately */ |