f8207296e64db8eac589b1542ec1fffd8969841a
[linux-2.6.git] / kernel / vserver / Kconfig
1 #
2 # Linux VServer configuration
3 #
4
5 config  VSERVER
6         bool
7         default y
8
9 config  VSERVER_SECURITY
10         bool
11         depends on SECURITY
12         default y
13         select SECURITY_CAPABILITIES
14
15 config  VSERVER_LEGACYNET
16         bool
17         depends on !VSERVER_NGNET
18         default y
19
20 menu "Linux VServer"
21
22 config  VSERVER_FILESHARING
23         bool    "(PLANETLAB) Disable Hidden File Module"
24         default y
25         help
26           This retains the module that when a vserver can
27           see a file, it can also stat and read it.  The
28           assumption is that chroot() works and vservers
29           are contained that way.
30
31 config  VSERVER_LEGACY
32         bool    "Enable Legacy Kernel API"
33         default y
34         help
35           This enables the legacy API used in vs1.xx, maintaining
36           compatibility with older vserver tools, and guest images
37           that are configured using the legacy method.  This is
38           probably a good idea for now, for migration purposes.
39
40           Note that some tools have not yet been altered to use
41           this API, so disabling this option may reduce some
42           functionality.
43
44 config  VSERVER_LEGACY_VERSION
45         bool    "Show a Legacy Version ID"
46         depends on VSERVER_LEGACY
47         default n
48         help
49           This shows a special legacy version to very old tools
50           which do not handle the current version correctly.
51
52           This will probably disable some features of newer tools
53           so better avoid it, unless you really, really need it
54           for backwards compatibility.
55
56 config  VSERVER_NGNET
57         bool    "Disable Legacy Networking Kernel API"
58         depends on EXPERIMENTAL
59         default n
60         help
61           This disables the legacy networking API which is required
62           by the chbind tool. Do not disable it unless you exactly
63           know what you are doing.
64
65 config  VSERVER_PROC_SECURE
66         bool    "Enable Proc Security"
67         depends on PROC_FS
68         default y
69         help
70           This configures ProcFS security to initially hide
71           non-process entries for all contexts except the main and
72           spectator context (i.e. for all guests), which is a secure
73           default.
74
75           (note: on 1.2x the entries were visible by default)
76
77 config  VSERVER_HARDCPU
78         bool    "Enable Hard CPU Limits"
79         depends on EXPERIMENTAL
80         default n
81         help
82           Activate the Hard CPU Limits
83
84           This will compile in code that allows the Token Bucket
85           Scheduler to put processes on hold when a context's
86           tokens are depleted (provided that its per-context
87           sched_hard flag is set).
88
89           Processes belonging to that context will not be able
90           to consume CPU resources again until a per-context
91           configured minimum of tokens has been reached.
92
93 config  VSERVER_HARDCPU_IDLE
94         bool    "Limit the IDLE task"
95         depends on VSERVER_HARDCPU
96         default n
97         help
98           Limit the idle slices, so the the next context
99           will be scheduled as soon as possible.
100
101           This might improve interactivity and latency, but
102           will also marginally increase scheduling overhead.
103
104 choice
105         prompt  "Persistent Inode Context Tagging"
106         default INOXID_UGID24
107         help
108           This adds persistent context information to filesystems
109           mounted with the tagxid option. Tagging is a requirement
110           for per-context disk limits and per-context quota.
111
112
113 config  INOXID_NONE
114         bool    "Disabled"
115         help
116           do not store per-context information in inodes.
117
118 config  INOXID_UID16
119         bool    "UID16/GID32"
120         help
121           reduces UID to 16 bit, but leaves GID at 32 bit.
122
123 config  INOXID_GID16
124         bool    "UID32/GID16"
125         help
126           reduces GID to 16 bit, but leaves UID at 32 bit.
127
128 config  INOXID_UGID24
129         bool    "UID24/GID24"
130         help
131           uses the upper 8bit from UID and GID for XID tagging
132           which leaves 24bit for UID/GID each, which should be
133           more than sufficient for normal use.
134
135 config  INOXID_INTERN
136         bool    "UID32/GID32"
137         help
138           this uses otherwise reserved inode fields in the on
139           disk representation, which limits the use to a few
140           filesystems (currently ext2 and ext3)
141
142 config  INOXID_RUNTIME
143         bool    "Runtime"
144         depends on EXPERIMENTAL
145         help
146           inodes are tagged when first accessed, this doesn't
147           require any persistant information, but might give
148           funny results for mixed access.
149
150 endchoice
151
152 config  XID_TAG_NFSD
153         bool    "Tag NFSD User Auth and Files"
154         default n
155         help
156           Enable this if you do want the in-kernel NFS
157           Server to use the xid tagging specified above.
158           (will require patched clients too)
159
160 config  VSERVER_DEBUG
161         bool    "VServer Debugging Code"
162         default n
163         help
164           Set this to yes if you want to be able to activate
165           debugging output at runtime. It adds a probably small
166           overhead to all vserver related functions and
167           increases the kernel size by about 20k.
168
169 config  VSERVER_HISTORY
170         bool    "VServer History Tracing"
171         depends on VSERVER_DEBUG
172         default n
173         help
174           Set this to yes if you want to record the history of
175           linux-vserver activities, so they can be replayed in
176           the event of a kernel panic or oops.
177
178 config  VSERVER_HISTORY_SIZE
179         int "Per-CPU History Size (32-65536)"
180         depends on VSERVER_HISTORY
181         range 32 65536
182         default 64
183         help
184           This allows you to specify the number of entries in
185           the per-CPU history buffer.
186
187 endmenu
188