/[kernel]/dists/squeeze-security/linux-2.6/debian/patches/features/all/openvz/openvz.patch
ViewVC logotype

Contents of /dists/squeeze-security/linux-2.6/debian/patches/features/all/openvz/openvz.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 19352 - (show annotations) (download)
Tue Aug 21 12:28:31 2012 UTC (9 months ago) by benh
File size: 2539759 byte(s)
Revert a conflicting and unnecessary fix for OpenVZ
1 commit 07aaa2e9fb25f914810c7a15147fbe036f653d7e
2 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
3 Date: Thu Jan 27 15:11:28 2011 +0300
4
5 cpt: Fix for rst files with root creds
6
7 * stash original credentials in local variable
8 * override credentials to init_cread, because init_task->cred can be overriden too
9 * export init_cred
10
11 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
12 Looks-good-to: Cyrill Gorcunov <gorcunov@openvz.org>
13 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
14
15 commit 3826a8a2998817f602b880f9b41e2a8e307d1058
16 Merge: 0eb5aa8 376faec
17 Author: Pavel Emelyanov <xemul@openvz.org>
18 Date: Thu Jan 27 14:26:09 2011 +0300
19
20 Merged linux-2.6.32.28
21
22 Conflicts:
23
24 Makefile
25 mm/mprotect.c
26 net/core/dev.c
27 net/netfilter/nf_conntrack_core.c
28
29 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
30
31 commit 0eb5aa8ea2d24a3925d125b16f3898e1639c651f
32 Author: Konstantin Khlebnikov <khlebnikov@parallels.com>
33 Date: Tue Jan 25 20:22:12 2011 +0300
34
35 ve: register vc in ve0 sysfs
36
37 http://bugzilla.openvz.org/show_bug.cgi?id=1468
38
39 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
40 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
41
42 commit 8fd7d68c52473584ec04127e88e050c89edc64e3
43 Author: Cyrill Gorcunov <gorcunov@openvz.org>
44 Date: Tue Jan 25 20:19:04 2011 +0300
45
46 CR: Restore vDSO sysenter_return address on special conditions v3
47
48 vDSO sysenter_return address make sence on x86-32 platform or
49 x86-64 with compat layer turned on (pure x86-64 environment
50 uses syscall instead).
51
52 v2:
53 - Add tricks for hrtimer C/R code
54 - More vDSO32 conditional compilation on dump/restore
55
56 v3:
57 - Pavel has spotted some of prepoc madness here, plain
58 and simple CONFIG_X86_32 || CONFIG_COMPAT is enough
59
60 http://bugzilla.openvz.org/show_bug.cgi?id=1586
61
62 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
63 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
64
65 commit c5c8daa2dd3e3bbfccd653f60e099b39a26da118
66 Author: Cyrill Gorcunov <gorcunov@gmail.com>
67 Date: Tue Dec 21 19:04:39 2010 +0300
68
69 net, sched: Implement per-namespace functionality v4
70
71 Backport of commit 7316ae88c43d47f6503f4c29b4973204e33c3411
72
73 http://bugzilla.openvz.org/show_bug.cgi?id=1238
74
75 v2: Allow to manipulate tc classes inside net-namespaces
76 v3: Allow 'mirred' action in net-namespaces
77 v4: Be more carefull with netdev refs.
78
79 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
80 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
81
82 commit 56628f791cdee0846cdf250b7bbad70144f9b231
83 Author: Cyrill Gorcunov <gorcunov@openvz.org>
84 Date: Tue Jan 25 18:52:16 2011 +0300
85
86 net, ip6tables: LOG target for both IPv4/6 should use ve_printk
87
88 Signed-off-by: Steven Chamberlain <steven@pyro.eu.org>
89 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
90 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
91
92 commit 835db9404b7c1d5e9ef16d5dd17a1c8bd7431137
93 Author: Cyrill Gorcunov <gorcunov@openvz.org>
94 Date: Tue Jan 25 18:51:40 2011 +0300
95
96 net, ip6tables: Allow to modify IPv6 netfliter rules inside the VE
97
98 IPv6 netfilter stuff is per-net modtly so we should allow users to
99 set their own rules if needed, as result we need CAP_VE_NET_ADMIN
100 check as a complement to CAP_NET_ADMIN.
101
102 http://bugzilla.openvz.org/show_bug.cgi?id=1723
103
104 Signed-off-by: Steven Chamberlain <steven@pyro.eu.org>
105 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
106 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
107
108 commit eb1f3c62b3fc652945dd108dde30cde8be7a6867
109 Author: Cyrill Gorcunov <gorcunov@openvz.org>
110 Date: Fri Dec 10 18:38:51 2010 +0300
111
112 C/R: Restore variable name missed
113
114 In patch 66d247cf6dd51c6725cef2d01285398fe667ef6f
115 we've lost a part of variable name during the merge
116 which causes kernel to not build anymore. Fix it
117 by restoring the name we need.
118
119 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
120 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
121
122 commit 9cfc84d64b73f2bbf752b1df68aa190313407afb
123 Author: Pavel Emelaynov <xemul@openvz.org>
124 Date: Wed Dec 8 17:28:28 2010 +0300
125
126 proc: Compilation fix (lost headers)
127
128 http://bugzilla.openvz.org/show_bug.cgi?id=1688
129
130 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
131
132 commit 8bf86e607e0089de11f645d6e87bc01718f25ea5
133 Author: Pavel Emelaynov <xemul@openvz.org>
134 Date: Wed Dec 8 17:18:38 2010 +0300
135
136 net: Enable ipsec in container
137
138 This is a minimal set of changes enabling the ipsec.
139 http://bugzilla.openvz.org/show_bug.cgi?id=1536
140
141 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
142
143 commit 04e9b2f949ad9c2ded425caecc17341d5300f2b5
144 Author: Cyrill Gorcunov <gorcunov@openvz.org>
145 Date: Wed Dec 8 17:12:39 2010 +0300
146
147 net, iptables: Restore setting VE_IP_NAT bit in running modules mask
148
149 During migration to new iptables management code the setting of
150 VE_IP_NAT bit was lost. In the former code it set at module symbol
151 resolving time (which was cut off eventually). Restore this
152 functionality by setting this bit if VE is allowed to.
153
154 http://bugzilla.openvz.org/show_bug.cgi?id=1603
155
156 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
157 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
158
159 commit 66d247cf6dd51c6725cef2d01285398fe667ef6f
160 Author: Cyrill Gorcunov <gorcunov@openvz.org>
161 Date: Wed Dec 8 17:10:42 2010 +0300
162
163 cpt: Use init_task credentials for file restoring procedure
164
165 We need highest credentials for file restoring procedure otherwise
166 we might hit the situation where credentials for restoring thread
167 is not high enough (happens with programs changing their uids).
168
169 http://bugzilla.openvz.org/show_bug.cgi?id=1603
170
171 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
172 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
173
174 commit 6bb1ed0512b651893df1794a494e5eeb713e3d02
175 Author: Cyrill Gorcunov <gorcunov@gmail.com>
176 Date: Wed Dec 8 16:35:42 2010 +0300
177
178 net, ppp: Report correct error code if unit allocation failed v7
179
180 Allocating unit from ird might return various error codes
181 not EAGAIN one, so it should not be changed to anything else
182 but returned precisely.
183
184 v2: Do not free interface unit until it's freed, otherwise
185 sysfs will find that device is still present and allocation
186 of new interace will fail.
187 v3: Close a small race window in unit release procedure
188 v5: Be ready for PADO if PPP feature disabled.
189 v6: Correct freeing of PPP units in generic level.
190 v7: Put units if device is being unregistered.
191
192 bcc70bb3aeae7c3d035881d41055685f08a2b745
193 http://bugzilla.openvz.org/show_bug.cgi?id=1697
194
195 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
196 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
197
198 commit 6aa0026d95af8b9a83113a3907c328eaa492333a
199 Author: Pavel Emelyanov <xemul@openvz.org>
200 Date: Wed Dec 8 16:29:54 2010 +0300
201
202 netns: Don't leak others' openreq-s in proc
203
204 The /proc/net/tcp leaks openreq sockets from other namespaces.
205 http://bugzilla.openvz.org/show_bug.cgi?id=1705
206
207 Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
208 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
209
210 commit 09c67a4c47f8dfeac50c3122550e8d8163b2d2d3
211 Author: Cyrill Gorcunov <gorcunov@openvz.org>
212 Date: Wed Dec 8 16:28:42 2010 +0300
213
214 net: pppoe - Fix NULL dereference on PPPoED frames
215
216 In case if VE configured without VE_FEATURE_PPP
217 PPPoED frame causes NULL dereference. In real there is
218 a chance to receive a malformed packet (ie packets with
219 PPPoE type) which would cause null dereference as well.
220 Fix both cases.
221
222 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
223 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
224
225 commit 3e89668abca56e6e11e1bbb9cbac1008d3c2357b
226 Author: Pavel Emelaynov <xemul@openvz.org>
227 Date: Wed Dec 8 16:26:53 2010 +0300
228
229 ext4: Disable delalloc by default
230
231 commit aaf7d79ecd409182c101fa22a977b11fa95122f1
232 Author: Cyrill Gorcunov <gorcunov@gmail.com>
233 Date: Sun Nov 7 21:01:45 2010 +0300
234
235 ppp: Restore virtualization v3
236
237 net, ppp: ppp_open should check for CAP_VE_NET_ADMIN
238 http://bugzilla.openvz.org/show_bug.cgi?id=1663
239
240 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
241 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
242
243 commit e5db932edffe86ddc4a8f9cdfc6e267ed887570c
244 Author: Pavel Emelyanov <xemul@openvz.org>
245 Date: Sat Nov 6 17:02:43 2010 +0300
246
247 ubc: Fix orphan count checks after merge
248
249 After merging -stable the orphans checking function started checking
250 the wrong counter.
251
252 http://bugzilla.openvz.org/show_bug.cgi?id=1693
253
254 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
255
256 commit f3d52fc5575aa3bbd8bc270b448307736ca2ce33
257 Author: Pavel Emelyanov <xemul@openvz.org>
258 Date: Mon Nov 1 14:36:24 2010 +0300
259
260 OpenVZ kernel 2.6.32-dzhanibekov released
261
262 Named after Vladimir Aleksandrovich Dzhanibekov - a soviet cosmonaut
263
264 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
265
266 commit 877ea29bb755fe88d58e02e61f11399eff22ca0d
267 Author: Pavel Emelyanov <xemul@openvz.org>
268 Date: Mon Nov 1 14:24:29 2010 +0300
269
270 slab: Compilation fix for !SLABINFO case
271
272 http://bugzilla.openvz.org/show_bug.cgi?id=1535
273
274 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
275
276 commit 8491289d8589f3f0e228b7c1859adfde57c572fe
277 Author: Pavel Emelyanov <xemul@openvz.org>
278 Date: Mon Nov 1 14:17:34 2010 +0300
279
280 vzdq: Compilation fix for no-ugid-quota case
281
282 http://bugzilla.openvz.org/show_bug.cgi?id=1503
283
284 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
285
286 commit e924167368da165693d6401ebe8eed582857e098
287 Author: Cyrill Gorcunov <gorcunov@gmail.com>
288 Date: Mon Nov 1 13:24:25 2010 +0300
289
290 Restore PPP virtualization
291
292 ppp: Restore virtualization
293
294 During migration to 2.6.32 we've lost some virtualization
295 features in PPP facility. Get it back.
296
297 Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
298 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
299
300 commit 62c8dc47f9fe7ee634787740205908b104a2931e
301 Author: Ben Hutchings <ben@decadent.org.uk>
302 Date: Sun Oct 17 02:24:28 2010 +0100
303
304 printk: Handle global log buffer reallocation
305
306 Currently an increase in log_buf_len results in disaster, as
307 ve0.log_buf is left pointing to the old log buffer.
308
309 Update ve0.log_buf when the global log buffer is reallocated. Also
310 acquire logbuf_lock before reading ve_log_buf_len, to avoid a race
311 with reallocation.
312
313 Reported-and-tested-by: Tim Small <tim@seoss.co.uk>
314 Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
315 Signed-off-by: maximilian attems <max@stro.at>
316 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
317
318 commit 6f60f358ace4892e38137151af452c3949154b20
319 Author: Cyrill Gorcunov <gorcunov@openvz.org>
320 Date: Mon Oct 25 18:27:26 2010 +0400
321
322 net, sysfs: Allow to move netdevice sysfs links between namespaces
323
324 The kernel already tuned for this no need to check for init_net
325
326 http://bugzilla.openvz.org/show_bug.cgi?id=1513
327
328 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
329 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
330
331 commit 36257fa14f5557aada1deaaa5b936cdc690af0f7
332 Author: Andrey Vagin <avagin@openvz.org>
333 Date: Fri Oct 8 12:18:40 2010 +0400
334
335 net: use correct skb for GSO case
336
337 GSO code use the variable nskb
338 http://bugzilla.openvz.org/show_bug.cgi?id=1634
339
340 Signed-off-by: Andrey Vagin <avagin@openvz.org>
341 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
342
343 commit 12b9937d06add8bcd3304d7c1e47707b4becaf8e
344 Author: Andrey Vagin <avagin@openvz.org>
345 Date: Fri Oct 8 12:18:39 2010 +0400
346
347 net: release dst entry while cache-hot for GSO case too
348
349 Non-GSO code drops dst entry for performance reasons, but
350 the same is missing for GSO code. Drop dst while cache-hot
351 for GSO case too.
352
353 this patch has been backported from mainstream because of
354 http://bugzilla.openvz.org/show_bug.cgi?id=1634
355
356 Signed-off-by: Krishna Kumar <krkumar2@in.ibm.com>
357 Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
358 Signed-off-by: David S. Miller <davem@davemloft.net>
359 Signed-off-by: Andrey Vagin <avagin@openvz.org>
360 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
361
362 commit 6909d4328e3766709e40f6cbcb7fc2a8f3718fc8
363 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
364 Date: Wed Sep 1 16:27:50 2010 +0400
365
366 cfq-iosched: do not force idling for sync workload
367
368 revert v2.6.32-108-gc04645e
369 blkio: Wait on sync-noidle queue even if rq_noidle = 1
370 by Vivek Goyal <vgoyal@redhat.com>
371
372 and piece of v2.6.32-rc5-486-g8e55063
373 cfq-iosched: fix corner cases in idling logic
374 by Corrado Zoccolo <czoccolo@gmail.com>
375
376 fix perfomance degradation for massive write-fsync pattern:
377 # sysbench --test=fileio --file-num=1 --file-total-size=1G --file-fsync-all=on \
378 --file-test-mode=seqwr --max-time=10 --file-block-size=4096 --max-requests=0 run
379
380 http://bugzilla.openvz.org/show_bug.cgi?id=1622
381
382 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
383 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
384
385 commit 01cd32b7577f0e8ed795617e360bc02bf86617c7
386 Merge: 763921f 8063013
387 Author: Pavel Emelyanov <xemul@openvz.org>
388 Date: Mon Nov 1 13:07:38 2010 +0300
389
390 Merged linux-2.6.32.25
391
392 Conflicts:
393
394 Makefile
395 net/ipv4/tcp.c
396 net/ipv4/tcp_timer.c
397
398 I had to rewrite the per-bc orphan management due to
399 a89d316f (tcp: Combat per-cpu skew in orphan tests).
400
401 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
402
403 commit 763921f076cdfd79359ffdc279edf8ee45d31691
404 Author: Pavel Emelyanov <xemul@openvz.org>
405 Date: Tue Sep 21 18:24:37 2010 +0400
406
407 OpenVZ kernel 2.6.32-dyomin released
408
409 Named after Lev Stepanovich Dyomin - a soviet cosmonaut
410
411 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
412
413 commit 47ac42d7e3717b4f795ae01fd8a3267ccd744816
414 Author: Pavel Emelyanov <xemul@openvz.org>
415 Date: Tue Sep 21 18:37:02 2010 +0400
416
417 ubc: Remove cpuset_(un)lock calls
418
419 These were removed with .22 stable update
420
421 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
422
423 commit a2c26f9437204f91c587d272d0e8c4548e2023b3
424 Merge: d38b56f eaa1ace
425 Author: Pavel Emelyanov <xemul@openvz.org>
426 Date: Tue Sep 21 18:22:39 2010 +0400
427
428 Merged linux-2.6.32.22
429
430 Conflicts:
431
432 Makefile
433 drivers/net/tun.c
434 kernel/cpu.c
435 kernel/sched.c
436
437 commit d38b56fd0dcacadcaeaa2e6b66260028cde13931
438 Author: Pavel Emelyanov <xemul@openvz.org>
439 Date: Fri Sep 3 17:34:05 2010 +0400
440
441 OpenVZ kernel 2.6.32-dobrovolskiy released
442
443 Named after Georgiy Timofeyevich Dobrovolskiy - a soviet cosmonaut
444
445 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
446
447 commit 097aad239bad5a90282db2d10c52103cf56fd50b
448 Author: Pavel Emelyanov <xemul@openvz.org>
449 Date: Fri Sep 3 16:13:52 2010 +0400
450
451 vzevent: Don't use KOBJ_XXX constants any longer.
452
453 Introduce our own ones, since their usage is internal.
454
455 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
456
457 commit 3a07627d33e0ea2cc842bf9631950aba901e651c
458 Author: Pavel Emelyanov <xemul@openvz.org>
459 Date: Fri Sep 3 16:13:21 2010 +0400
460
461 vzevent: Compilation fixes on 2.6.32
462
463 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
464
465 commit dda56ffbc306d36ecb5a8c73a7445922683b1766
466 Author: Vitaly Gusev <vgusev@openvz.org>
467 Date: Fri Sep 3 16:12:29 2010 +0400
468
469 vzevent: Hook the module into Kconfig and Makefile
470
471 Signed-off-by: Vitaly Gusev <vgusev@openvz.org>
472 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
473
474 commit 8b0dcdfb715811064c54b3070b13e702e91c8c5d
475 Author: Vitaly Gusev <vgusev@openvz.org>
476 Date: Fri Sep 3 16:12:00 2010 +0400
477
478 vzevent: add "reboot_event" parameter to the vzevent module
479
480 By default "reboot_event" parameter is 0. This means that no any
481 reboot events are send to userspace and only "STOP" event.
482
483 To get "reboot" events set this parameter to 1.
484
485 Signed-off-by: Vitaly Gusev <vgusev@openvz.org>
486 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
487
488 commit 092221b382aeaa9c7f6247c04154ae188282998a
489 Author: Vitaly Gusev <vgusev@openvz.org>
490 Date: Fri Sep 3 16:11:31 2010 +0400
491
492 vzevent: Add "ve-reboot" event
493
494 Now userspace may receive
495
496 "ve-reboot@VEID"
497
498 message
499
500 Signed-off-by: Vitaly Gusev <vgusev@openvz.org>
501 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
502
503 commit 850fa8377c6717b41a8bee5650af44a7a0b41c48
504 Author: Vitaly Gusev <vgusev@openvz.org>
505 Date: Fri Sep 3 16:10:47 2010 +0400
506
507 vzevent: Don't NULL dereference
508
509 Now all actions are in a "switch", but what if some action will be
510 missed?
511
512 Signed-off-by: Vitaly Gusev <vgusev@openvz.org>
513 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
514
515 commit 03263888e35b4f49bd73fa53753101904fcaa6c0
516 Merge: c9faa01 671e83b
517 Author: Pavel Emelyanov <xemul@openvz.org>
518 Date: Fri Sep 3 16:09:22 2010 +0400
519
520 Merged linux-2.6.32.21
521
522 Conflicts:
523
524 Makefile
525
526 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
527
528 commit c9faa010fb66cb18d61a4bb0b3f010d90cb47d84
529 Author: Pavel Emelyanov <xemul@openvz.org>
530 Date: Tue Aug 24 12:48:00 2010 +0400
531
532 OpenVZ kernel 2.6.32-bykovsky released
533
534 Named after Valery Fyodorovich Bykovsky - a soviet cosmonaut
535
536 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
537
538 commit 1ebdc4f988fbb4526e95e96bdcd432168de7ce1a
539 Merge: b870541 b53e490
540 Author: Pavel Emelyanov <xemul@openvz.org>
541 Date: Mon Aug 23 19:32:06 2010 +0400
542
543 Merged linux-2.6.32.20
544
545 Conflicts:
546
547 Makefile
548 mm/memory.c
549
550 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
551
552 commit b870541d7cc51f53da8b2de4383b0d4c3bb81f23
553 Author: Pavel Emelyanov <xemul@openvz.org>
554 Date: Thu Jul 15 18:16:14 2010 +0400
555
556 cpt: Fix TLS segment migration between arches
557
558 On x86 the tls segment is saved in cpt_ugs field, not the cpt_gs one.
559
560 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
561
562 commit b45bd227998b427cd636c4fa403ee9d8fe2f0ba5
563 Author: Pavel Emelyanov <xemul@openvz.org>
564 Date: Thu Jul 15 18:15:00 2010 +0400
565
566 cpt: Fix nanosleep compat restart block restoring
567
568 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
569
570 commit 5fd638726a6999e334e5e2c0635a03a447adc0d1
571 Author: Pavel Emelyanov <xemul@openvz.org>
572 Date: Thu Jun 17 20:45:46 2010 +0400
573
574 OpenVZ kernel 2.6.32-budarin released
575
576 Named after Nikolai Mikhailovich Budarin - a Russian cosmonaut
577
578 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
579
580 commit 25ded1908b24b122325003fe56afa5bc78511aad
581 Merge: 7e99ed1 c5f1e1a
582 Author: Pavel Emelyanov <xemul@openvz.org>
583 Date: Thu Jun 17 20:40:20 2010 +0400
584
585 Merged linux-2.6.32.15
586
587 Conflicts:
588
589 Makefile
590
591 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
592
593 commit 7e99ed1bc34b60ed42eb2008edbb4f98684edb0a
594 Author: Stanislav Kinsbursky <skinsbursky@openvz.org>
595 Date: Thu Jun 17 20:25:43 2010 +0400
596
597 CPT: Replace legacy net statistics with netns one
598
599 http://bugzilla.openvz.org/show_bug.cgi?id=1543
600
601 Signed-off-by: Stanislav Kinsbursky <skinsbursky@openvz.org>
602 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
603
604 commit ad21fa5e96fc66a63364f210aebf4f4f95345ee4
605 Author: Stanislav Kinsbursky <skinsbursky@openvz.org>
606 Date: Thu Jun 17 20:24:21 2010 +0400
607
608 NET: register net sysfs kobject inside container
609
610 Adding of net kobject was supressed if network namespace is not
611 "init_net". Check for "init_net" is removed.
612
613 http://bugzilla.openvz.org/show_bug.cgi?id=1534
614
615 Signed-off-by: Stanislav Kinsbursky <skinsbursky@openvz.org>
616 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
617
618 commit 9783d9e288e8ca754cabf77e7eb68099a75a5292
619 Author: Andrey Vagin <avagin@openvz.org>
620 Date: Fri Jun 11 19:48:34 2010 +0400
621
622 cpt: fix refcounting of tty and pid on setting tty to process
623
624 http://bugzilla.openvz.org/show_bug.cgi?id=1544
625
626 Signed-off-by: Andrey Vagin <avagin@openvz.org>
627 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
628
629 commit b2fecd288e7d0457df18e57f11685e007cd09ad6
630 Author: Pavel Emelyanov <xemul@openvz.org>
631 Date: Fri Jun 11 18:36:51 2010 +0400
632
633 mm: Fix oops in do_wp_page
634
635 http://bugzilla.openvz.org/show_bug.cgi?id=1541
636
637 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
638
639 commit e7399c239fadcc813adcf4f947b00ec199d6a11b
640 Author: Pavel Emelyanov <xemul@openvz.org>
641 Date: Thu May 27 20:07:25 2010 +0400
642
643 OpenVZ kernel 2.6.32-belyayev released
644
645 Named after Pavel Ivanovich Belyayev - a Russian cosmonaut
646
647 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
648
649 commit f11aece8614b06328cfbb7283622d0c1f392a783
650 Author: Kir Kolyshkin <kir@openvz.org>
651 Date: Thu May 27 20:05:53 2010 +0400
652
653 Fix/enlarge description of CONFIG_SYSFS_DEPRECATED_DYN
654
655 Commit f40134386 adds this option, unfortunately the description
656 has a high ratio of typos per word, plus it is incomplete.
657
658 Fix both issues.
659
660 Signed-off-by: Kir Kolyshkin <kir@openvz.org>
661 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
662
663 commit 537027d8abbb3f78c9c80b7574a12c920c7af4f6
664 Author: Cyrill Gorcunov <gorcunov@openvz.org>
665 Date: Tue Apr 20 23:14:04 2010 +0400
666
667 mm: SLUB -- implement show_slab_info
668
669 Note that we had to introduce cache_chain_lock spinlock,
670 otherwise we could touch entity being removed.
671
672 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
673 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
674
675 commit 0eb474428f7f5fcae74048682be692033060f21e
676 Author: Cyrill Gorcunov <gorcunov@openvz.org>
677 Date: Tue Apr 20 21:14:24 2010 +0400
678
679 mm: SLAB -- use static cache_chain/_lock initializers
680
681 There is no need to initialize cache_chain list and spinlock dynamically.
682 Which save some cpu cycles on the kernel startup.
683
684 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
685 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
686
687 commit 9bab271973963a03bb1e0d5a1ecaee1e3810907c
688 Merge: 509eb1f 7b7a917
689 Author: Pavel Emelyanov <xemul@openvz.org>
690 Date: Thu May 27 17:57:10 2010 +0400
691
692 Merged linux-2.6.32.14
693
694 Conflicts:
695
696 Makefile
697 fs/notify/inotify/inotify_fsnotify.c
698 fs/notify/inotify/inotify_user.c
699 fs/proc/array.c
700 include/linux/sched.h
701
702 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
703
704 commit 509eb1f29c4301126a0ccda8e001dfd0af0d56d2
705 Author: Pavel Emelyanov <xemul@openvz.org>
706 Date: Mon May 24 14:27:05 2010 +0400
707
708 OpenVZ kernel 2.6.32-balandin released
709
710 Named after Aleksandr Nikolayevich Balandin - a Russian cosmonaut.
711
712 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
713
714 commit eb28ec67376e267760e72c96ca3d54346d39a56f
715 Author: Pavel Emelyanov <xemul@openvz.org>
716 Date: Mon May 24 15:10:31 2010 +0400
717
718 sysctl: Compilation fix after merge of sysctl fixes
719
720 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
721
722 commit 0bb7a0e0615e134b7ae9f7e2e2737be5ff76881b
723 Author: Cyrill Gorcunov <gorcunov@openvz.org>
724 Date: Mon May 24 14:23:28 2010 +0400
725
726 fs: Don't list non-VE fs in /proc/filesistems
727
728 Which is due to luck of a virtualized filesystems filter.
729 Implement it.
730
731 http://bugzilla.openvz.org/show_bug.cgi?id=1504
732
733 Reported-by: Kir Kolyshkin <kir@openvz.org>
734 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
735 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
736
737 commit 866f4866b2d988c1ac1222f0397efd1e6e64d443
738 Author: Andrey Vagin <avagin@openvz.org>
739 Date: Mon May 24 13:14:58 2010 +0400
740
741 Fix sysctl warnings about unknown sysctl binary
742
743 Switch this entry over to use CTL_UNNUMBERED, because
744 nobody use it via sys_sysctl.
745
746 http://bugzilla.openvz.org/show_bug.cgi?id=1463
747
748 Signed-off-by: Andrey Vagin <avagin@openvz.org>
749 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
750
751 commit 2412f2cf0853b5303af7740000c99179eeece3e4
752 Author: Andrey Vagin <avagin@openvz.org>
753 Date: Mon May 24 13:15:37 2010 +0400
754
755 susctl: Add sysctl_data_ve helper
756
757 This helper is analogous to proc_dointvec_ve
758
759 Add generic method for sys_syscal access to per ve values.
760
761 The extra1 field of ctl_table contains data field offset from ve_struct begin.
762 without CONFIG_VE use address from .data field.
763
764 Signed-off-by: Andrey Vagin <avagin@openvz.org>
765 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
766
767 commit 39f9a055139faf313a1ad823b145e535d5485f5c
768 Author: Andrey Vagin <avagin@openvz.org>
769 Date: Mon May 24 13:16:11 2010 +0400
770
771 Fix sysctl warnings about msissing strategy for randomize_va_space
772
773 http://bugzilla.openvz.org/show_bug.cgi?id=1463
774
775 Signed-off-by: Andrey Vagin <avagin@openvz.org>
776 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
777
778 commit de3a7aab2eeab095a81f414d0e5e855da1d99c61
779 Author: Andrey Vagin <avagin@openvz.ru>
780 Date: Mon May 24 13:13:36 2010 +0400
781
782 cpt: use shem_file for dump inode content of shm
783
784 Files with shm_file_operations save link in private_data on
785 the file with shmem_file_operation. For dumping inode content
786 we use read from shmem_file_operation, but pass the file with
787 shm_file_operations.
788
789 shmem_file_operation use do_sync_read, which uses file->f_op->aio_read,
790 but it's absent in smh_file_operation.
791
792 do_read
793 do_sync_read(*f, ...)
794 f->f_op->aio_read -> Oops
795
796 http://bugzilla.openvz.org/show_bug.cgi?id=1500
797
798 Signed-off-by: Andrey Vagin <avagin@openvz.org>
799 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
800
801 commit 1c4eba47b2d5d3d26c186485de8adf8ef293ebb5
802 Author: Stanislav Kinsbursky <skinsbursky@openvz.org>
803 Date: Mon May 24 14:05:44 2010 +0400
804
805 tun: device_create_file omitted if net level is not init_net
806
807 device_create_file() calls are omitted in tun_set_iff() if net is inside container.
808 Used the same condition check like in netdev_register_kobject().
809
810 http://bugzilla.openvz.org/show_bug.cgi?id=1497
811
812 Signed-off-by: Stanislav Kinsbursky <skinsbursky@openvz.org>
813 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
814
815 commit 98447fa5c37746da0699b9f8d8bbd59d8147d9bc
816 Author: Kir Kolyshkin <kir@openvz.org>
817 Date: Mon May 24 13:04:17 2010 +0400
818
819 Revert "mm mmap zero length kludge"
820
821 This kludge was made for really old rpm versions which were since then
822 fixed (see references to RH bugzilla in OpenVZ bug #893). More to say,
823 it now makes rpm itself segfault in our templates when locale is set,
824 details are in OpenVZ bug #1502. So remove it and hope for the best.
825
826 http://bugzilla.openvz.org/1502
827 http://bugzilla.openvz.org/893
828
829 This reverts commit d252a93b32d6d251fcc73863b75b91edaa801b95.
830
831 Signed-off-by: Kir Kolyshkin <kir@openvz.org>
832 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
833
834 commit 57358efc0e639282309d8b6aea8efb8ae3d6d9ad
835 Merge: 42a0a10 1cd8211
836 Author: Pavel Emelyanov <xemul@openvz.org>
837 Date: Mon May 24 12:59:24 2010 +0400
838
839 Merged linux-2.6.32.13
840
841 Conflicts:
842
843 Makefile
844
845 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
846
847 commit 42a0a1071d3872af254373c1cc07085b9bf24d3a
848 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
849 Date: Mon May 24 12:56:47 2010 +0400
850
851 ioprio: Make it possible to set ve ioprio finally
852
853 Add ioprio compat call for blk-cgroup. Simulate the old ioprio with
854 the new blk-cgroup weight.
855
856 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
857 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
858
859 commit a4452f1cc33f6e4f7d8f58abab818ede313cdfbc
860 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
861 Date: Mon May 24 12:55:43 2010 +0400
862
863 cgroup-lite: Set task css properly
864
865 Fix task moving between cgroups at ve create and enter.
866 Add a helper to attach a task to a cgroup set (based on the
867 cgroup_attach_task).
868
869 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
870 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
871
872 commit 983bb0952f838b55130f20a9486a04c92ae5826b
873 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
874 Date: Mon May 24 12:54:09 2010 +0400
875
876 cgroup-lite: add cgroup-id for blk-cgroups
877
878 Use one id for all subsystems in one cgroup. Store the id right
879 on the cgroup struct instead of hacking around css_id structures.
880
881 Plus add other cgroup tree related functions required by blk-cgroup.
882
883 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
884 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
885
886 commit f54f5b3e0a014f3bb5c530b4c13d443a2fc92b52
887 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
888 Date: Mon May 24 12:50:31 2010 +0400
889
890 cgroup-lite: fix subsys state refcnt
891
892 Add missed __css_put and fix refcnt initial state: for alive css refcnt
893 starts from 1, see the init_cgroup_css and the cgroup_clear_css_refs.
894
895 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
896 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
897
898 commit dd480cee5d48b5fd88f4f074743b542fab6d9e70
899 Author: Shaohua Li <shaohua.li@intel.com>
900 Date: Tue Apr 27 16:52:01 2010 +0400
901
902 cfq-iosched: split seeky coop queues after one slice
903
904 Currently we split seeky coop queues after 1s, which is too big. Below patch
905 marks seeky coop queue split_coop flag after one slice. After that, if new
906 requests come in, the queues will be splitted. Patch is suggested by Corrado.
907
908 Signed-off-by: Shaohua Li <shaohua.li@intel.com>
909 Reviewed-by: Corrado Zoccolo <czoccolo@gmail.com>
910 Acked-by: Jeff Moyer <jmoyer@redhat.com>
911 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
912
913 commit 187231a1fad899839137f76c08dd016a81245abb
914 Author: Vivek Goyal <vgoyal@redhat.com>
915 Date: Tue Apr 27 16:51:57 2010 +0400
916
917 cfq-iosched: Do not idle on async queues
918
919 Few weeks back, Shaohua Li had posted similar patch. I am reposting it
920 with more test results.
921
922 This patch does two things.
923
924 - Do not idle on async queues.
925
926 - It also changes the write queue depth CFQ drives (cfq_may_dispatch()).
927 Currently, we seem to driving queue depth of 1 always for WRITES. This is
928 true even if there is only one write queue in the system and all the logic
929 of infinite queue depth in case of single busy queue as well as slowly
930 increasing queue depth based on last delayed sync request does not seem to
931 be kicking in at all.
932
933 This patch will allow deeper WRITE queue depths (subjected to the other
934 WRITE queue depth contstraints like cfq_quantum and last delayed sync
935 request).
936
937 Shaohua Li had reported getting more out of his SSD. For me, I have got
938 one Lun exported from an HP EVA and when pure buffered writes are on, I
939 can get more out of the system. Following are test results of pure
940 buffered writes (with end_fsync=1) with vanilla and patched kernel. These
941 results are average of 3 sets of run with increasing number of threads.
942
943 AVERAGE[bufwfs][vanilla]
944 -------
945 job Set NR ReadBW(KB/s) MaxClat(us) WriteBW(KB/s) MaxClat(us)
946 --- --- -- ------------ ----------- ------------- -----------
947 bufwfs 3 1 0 0 95349 474141
948 bufwfs 3 2 0 0 100282 806926
949 bufwfs 3 4 0 0 109989 2.7301e+06
950 bufwfs 3 8 0 0 116642 3762231
951 bufwfs 3 16 0 0 118230 6902970
952
953 AVERAGE[bufwfs] [patched kernel]
954 -------
955 bufwfs 3 1 0 0 270722 404352
956 bufwfs 3 2 0 0 206770 1.06552e+06
957 bufwfs 3 4 0 0 195277 1.62283e+06
958 bufwfs 3 8 0 0 260960 2.62979e+06
959 bufwfs 3 16 0 0 299260 1.70731e+06
960
961 I also ran buffered writes along with some sequential reads and some
962 buffered reads going on in the system on a SATA disk because the potential
963 risk could be that we should not be driving queue depth higher in presence
964 of sync IO going to keep the max clat low.
965
966 With some random and sequential reads going on in the system on one SATA
967 disk I did not see any significant increase in max clat. So it looks like
968 other WRITE queue depth control logic is doing its job. Here are the
969 results.
970
971 AVERAGE[brr, bsr, bufw together] [vanilla]
972 -------
973 job Set NR ReadBW(KB/s) MaxClat(us) WriteBW(KB/s) MaxClat(us)
974 --- --- -- ------------ ----------- ------------- -----------
975 brr 3 1 850 546345 0 0
976 bsr 3 1 14650 729543 0 0
977 bufw 3 1 0 0 23908 8274517
978
979 brr 3 2 981.333 579395 0 0
980 bsr 3 2 14149.7 1175689 0 0
981 bufw 3 2 0 0 21921 1.28108e+07
982
983 brr 3 4 898.333 1.75527e+06 0 0
984 bsr 3 4 12230.7 1.40072e+06 0 0
985 bufw 3 4 0 0 19722.3 2.4901e+07
986
987 brr 3 8 900 3160594 0 0
988 bsr 3 8 9282.33 1.91314e+06 0 0
989 bufw 3 8 0 0 18789.3 23890622
990
991 AVERAGE[brr, bsr, bufw mixed] [patched kernel]
992 -------
993 job Set NR ReadBW(KB/s) MaxClat(us) WriteBW(KB/s) MaxClat(us)
994 --- --- -- ------------ ----------- ------------- -----------
995 brr 3 1 837 417973 0 0
996 bsr 3 1 14357.7 591275 0 0
997 bufw 3 1 0 0 24869.7 8910662
998
999 brr 3 2 1038.33 543434 0 0
1000 bsr 3 2 13351.3 1205858 0 0
1001 bufw 3 2 0 0 18626.3 13280370
1002
1003 brr 3 4 913 1.86861e+06 0 0
1004 bsr 3 4 12652.3 1430974 0 0
1005 bufw 3 4 0 0 15343.3 2.81305e+07
1006
1007 brr 3 8 890 2.92695e+06 0 0
1008 bsr 3 8 9635.33 1.90244e+06 0 0
1009 bufw 3 8 0 0 17200.3 24424392
1010
1011 So looks like it might make sense to include this patch.
1012
1013 Thanks
1014 Vivek
1015
1016 Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
1017 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1018
1019 commit 9027160e254ff7ea55338a1857843144445d57aa
1020 Author: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
1021 Date: Tue Apr 27 16:51:53 2010 +0400
1022
1023 blk-cgroup: Fix potential deadlock in blk-cgroup
1024
1025 I triggered a lockdep warning as following.
1026
1027 =======================================================
1028 [ INFO: possible circular locking dependency detected ]
1029 2.6.33-rc2 #1
1030 -------------------------------------------------------
1031 test_io_control/7357 is trying to acquire lock:
1032 (blkio_list_lock){+.+...}, at: [<c053a990>] blkiocg_weight_write+0x82/0x9e
1033
1034 but task is already holding lock:
1035 (&(&blkcg->lock)->rlock){......}, at: [<c053a949>] blkiocg_weight_write+0x3b/0x9e
1036
1037 which lock already depends on the new lock.
1038
1039 the existing dependency chain (in reverse order) is:
1040
1041 -> #2 (&(&blkcg->lock)->rlock){......}:
1042 [<c04583b7>] validate_chain+0x8bc/0xb9c
1043 [<c0458dba>] __lock_acquire+0x723/0x789
1044 [<c0458eb0>] lock_acquire+0x90/0xa7
1045 [<c0692b0a>] _raw_spin_lock_irqsave+0x27/0x5a
1046 [<c053a4e1>] blkiocg_add_blkio_group+0x1a/0x6d
1047 [<c053cac7>] cfq_get_queue+0x225/0x3de
1048 [<c053eec2>] cfq_set_request+0x217/0x42d
1049 [<c052c8a6>] elv_set_request+0x17/0x26
1050 [<c0532a0f>] get_request+0x203/0x2c5
1051 [<c0532ae9>] get_request_wait+0x18/0x10e
1052 [<c0533470>] __make_request+0x2ba/0x375
1053 [<c0531985>] generic_make_request+0x28d/0x30f
1054 [<c0532da7>] submit_bio+0x8a/0x8f
1055 [<c04d827a>] submit_bh+0xf0/0x10f
1056 [<c04d91d2>] ll_rw_block+0xc0/0xf9
1057 [<f86e9705>] ext3_find_entry+0x319/0x544 [ext3]
1058 [<f86eae58>] ext3_lookup+0x2c/0xb9 [ext3]
1059 [<c04c3e1b>] do_lookup+0xd3/0x172
1060 [<c04c56c8>] link_path_walk+0x5fb/0x95c
1061 [<c04c5a65>] path_walk+0x3c/0x81
1062 [<c04c5b63>] do_path_lookup+0x21/0x8a
1063 [<c04c66cc>] do_filp_open+0xf0/0x978
1064 [<c04c0c7e>] open_exec+0x1b/0xb7
1065 [<c04c1436>] do_execve+0xbb/0x266
1066 [<c04081a9>] sys_execve+0x24/0x4a
1067 [<c04028a2>] ptregs_execve+0x12/0x18
1068
1069 -> #1 (&(&q->__queue_lock)->rlock){..-.-.}:
1070 [<c04583b7>] validate_chain+0x8bc/0xb9c
1071 [<c0458dba>] __lock_acquire+0x723/0x789
1072 [<c0458eb0>] lock_acquire+0x90/0xa7
1073 [<c0692b0a>] _raw_spin_lock_irqsave+0x27/0x5a
1074 [<c053dd2a>] cfq_unlink_blkio_group+0x17/0x41
1075 [<c053a6eb>] blkiocg_destroy+0x72/0xc7
1076 [<c0467df0>] cgroup_diput+0x4a/0xb2
1077 [<c04ca473>] dentry_iput+0x93/0xb7
1078 [<c04ca4b3>] d_kill+0x1c/0x36
1079 [<c04cb5c5>] dput+0xf5/0xfe
1080 [<c04c6084>] do_rmdir+0x95/0xbe
1081 [<c04c60ec>] sys_rmdir+0x10/0x12
1082 [<c04027cc>] sysenter_do_call+0x12/0x32
1083
1084 -> #0 (blkio_list_lock){+.+...}:
1085 [<c0458117>] validate_chain+0x61c/0xb9c
1086 [<c0458dba>] __lock_acquire+0x723/0x789
1087 [<c0458eb0>] lock_acquire+0x90/0xa7
1088 [<c06929fd>] _raw_spin_lock+0x1e/0x4e
1089 [<c053a990>] blkiocg_weight_write+0x82/0x9e
1090 [<c0467f1e>] cgroup_file_write+0xc6/0x1c0
1091 [<c04bd2f3>] vfs_write+0x8c/0x116
1092 [<c04bd7c6>] sys_write+0x3b/0x60
1093 [<c04027cc>] sysenter_do_call+0x12/0x32
1094
1095 other info that might help us debug this:
1096
1097 1 lock held by test_io_control/7357:
1098 #0: (&(&blkcg->lock)->rlock){......}, at: [<c053a949>] blkiocg_weight_write+0x3b/0x9e
1099 stack backtrace:
1100 Pid: 7357, comm: test_io_control Not tainted 2.6.33-rc2 #1
1101 Call Trace:
1102 [<c045754f>] print_circular_bug+0x91/0x9d
1103 [<c0458117>] validate_chain+0x61c/0xb9c
1104 [<c0458dba>] __lock_acquire+0x723/0x789
1105 [<c0458eb0>] lock_acquire+0x90/0xa7
1106 [<c053a990>] ? blkiocg_weight_write+0x82/0x9e
1107 [<c06929fd>] _raw_spin_lock+0x1e/0x4e
1108 [<c053a990>] ? blkiocg_weight_write+0x82/0x9e
1109 [<c053a990>] blkiocg_weight_write+0x82/0x9e
1110 [<c0467f1e>] cgroup_file_write+0xc6/0x1c0
1111 [<c0454df5>] ? trace_hardirqs_off+0xb/0xd
1112 [<c044d93a>] ? cpu_clock+0x2e/0x44
1113 [<c050e6ec>] ? security_file_permission+0xf/0x11
1114 [<c04bcdda>] ? rw_verify_area+0x8a/0xad
1115 [<c0467e58>] ? cgroup_file_write+0x0/0x1c0
1116 [<c04bd2f3>] vfs_write+0x8c/0x116
1117 [<c04bd7c6>] sys_write+0x3b/0x60
1118 [<c04027cc>] sysenter_do_call+0x12/0x32
1119
1120 To prevent deadlock, we should take locks as following sequence:
1121
1122 blkio_list_lock -> queue_lock -> blkcg_lock.
1123
1124 The following patch should fix this bug.
1125
1126 Signed-off-by: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
1127 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1128
1129 commit 0460ada9ec82e679632588772a3084652c1db996
1130 Author: Divyesh Shah <dpshah@google.com>
1131 Date: Tue Apr 27 16:51:48 2010 +0400
1132
1133 cfq-iosched: Respect ioprio_class when preempting
1134
1135 In cfq_should_preempt(), we currently allow some cases where a non-RT request
1136 can preempt an ongoing RT cfqq timeslice. This should not happen.
1137 Examples include:
1138
1139 o A sync_noidle wl type non-RT request pre-empting a sync_noidle wl type cfqq
1140 on which we are idling.
1141 o Once we have per-cgroup async queues, a non-RT sync request pre-empting a RT
1142 async cfqq.
1143
1144 Signed-off-by: Divyesh Shah<dpshah@google.com>
1145 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1146
1147 commit 58244fb9adfe3f58b17be18c9f27d59dbf4977fe
1148 Author: Shaohua Li <shaohua.li@intel.com>
1149 Date: Tue Apr 27 16:51:44 2010 +0400
1150
1151 cfq-iosched: don't regard requests with long distance as close
1152
1153 seek_mean could be very big sometimes, using it as close criteria is meaningless
1154 as this doen't improve any performance. So if it's big, let's fallback to
1155 default value.
1156
1157 Reviewed-by: Corrado Zoccolo <czoccolo@gmail.com>
1158 Signed-off-by: Shaohua Li<shaohua.li@intel.com>
1159 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1160
1161 commit 875add11b7efa93199cd179e17786c8c83cf77ea
1162 Author: Vivek Goyal <vgoyal@redhat.com>
1163 Date: Tue Apr 27 16:51:39 2010 +0400
1164
1165 cfq-iosched: Remove prio_change logic for workload selection
1166
1167 o CFQ now internally divides cfq queues in therr workload categories. sync-idle,
1168 sync-noidle and async. Which workload to run depends primarily on rb_key
1169 offset across three service trees. Which is a combination of mulitiple things
1170 including what time queue got queued on the service tree.
1171
1172 There is one exception though. That is if we switched the prio class, say
1173 we served some RT tasks and again started serving BE class, then with-in
1174 BE class we always started with sync-noidle workload irrespective of rb_key
1175 offset in service trees.
1176
1177 This can provide better latencies for sync-noidle workload in the presence
1178 of RT tasks.
1179
1180 o This patch gets rid of that exception and which workload to run with-in
1181 class always depends on lowest rb_key across service trees. The reason
1182 being that now we have multiple BE class groups and if we always switch
1183 to sync-noidle workload with-in group, we can potentially starve a sync-idle
1184 workload with-in group. Same is true for async workload which will be in
1185 root group. Also the workload-switching with-in group will become very
1186 unpredictable as it now depends whether some RT workload was running in
1187 the system or not.
1188
1189 Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
1190 Reviewed-by: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
1191 Acked-by: Corrado Zoccolo <czoccolo@gmail.com>
1192 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1193
1194 commit 98a3d07b1fe96e53a15cbab963ea26b68b573194
1195 Author: Vivek Goyal <vgoyal@redhat.com>
1196 Date: Tue Apr 27 16:51:35 2010 +0400
1197
1198 cfq-iosched: Get rid of nr_groups
1199
1200 o Currently code does not seem to be using cfqd->nr_groups. Get rid of it.
1201
1202 Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
1203 Reviewed-by: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
1204 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1205
1206 commit af90feaf148382f0f79b9411fc50d88bd861710a
1207 Author: Vivek Goyal <vgoyal@redhat.com>
1208 Date: Tue Apr 27 16:51:31 2010 +0400
1209
1210 cfq-iosched: Remove the check for same cfq group from allow_merge
1211
1212 o allow_merge() already checks if submitting task is pointing to same cfqq
1213 as rq has been queued in. If everything is fine, we should not be having
1214 a task in one cgroup and having a pointer to cfqq in other cgroup.
1215
1216 Well I guess in some situations it can happen and that is, when a random
1217 IO queue has been moved into root cgroup for group_isolation=0. In
1218 this case, tasks's cgroup/group is different from where actually cfqq is,
1219 but this is intentional and in this case merging should be allowed.
1220
1221 The second situation is where due to close cooperator patches, multiple
1222 processes can be sharing a cfqq. If everything implemented right, we should
1223 not end up in a situation where tasks from different processes in different
1224 groups are sharing the same cfqq as we allow merging of cooperating queues
1225 only if they are in same group.
1226
1227 Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
1228 Reviewed-by: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
1229 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1230
1231 commit 76160ce0edc2aeeaa4df9292700aecdd0c4c36cb
1232 Author: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
1233 Date: Tue Apr 27 16:51:27 2010 +0400
1234
1235 cfq: set workload as expired if it doesn't have any slice left
1236
1237 When a group is resumed, if it doesn't have workload slice left,
1238 we should set workload_expires as expired. Otherwise, we might
1239 start from where we left in previous group by error.
1240 Thanks the idea from Corrado.
1241
1242 Signed-off-by: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
1243 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1244
1245 commit 6a78ef2e36ba6a63c5617326b38e268820cdd893
1246 Author: Vivek Goyal <vgoyal@redhat.com>
1247 Date: Tue Apr 27 16:51:23 2010 +0400
1248
1249 Fix a CFQ crash in "for-2.6.33" branch of block tree
1250
1251 I think my previous patch introduced a bug which can lead to CFQ hitting
1252 BUG_ON().
1253
1254 The offending commit in for-2.6.33 branch is.
1255
1256 commit 7667aa0630407bc07dc38dcc79d29cc0a65553c1
1257 Author: Vivek Goyal <vgoyal@redhat.com>
1258 Date: Tue Dec 8 17:52:58 2009 -0500
1259
1260 cfq-iosched: Take care of corner cases of group losing share due to deletion
1261
1262 While doing some stress testing on my box, I enountered following.
1263
1264 login: [ 3165.148841] BUG: scheduling while
1265 atomic: swapper/0/0x10000100
1266 [ 3165.149821] Modules linked in: cfq_iosched dm_multipath qla2xxx igb
1267 scsi_transport_fc dm_snapshot [last unloaded: scsi_wait_scan]
1268 [ 3165.149821] Pid: 0, comm: swapper Not tainted
1269 2.6.32-block-for-33-merged-new #3
1270 [ 3165.149821] Call Trace:
1271 [ 3165.149821] <IRQ> [<ffffffff8103fab8>] __schedule_bug+0x5c/0x60
1272 [ 3165.149821] [<ffffffff8103afd7>] ? __wake_up+0x44/0x4d
1273 [ 3165.149821] [<ffffffff8153a979>] schedule+0xe3/0x7bc
1274 [ 3165.149821] [<ffffffff8103a796>] ? cpumask_next+0x1d/0x1f
1275 [ 3165.149821] [<ffffffffa000b21d>] ? cfq_dispatch_requests+0x6ba/0x93e
1276 [cfq_iosched]
1277 [ 3165.149821] [<ffffffff810422d8>] __cond_resched+0x2a/0x35
1278 [ 3165.149821] [<ffffffffa000b21d>] ? cfq_dispatch_requests+0x6ba/0x93e
1279 [cfq_iosched]
1280 [ 3165.149821] [<ffffffff8153b1ee>] _cond_resched+0x2c/0x37
1281 [ 3165.149821] [<ffffffff8100e2db>] is_valid_bugaddr+0x16/0x2f
1282 [ 3165.149821] [<ffffffff811e4161>] report_bug+0x18/0xac
1283 [ 3165.149821] [<ffffffff8100f1fc>] die+0x39/0x63
1284 [ 3165.149821] [<ffffffff8153cde1>] do_trap+0x11a/0x129
1285 [ 3165.149821] [<ffffffff8100d470>] do_invalid_op+0x96/0x9f
1286 [ 3165.149821] [<ffffffffa000b21d>] ? cfq_dispatch_requests+0x6ba/0x93e
1287 [cfq_iosched]
1288 [ 3165.149821] [<ffffffff81034b4d>] ? enqueue_task+0x5c/0x67
1289 [ 3165.149821] [<ffffffff8103ae83>] ? task_rq_unlock+0x11/0x13
1290 [ 3165.149821] [<ffffffff81041aae>] ? try_to_wake_up+0x292/0x2a4
1291 [ 3165.149821] [<ffffffff8100c935>] invalid_op+0x15/0x20
1292 [ 3165.149821] [<ffffffffa000b21d>] ? cfq_dispatch_requests+0x6ba/0x93e
1293 [cfq_iosched]
1294 [ 3165.149821] [<ffffffff810df5a6>] ? virt_to_head_page+0xe/0x2f
1295 [ 3165.149821] [<ffffffff811d8c2a>] blk_peek_request+0x191/0x1a7
1296 [ 3165.149821] [<ffffffff811e5b8d>] ? kobject_get+0x1a/0x21
1297 [ 3165.149821] [<ffffffff812c8d4c>] scsi_request_fn+0x82/0x3df
1298 [ 3165.149821] [<ffffffff8110b2de>] ? bio_fs_destructor+0x15/0x17
1299 [ 3165.149821] [<ffffffff810df5a6>] ? virt_to_head_page+0xe/0x2f
1300 [ 3165.149821] [<ffffffff811d931f>] __blk_run_queue+0x42/0x71
1301 [ 3165.149821] [<ffffffff811d9403>] blk_run_queue+0x26/0x3a
1302 [ 3165.149821] [<ffffffff812c8761>] scsi_run_queue+0x2de/0x375
1303 [ 3165.149821] [<ffffffff812b60ac>] ? put_device+0x17/0x19
1304 [ 3165.149821] [<ffffffff812c92d7>] scsi_next_command+0x3b/0x4b
1305 [ 3165.149821] [<ffffffff812c9b9f>] scsi_io_completion+0x1c9/0x3f5
1306 [ 3165.149821] [<ffffffff812c3c36>] scsi_finish_command+0xb5/0xbe
1307
1308 I think I have hit following BUG_ON() in cfq_dispatch_request().
1309
1310 BUG_ON(RB_EMPTY_ROOT(&cfqq->sort_list));
1311
1312 Please find attached the patch to fix it. I have done some stress testing
1313 with it and have not seen it happening again.
1314
1315 o We should wait on a queue even after slice expiry only if it is empty. If
1316 queue is not empty then continue to expire it.
1317
1318 o If we decide to keep the queue then make cfqq=NULL. Otherwise select_queue()
1319 will return a valid cfqq and cfq_dispatch_request() can hit following
1320 BUG_ON().
1321
1322 BUG_ON(RB_EMPTY_ROOT(&cfqq->sort_list))
1323
1324 Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
1325 Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
1326 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1327
1328 commit 086fcfd4a9aec3209a9a8b2c591734850bbca097
1329 Author: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
1330 Date: Tue Apr 27 16:51:18 2010 +0400
1331
1332 cfq: Remove wait_request flag when idle time is being deleted
1333
1334 Remove wait_request flag when idle time is being deleted, otherwise
1335 it'll hit this path every time when a request is enqueued.
1336
1337 Signed-off-by: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
1338 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1339
1340 commit 9714cf0030da3ceaea312be05cc056d4b36fe118
1341 Author: Corrado Zoccolo <czoccolo@gmail.com>
1342 Date: Tue Apr 27 16:51:14 2010 +0400
1343
1344 cfq-iosched: commenting non-obvious initialization
1345
1346 Added a comment to explain the initialization of last_delayed_sync.
1347
1348 Signed-off-by: Corrado Zoccolo <czoccolo@gmail.com>
1349 Acked-by: Jeff Moyer <jmoyer@redhat.com>
1350 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1351
1352 commit 75e3bc83c0d1f9c909bd0bce56ac377623c22807
1353 Author: Vivek Goyal <vgoyal@redhat.com>
1354 Date: Tue Apr 27 16:51:10 2010 +0400
1355
1356 cfq-iosched: Take care of corner cases of group losing share due to deletion
1357
1358 If there is a sequential reader running in a group, we wait for next request
1359 to come in that group after slice expiry and once new request is in, we expire
1360 the queue. Otherwise we delete the group from service tree and group looses
1361 its fair share.
1362
1363 So far I was marking a queue as wait_busy if it had consumed its slice and
1364 it was last queue in the group. But this condition did not cover following
1365 two cases.
1366
1367 1.If a request completed and slice has not expired yet. Next request comes
1368 in and is dispatched to disk. Now select_queue() hits and slice has expired.
1369 This group will be deleted. Because request is still in the disk, this queue
1370 will never get a chance to wait_busy.
1371
1372 2.If request completed and slice has not expired yet. Before next request
1373 comes in (delay due to think time), select_queue() hits and expires the
1374 queue hence group. This queue never got a chance to wait busy.
1375
1376 Gui was hitting the boundary condition 1 and not getting fairness numbers
1377 proportional to weight.
1378
1379 This patch puts the checks for above two conditions and improves the fairness
1380 numbers for sequential workload on rotational media. Check in select_queue()
1381 takes care of case 1 and additional check in should_wait_busy() takes care
1382 of case 2.
1383
1384 Reported-by: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
1385 Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
1386 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1387
1388 commit 6c866a0686a169f5098da254fb6b0f8812318469
1389 Author: Vivek Goyal <vgoyal@redhat.com>
1390 Date: Tue Apr 27 16:51:06 2010 +0400
1391
1392 cfq-iosched: Get rid of cfqq wait_busy_done flag
1393
1394 o Get rid of wait_busy_done flag. This flag only tells we were doing wait
1395 busy on a queue and that queue got request so expire it. That information
1396 can easily be obtained by (cfq_cfqq_wait_busy() && queue_is_not_empty). So
1397 remove this flag and keep code simple.
1398
1399 Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
1400 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1401
1402 commit 44c156f1191391dddb02f1abff022a61c2f94a17
1403 Author: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
1404 Date: Tue Apr 27 16:51:02 2010 +0400
1405
1406 cfq: Optimization for close cooperating queue searching
1407
1408 It doesn't make any sense to try to find out a close cooperating
1409 queue if current cfqq is the only one in the group.
1410
1411 Signed-off-by: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
1412 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1413
1414 commit bd4386b49b4ba2c012dc22c7a80512681a5ade15
1415 Author: Corrado Zoccolo <czoccolo@gmail.com>
1416 Date: Tue Apr 27 16:50:58 2010 +0400
1417
1418 cfq-iosched: reduce write depth only if sync was delayed
1419
1420 The introduction of ramp-up formula for async queue depths has
1421 slowed down dirty page reclaim, by reducing async write performance.
1422 This patch makes sure the formula kicks in only when sync request
1423 was recently delayed.
1424
1425 Signed-off-by: Corrado Zoccolo <czoccolo@gmail.com>
1426 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1427
1428 commit 433c9d47f26fcb9141f1a1c3f15245a8391c5a08
1429 Author: Vivek Goyal <vgoyal@redhat.com>
1430 Date: Tue Apr 27 16:50:52 2010 +0400
1431
1432 cfq-iosched: Do not access cfqq after freeing it
1433
1434 Fix a crash during boot reported by Jeff Moyer. Fix the issue of accessing
1435 cfqq after freeing it.
1436
1437 Reported-by: Jeff Moyer <jmoyer@redhat.com>
1438 Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
1439 Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
1440 Signed-off-by: Jens Axboe <axboe@carl.(none)>
1441
1442 commit 21e7ec5499dfae1930bc103e1f2430b262ac0c61
1443 Author: Stephen Rothwell <sfr@canb.auug.org.au>
1444 Date: Tue Apr 27 16:50:48 2010 +0400
1445
1446 block: include linux/err.h to use ERR_PTR
1447
1448 Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
1449 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1450
1451 commit ba750bcbce0558bfe7ea2fd4a9b9ca74e1eac70f
1452 Author: Jens Axboe <jens.axboe@oracle.com>
1453 Date: Tue Apr 27 16:50:44 2010 +0400
1454
1455 cfq-iosched: use call_rcu() instead of doing grace period stall on queue exit
1456
1457 After the merge of the IO controller patches, booting on my megaraid
1458 box ran much slower. Vivek Goyal traced it down to megaraid discovery
1459 creating tons of devices, each suffering a grace period when they later
1460 kill that queue (if no device is found).
1461
1462 So lets use call_rcu() to batch these deferred frees, instead of taking
1463 the grace period hit for each one.
1464
1465 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1466
1467 commit 291282276037c26045453190e5dd441ff03e319a
1468 Author: Vivek Goyal <vgoyal@redhat.com>
1469 Date: Tue Apr 27 16:50:40 2010 +0400
1470
1471 blkio: Implement dynamic io controlling policy registration
1472
1473 o One of the goals of block IO controller is that it should be able to
1474 support mulitple io control policies, some of which be operational at
1475 higher level in storage hierarchy.
1476
1477 o To begin with, we had one io controlling policy implemented by CFQ, and
1478 I hard coded the CFQ functions called by blkio. This created issues when
1479 CFQ is compiled as module.
1480
1481 o This patch implements a basic dynamic io controlling policy registration
1482 functionality in blkio. This is similar to elevator functionality where
1483 ioschedulers register the functions dynamically.
1484
1485 o Now in future, when more IO controlling policies are implemented, these
1486 can dynakically register with block IO controller.
1487
1488 Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
1489 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1490
1491 commit 7701338499b73355707c41ae27358a4dd5bc4b84
1492 Author: Vivek Goyal <vgoyal@redhat.com>
1493 Date: Tue Apr 27 16:50:36 2010 +0400
1494
1495 blkio: Export some symbols from blkio as its user CFQ can be a module
1496
1497 o blkio controller is inside the kernel and cfq makes use of interfaces
1498 exported by blkio. CFQ can be a module too, hence export symbols used
1499 by CFQ.
1500
1501 Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
1502 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1503
1504 commit 8dfe981d81c7a967b6040d73fcae9780ef1519ae
1505 Author: Shaohua Li <shaohua.li@intel.com>
1506 Date: Tue Apr 27 16:50:31 2010 +0400
1507
1508 cfq-iosched: make nonrot check logic consistent
1509
1510 cfq_arm_slice_timer() has logic to disable idle window for SSD device. The same
1511 thing should be done at cfq_select_queue() too, otherwise we will still see
1512 idle window. This makes the nonrot check logic consistent in cfq.
1513 Tests in a intel SSD with low_latency knob close, below patch can triple disk
1514 thoughput for muti-thread sequential read.
1515
1516 Signed-off-by: Shaohua Li <shaohua.li@intel.com>
1517 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1518
1519 commit e1853aca5799c76d0dd8ff97c5bed8c2e6059fa2
1520 Author: Jens Axboe <jens.axboe@oracle.com>
1521 Date: Tue Apr 27 16:50:28 2010 +0400
1522
1523 cfq-iosched: move IO controller declerations to a header file
1524
1525 They should not be declared inside some other file that's not related
1526 to CFQ.
1527
1528 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1529
1530 commit 16ca6c55c9c1961dbd748a5c94883ab1d65bb04f
1531 Author: Jens Axboe <jens.axboe@oracle.com>
1532 Date: Tue Apr 27 16:50:24 2010 +0400
1533
1534 cfq-iosched: fix compile problem with !CONFIG_CGROUP
1535
1536 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1537
1538 commit 5260a89b72023fcad7242552059312e31a864bf2
1539 Author: Vivek Goyal <vgoyal@redhat.com>
1540 Date: Tue Apr 27 16:50:19 2010 +0400
1541
1542 blkio: Wait on sync-noidle queue even if rq_noidle = 1
1543
1544 o rq_noidle() is supposed to tell cfq that do not expect a request after this
1545 one, hence don't idle. But this does not seem to work very well. For example
1546 for direct random readers, rq_noidle = 1 but there is next request coming
1547 after this. Not idling, leads to a group not getting its share even if
1548 group_isolation=1.
1549
1550 o The right solution for this issue is to scan the higher layers and set
1551 right flag (WRITE_SYNC or WRITE_ODIRECT). For the time being, this single
1552 line fix helps. This should not have any significant impact when we are
1553 not using cgroups. I will later figure out IO paths in higher layer and
1554 fix it.
1555
1556 Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
1557 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1558
1559 commit 3647d976033973a4502696fb45a980baa8cf1350
1560 Author: Vivek Goyal <vgoyal@redhat.com>
1561 Date: Tue Apr 27 16:50:15 2010 +0400
1562
1563 blkio: Implement group_isolation tunable
1564
1565 o If a group is running only a random reader, then it will not have enough
1566 traffic to keep disk busy and we will reduce overall throughput. This
1567 should result in better latencies for random reader though. If we don't
1568 idle on random reader service tree, then this random reader will experience
1569 large latencies if there are other groups present in system with sequential
1570 readers running in these.
1571
1572 o One solution suggested by corrado is that by default keep the random readers
1573 or sync-noidle workload in root group so that during one dispatch round
1574 we idle only once on sync-noidle tree. This means that all the sync-idle
1575 workload queues will be in their respective group and we will see service
1576 differentiation in those but not on sync-noidle workload.
1577
1578 o Provide a tunable group_isolation. If set, this will make sure that even
1579 sync-noidle queues go in their respective group and we wait on these. This
1580 provides stronger isolation between groups but at the expense of throughput
1581 if group does not have enough traffic to keep the disk busy.
1582
1583 o By default group_isolation = 0
1584
1585 Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
1586 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1587
1588 commit d7d266e74623a5ff4a196c9ba35edb33d844078d
1589 Author: Vivek Goyal <vgoyal@redhat.com>
1590 Date: Tue Apr 27 16:50:09 2010 +0400
1591
1592 blkio: Determine async workload length based on total number of queues
1593
1594 o Async queues are not per group. Instead these are system wide and maintained
1595 in root group. Hence their workload slice length should be calculated
1596 based on total number of queues in the system and not just queues in the
1597 root group.
1598
1599 o As root group's default weight is 1000, make sure to charge async queue
1600 more in terms of vtime so that it does not get more time on disk because
1601 root group has higher weight.
1602
1603 Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
1604 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1605
1606 commit 853b022fdecf1394bc6f56ed4391acfcdac76a77
1607 Author: Vivek Goyal <vgoyal@redhat.com>
1608 Date: Tue Apr 27 16:50:06 2010 +0400
1609
1610 blkio: Wait for cfq queue to get backlogged if group is empty
1611
1612 o If a queue consumes its slice and then gets deleted from service tree, its
1613 associated group will also get deleted from service tree if this was the
1614 only queue in the group. That will make group loose its share.
1615
1616 o For the queues on which we have idling on and if these have used their
1617 slice, wait a bit for these queues to get backlogged again and then
1618 expire these queues so that group does not loose its share.
1619
1620 Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
1621 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1622
1623 commit 6b1099c5bbc770dc0e00e447c91cc2c70abfcd4d
1624 Author: Vivek Goyal <vgoyal@redhat.com>
1625 Date: Tue Apr 27 16:49:55 2010 +0400
1626
1627 blkio: Propagate cgroup weight updation to cfq groups
1628
1629 o Propagate blkio cgroup weight updation to associated cfq groups.
1630
1631 Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
1632 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1633
1634 commit b8e49f6ef8a5b19dcc3596a957b10ff7783ca8e3
1635 Author: Vivek Goyal <vgoyal@redhat.com>
1636 Date: Tue Apr 27 16:49:51 2010 +0400
1637
1638 blkio: Drop the reference to queue once the task changes cgroup
1639
1640 o If a task changes cgroup, drop reference to the cfqq associated with io
1641 context and set cfqq pointer stored in ioc to NULL so that upon next request
1642 arrival we will allocate a new queue in new group.
1643
1644 Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
1645 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1646
1647 commit f0939f2fb5a93f52e4c38c96dd403a20412635ac
1648 Author: Vivek Goyal <vgoyal@redhat.com>
1649 Date: Tue Apr 27 16:49:47 2010 +0400
1650
1651 blkio: Provide some isolation between groups
1652
1653 o Do not allow following three operations across groups for isolation.
1654 - selection of co-operating queues
1655 - preemtpions across groups
1656 - request merging across groups.
1657
1658 o Async queues are currently global and not per group. Allow preemption of
1659 an async queue if a sync queue in other group gets backlogged.
1660
1661 Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
1662 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1663
1664 commit 3e5835588e20983417074286dc9c46aeff4bdcb5
1665 Author: Vivek Goyal <vgoyal@redhat.com>
1666 Date: Tue Apr 27 16:49:43 2010 +0400
1667
1668 blkio: Export disk time and sectors used by a group to user space
1669
1670 o Export disk time and sector used by a group to user space through cgroup
1671 interface.
1672
1673 o Also export a "dequeue" interface to cgroup which keeps track of how many
1674 a times a group was deleted from service tree. Helps in debugging.
1675
1676 Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
1677 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1678
1679 commit 5050a2e923c23fee20e5d20350da94328c028ea7
1680 Author: Vivek Goyal <vgoyal@redhat.com>
1681 Date: Tue Apr 27 16:49:38 2010 +0400
1682
1683 blkio: Some debugging aids for CFQ
1684
1685 o Some debugging aids for CFQ.
1686
1687 Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
1688 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1689
1690 commit 32227ad5a49cdf40d128fff9f573e770326fb2a1
1691 Author: Vivek Goyal <vgoyal@redhat.com>
1692 Date: Tue Apr 27 16:49:33 2010 +0400
1693
1694 blkio: Take care of cgroup deletion and cfq group reference counting
1695
1696 o One can choose to change elevator or delete a cgroup. Implement group
1697 reference counting so that both elevator exit and cgroup deletion can
1698 take place gracefully.
1699
1700 Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
1701 Signed-off-by: Nauman Rafique <nauman@google.com>
1702 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1703
1704 commit c80d513227c069c5f15e1722ef3d63096aa2652b
1705 Author: Vivek Goyal <vgoyal@redhat.com>
1706 Date: Tue Apr 27 16:49:29 2010 +0400
1707
1708 blkio: Dynamic cfq group creation based on cgroup tasks belongs to
1709
1710 o Determine the cgroup IO submitting task belongs to and create the cfq
1711 group if it does not exist already.
1712
1713 o Also link cfqq and associated cfq group.
1714
1715 o Currently all async IO is mapped to root group.
1716
1717 Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
1718 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1719
1720 commit e890b41384a11cd0eaaf4901d72de44cd21e2b65
1721 Author: Vivek Goyal <vgoyal@redhat.com>
1722 Date: Tue Apr 27 16:49:25 2010 +0400
1723
1724 blkio: Group time used accounting and workload context save restore
1725
1726 o This patch introduces the functionality to do the accounting of group time
1727 when a queue expires. This time used decides which is the group to go
1728 next.
1729
1730 o Also introduce the functionlity to save and restore the workload type
1731 context with-in group. It might happen that once we expire the cfq queue
1732 and group, a different group will schedule in and we will lose the context
1733 of the workload type. Hence save and restore it upon queue expiry.
1734
1735 Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
1736 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1737
1738 commit fb6067d930baa1b510aba82153ddad866aa0cf65
1739 Author: Vivek Goyal <vgoyal@redhat.com>
1740 Date: Tue Apr 27 16:49:21 2010 +0400
1741
1742 blkio: Implement per cfq group latency target and busy queue avg
1743
1744 o So far we had 300ms soft target latency system wide. Now with the
1745 introduction of cfq groups, divide that latency by number of groups so
1746 that one can come up with group target latency which will be helpful
1747 in determining the workload slice with-in group and also the dynamic
1748 slice length of the cfq queue.
1749
1750 Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
1751 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1752
1753 commit 0fee1302172d62ee9eb34c37d792ac05e30fe2d7
1754 Author: Vivek Goyal <vgoyal@redhat.com>
1755 Date: Tue Apr 27 16:49:17 2010 +0400
1756
1757 blkio: Introduce per cfq group weights and vdisktime calculations
1758
1759 o Bring in the per cfq group weight and how vdisktime is calculated for the
1760 group. Also bring in the functionality of updating the min_vdisktime of
1761 the group service tree.
1762
1763 Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
1764 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1765
1766 commit a31a7a44995ded913fd031f922cffa9e457b2a83
1767 Author: Vivek Goyal <vgoyal@redhat.com>
1768 Date: Tue Apr 27 16:49:12 2010 +0400
1769
1770 blkio: Introduce blkio controller cgroup interface
1771
1772 o This is basic implementation of blkio controller cgroup interface. This is
1773 the common interface visible to user space and should be used by different
1774 IO control policies as we implement those.
1775
1776 Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
1777 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1778
1779 commit 82041001ee5b7a662d488238f46b8912cc440160
1780 Author: Vivek Goyal <vgoyal@redhat.com>
1781 Date: Tue Apr 27 16:49:06 2010 +0400
1782
1783 blkio: Introduce the root service tree for cfq groups
1784
1785 o So far we just had one cfq_group in cfq_data. To create space for more than
1786 one cfq_group, we need to have a service tree of groups where all the groups
1787 can be queued if they have active cfq queues backlogged in these.
1788
1789 Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
1790 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1791
1792 commit 1b290883254f64d396f11a071b74598d97e1b3d3
1793 Author: Vivek Goyal <vgoyal@redhat.com>
1794 Date: Tue Apr 27 16:49:02 2010 +0400
1795
1796 blkio: Keep queue on service tree until we expire it
1797
1798 o Currently cfqq deletes a queue from service tree if it is empty (even if
1799 we might idle on the queue). This patch keeps the queue on service tree
1800 hence associated group remains on the service tree until we decide that
1801 we are not going to idle on the queue and expire it.
1802
1803 o This just helps in time accounting for queue/group and in implementation
1804 of rest of the patches.
1805
1806 Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
1807 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1808
1809 commit d0d70b93083a4fc811bd3bfed1df04870102d538
1810 Author: Vivek Goyal <vgoyal@redhat.com>
1811 Date: Tue Apr 27 16:48:58 2010 +0400
1812
1813 blkio: Implement macro to traverse each service tree in group
1814
1815 o Implement a macro to traverse each service tree in the group. This avoids
1816 usage of double for loop and special condition for idle tree 4 times.
1817
1818 o Macro is little twisted because of special handling of idle class service
1819 tree.
1820
1821 Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
1822 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1823
1824 commit 4fea5fccf125349a109304569acbeda86c9ab67f
1825 Author: Vivek Goyal <vgoyal@redhat.com>
1826 Date: Tue Apr 27 16:48:54 2010 +0400
1827
1828 blkio: Introduce the notion of cfq groups
1829
1830 o This patch introduce the notion of cfq groups. Soon we will can have multiple
1831 groups of different weights in the system.
1832
1833 o Various service trees (prioclass and workload type trees), will become per
1834 cfq group. So hierarchy looks as follows.
1835
1836 cfq_groups
1837 |
1838 workload type
1839 |
1840 cfq queue
1841
1842 o When an scheduling decision has to be taken, first we select the cfq group
1843 then workload with-in the group and then cfq queue with-in the workload
1844 type.
1845
1846 o This patch just makes various workload service tree per cfq group and
1847 introduce the function to be able to choose a group for scheduling.
1848
1849 Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
1850 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1851
1852 commit 14d52ec9524545c8eb9c13d05925c53f1bd2b3ff
1853 Author: Vivek Goyal <vgoyal@redhat.com>
1854 Date: Tue Apr 27 16:48:49 2010 +0400
1855
1856 blkio: Set must_dispatch only if we decided to not dispatch the request
1857
1858 o must_dispatch flag should be set only if we decided not to run the queue
1859 and dispatch the request.
1860
1861 Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
1862 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1863
1864 commit a6a0574d5ab33877885943183de7645e157ed16e
1865 Author: Shaohua Li <shaohua.li@intel.com>
1866 Date: Tue Apr 27 16:48:46 2010 +0400
1867
1868 cfq-iosched: no dispatch limit for single queue
1869
1870 Since commit 2f5cb7381b737e24c8046fd4aeab571fb71315f5, each queue can send
1871 up to 4 * 4 requests if only one queue exists. I wonder why we have such limit.
1872 Device supports tag can send more requests. For example, AHCI can send 31
1873 requests. Test (direct aio randread) shows the limits reduce about 4% disk
1874 thoughput.
1875 On the other hand, since we send one request one time, if other queue
1876 pop when current is sending more than cfq_quantum requests, current queue will
1877 stop send requests soon after one request, so sounds there is no big latency.
1878
1879 Signed-off-by: Shaohua Li <shaohua.li@intel.com>
1880 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1881
1882 commit 886ef3fce890295b04063e286c1a82c97574b737
1883 Author: Jens Axboe <jens.axboe@oracle.com>
1884 Date: Tue Apr 27 16:48:41 2010 +0400
1885
1886 Revert "cfq: Make use of service count to estimate the rb_key offset"
1887
1888 This reverts commit 3586e917f2c7df769d173c4ec99554cb40a911e5.
1889
1890 Corrado Zoccolo <czoccolo@gmail.com> correctly points out, that we need
1891 consistency of rb_key offset across groups. This means we cannot properly
1892 use the per-service_tree service count. Revert this change.
1893
1894 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1895
1896 commit 80216a50226739cd997445d5ff2335a4c944fba7
1897 Author: Corrado Zoccolo <czoccolo@gmail.com>
1898 Date: Tue Apr 27 16:48:36 2010 +0400
1899
1900 cfq-iosched: fix corner cases in idling logic
1901
1902 Idling logic was disabled in some corner cases, leading to unfair share
1903 for noidle queues.
1904 * the idle timer was not armed if there were other requests in the
1905 driver. unfortunately, those requests could come from other workloads,
1906 or queues for which we don't enable idling. So we will check only
1907 pending requests from the active queue
1908 * rq_noidle check on no-idle queue could disable the end of tree idle if
1909 the last completed request was rq_noidle. Now, we will disable that
1910 idle only if all the queues served in the no-idle tree had rq_noidle
1911 requests.
1912
1913 Reported-by: Vivek Goyal <vgoyal@redhat.com>
1914 Signed-off-by: Corrado Zoccolo <czoccolo@gmail.com>
1915 Acked-by: Vivek Goyal <vgoyal@redhat.com>
1916 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1917
1918 commit fed0ad86edd704970417ce78b1a130b1951f7bb8
1919 Author: Corrado Zoccolo <czoccolo@gmail.com>
1920 Date: Tue Apr 27 16:48:32 2010 +0400
1921
1922 cfq-iosched: idling on deep seeky sync queues
1923
1924 Seeky sync queues with large depth can gain unfairly big share of disk
1925 time, at the expense of other seeky queues. This patch ensures that
1926 idling will be enabled for queues with I/O depth at least 4, and small
1927 think time. The decision to enable idling is sticky, until an idle
1928 window times out without seeing a new request.
1929
1930 The reasoning behind the decision is that, if an application is using
1931 large I/O depth, it is already optimized to make full utilization of
1932 the hardware, and therefore we reserve a slice of exclusive use for it.
1933
1934 Reported-by: Vivek Goyal <vgoyal@redhat.com>
1935 Signed-off-by: Corrado Zoccolo <czoccolo@gmail.com>
1936 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1937
1938 commit 989d070f4d3594f485df16fa5b5786db8188e837
1939 Author: Corrado Zoccolo <czoccolo@gmail.com>
1940 Date: Tue Apr 27 16:48:28 2010 +0400
1941
1942 cfq-iosched: fix no-idle preemption logic
1943
1944 An incoming no-idle queue should preempt the active no-idle queue
1945 only if the active queue is idling due to service tree empty.
1946 Previous code was buggy in two ways:
1947 * it relied on service_tree field to be set on the active queue, while
1948 it is not set when the code is idling for a new request
1949 * it didn't check for the service tree empty condition, so could lead to
1950 LIFO behaviour if multiple queues with depth > 1 were preempting each
1951 other on an non-NCQ device.
1952
1953 Reported-by: Vivek Goyal <vgoyal@redhat.com>
1954 Signed-off-by: Corrado Zoccolo <czoccolo@gmail.com>
1955 Acked-by: Vivek Goyal <vgoyal@redhat.com>
1956 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1957
1958 commit 1baaab33a240924a5542eeb7a275d2915dc09518
1959 Author: Corrado Zoccolo <czoccolo@gmail.com>
1960 Date: Tue Apr 27 16:48:23 2010 +0400
1961
1962 cfq-iosched: fix ncq detection code
1963
1964 CFQ's detection of queueing devices initially assumes a queuing device
1965 and detects if the queue depth reaches a certain threshold.
1966 However, it will reconsider this choice periodically.
1967
1968 Unfortunately, if device is considered not queuing, CFQ will force a
1969 unit queue depth for some workloads, thus defeating the detection logic.
1970 This leads to poor performance on queuing hardware,
1971 since the idle window remains enabled.
1972
1973 Given this premise, switching to hw_tag = 0 after we have proved at
1974 least once that the device is NCQ capable is not a good choice.
1975
1976 The new detection code starts in an indeterminate state, in which CFQ behaves
1977 as if hw_tag = 1, and then, if for a long observation period we never saw
1978 large depth, we switch to hw_tag = 0, otherwise we stick to hw_tag = 1,
1979 without reconsidering it again.
1980
1981 Signed-off-by: Corrado Zoccolo <czoccolo@gmail.com>
1982 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
1983
1984 commit 43090d5ccb1b6adcd28b2d4d54cc8ddf6c96a212
1985 Author: Corrado Zoccolo <czoccolo@gmail.com>
1986 Date: Tue Apr 27 16:48:19 2010 +0400
1987
1988 cfq-iosched: cleanup unreachable code
1989
1990 cfq_should_idle returns false for no-idle queues that are not the last,
1991 so the control flow will never reach the removed code in a state that
1992 satisfies the if condition.
1993 The unreachable code was added to emulate previous cfq behaviour for
1994 non-NCQ rotational devices. My tests show that even without it, the
1995 performances and fairness are comparable with previous cfq, thanks to
1996 the fact that all seeky queues are grouped together, and that we idle at
1997 the end of the tree.
1998
1999 Signed-off-by: Corrado Zoccolo <czoccolo@gmail.com>
2000 Acked-by: Vivek Goyal <vgoyal@redhat.com>
2001 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2002
2003 commit ea4004872f1e7a3a3651319fd5df6df17e9c7e66
2004 Author: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
2005 Date: Tue Apr 27 16:48:15 2010 +0400
2006
2007 cfq: Make use of service count to estimate the rb_key offset
2008
2009 For the moment, different workload cfq queues are put into different
2010 service trees. But CFQ still uses "busy_queues" to estimate rb_key
2011 offset when inserting a cfq queue into a service tree. I think this
2012 isn't appropriate, and it should make use of service tree count to do
2013 this estimation. This patch is for for-2.6.33 branch.
2014
2015 Signed-off-by: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
2016 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2017
2018 commit 4c49bbef74b78184ecdc8d4c14c6d531f9edea42
2019 Author: Randy Dunlap <randy.dunlap@oracle.com>
2020 Date: Tue Apr 27 16:46:51 2010 +0400
2021
2022 block: jiffies fixes
2023
2024 Use HZ-independent calculation of milliseconds.
2025 Add jiffies.h where it was missing since functions or macros
2026 from it are used.
2027
2028 Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
2029 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2030
2031 commit f96f26aeb96cc338693fe5c2d48ab04e799f0187
2032 Author: Corrado Zoccolo <czoccolo@gmail.com>
2033 Date: Tue Apr 27 16:46:46 2010 +0400
2034
2035 cfq-iosched: fix next_rq computation
2036
2037 Cfq has a bug in computation of next_rq, that affects transition
2038 between multiple sequential request streams in a single queue
2039 (e.g.: two sequential buffered writers of the same priority),
2040 causing the alternation between the two streams for a transient period.
2041
2042 8,0 1 18737 0.260400660 5312 D W 141653311 + 256
2043 8,0 1 20839 0.273239461 5400 D W 141653567 + 256
2044 8,0 1 20841 0.276343885 5394 D W 142803919 + 256
2045 8,0 1 20843 0.279490878 5394 D W 141668927 + 256
2046 8,0 1 20845 0.292459993 5400 D W 142804175 + 256
2047 8,0 1 20847 0.295537247 5400 D W 141668671 + 256
2048 8,0 1 20849 0.298656337 5400 D W 142804431 + 256
2049 8,0 1 20851 0.311481148 5394 D W 141668415 + 256
2050 8,0 1 20853 0.314421305 5394 D W 142804687 + 256
2051 8,0 1 20855 0.318960112 5400 D W 142804943 + 256
2052
2053 The fix makes sure that the next_rq is computed from the last
2054 dispatched request, and not affected by merging.
2055
2056 8,0 1 37776 4.305161306 0 D W 141738087 + 256
2057 8,0 1 37778 4.308298091 0 D W 141738343 + 256
2058 8,0 1 37780 4.312885190 0 D W 141738599 + 256
2059 8,0 1 37782 4.315933291 0 D W 141738855 + 256
2060 8,0 1 37784 4.319064459 0 D W 141739111 + 256
2061 8,0 1 37786 4.331918431 5672 D W 142803007 + 256
2062 8,0 1 37788 4.334930332 5672 D W 142803263 + 256
2063 8,0 1 37790 4.337902723 5672 D W 142803519 + 256
2064 8,0 1 37792 4.342359774 5672 D W 142803775 + 256
2065 8,0 1 37794 4.345318286 0 D W 142804031 + 256
2066
2067 Signed-off-by: Corrado Zoccolo <czoccolo@gmail.com>
2068 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2069
2070 commit b12c0189dd602b89f3c6d82e050a7579f5813a09
2071 Author: Jens Axboe <jens.axboe@oracle.com>
2072 Date: Tue Apr 27 16:44:33 2010 +0400
2073
2074 cfq-iosched: get rid of the coop_preempt flag
2075
2076 We need to rework this logic post the cooperating cfq_queue merging,
2077 for now just get rid of it and Jeff Moyer will fix the fall out.
2078
2079 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2080
2081 commit 738f35df496b0c4a214f08b356f1a08d6f87b70e
2082 Author: Jens Axboe <jens.axboe@oracle.com>
2083 Date: Tue Apr 27 16:44:28 2010 +0400
2084
2085 cfq-iosched: fix merge error
2086
2087 We ended up with testing the same condition twice, pretty
2088 pointless. Remove that first if.
2089
2090 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2091
2092 commit d70f9c5005fd87d2d9bcfe5a1dd831e119d497b5
2093 Author: Jens Axboe <jens.axboe@oracle.com>
2094 Date: Tue Apr 27 16:42:34 2010 +0400
2095
2096 cfq-iosched: fix style issue in cfq_get_avg_queues()
2097
2098 Line breaks and bad brace placement.
2099
2100 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2101
2102 commit 1ad5fcfc2beacbe333bd947a6a95acb9ee810891
2103 Author: Corrado Zoccolo <czoccolo@gmail.com>
2104 Date: Tue Apr 27 16:42:30 2010 +0400
2105
2106 cfq-iosched: fairness for sync no-idle queues
2107
2108 Currently no-idle queues in cfq are not serviced fairly:
2109 even if they can only dispatch a small number of requests at a time,
2110 they have to compete with idling queues to be serviced, experiencing
2111 large latencies.
2112
2113 We should notice, instead, that no-idle queues are the ones that would
2114 benefit most from having low latency, in fact they are any of:
2115 * processes with large think times (e.g. interactive ones like file
2116 managers)
2117 * seeky (e.g. programs faulting in their code at startup)
2118 * or marked as no-idle from upper levels, to improve latencies of those
2119 requests.
2120
2121 This patch improves the fairness and latency for those queues, by:
2122 * separating sync idle, sync no-idle and async queues in separate
2123 service_trees, for each priority
2124 * service all no-idle queues together
2125 * and idling when the last no-idle queue has been serviced, to
2126 anticipate for more no-idle work
2127 * the timeslices allotted for idle and no-idle service_trees are
2128 computed proportionally to the number of processes in each set.
2129
2130 Servicing all no-idle queues together should have a performance boost
2131 for NCQ-capable drives, without compromising fairness.
2132
2133 Signed-off-by: Corrado Zoccolo <czoccolo@gmail.com>
2134 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2135
2136 commit e2d27033102f717078e4bfdc9229ef84dbd8088c
2137 Author: Corrado Zoccolo <czoccolo@gmail.com>
2138 Date: Tue Apr 27 16:42:03 2010 +0400
2139
2140 cfq-iosched: enable idling for last queue on priority class
2141
2142 cfq can disable idling for queues in various circumstances.
2143 When workloads of different priorities are competing, if the higher
2144 priority queue has idling disabled, lower priority queues may steal
2145 its disk share. For example, in a scenario with an RT process
2146 performing seeky reads vs a BE process performing sequential reads,
2147 on an NCQ enabled hardware, with low_latency unset,
2148 the RT process will dispatch only the few pending requests every full
2149 slice of service for the BE process.
2150
2151 The patch solves this issue by always performing idle on the last
2152 queue at a given priority class > idle. If the same process, or one
2153 that can pre-empt it (so at the same priority or higher), submits a
2154 new request within the idle window, the lower priority queue won't
2155 dispatch, saving the disk bandwidth for higher priority ones.
2156
2157 Note: this doesn't touch the non_rotational + NCQ case (no hardware
2158 to test if this is a benefit in that case).
2159
2160 Signed-off-by: Corrado Zoccolo <czoccolo@gmail.com>
2161 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2162
2163 commit ddc6295b4d6c3461a02f98ba75cbfe900a087ee4
2164 Author: Corrado Zoccolo <czoccolo@gmail.com>
2165 Date: Tue Apr 27 16:41:59 2010 +0400
2166
2167 cfq-iosched: reimplement priorities using different service trees
2168
2169 We use different service trees for different priority classes.
2170 This allows a simplification in the service tree insertion code, that no
2171 longer has to consider priority while walking the tree.
2172
2173 Signed-off-by: Corrado Zoccolo <czoccolo@gmail.com>
2174 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2175
2176 commit b1ca547aa679a0605bf9cfbc2ee8c4d0f9738e90
2177 Author: Corrado Zoccolo <czoccolo@gmail.com>
2178 Date: Tue Apr 27 16:41:55 2010 +0400
2179
2180 cfq-iosched: preparation to handle multiple service trees
2181
2182 We embed a pointer to the service tree in each queue, to handle multiple
2183 service trees easily.
2184 Service trees are enriched with a counter.
2185 cfq_add_rq_rb is invoked after putting the rq in the fifo, to ensure
2186 that all fields in rq are properly initialized.
2187
2188 Signed-off-by: Corrado Zoccolo <czoccolo@gmail.com>
2189 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2190
2191 commit 72c938338cfb00497c498fd05901c23f2fa9e6ce
2192 Author: Corrado Zoccolo <czoccolo@gmail.com>
2193 Date: Tue Apr 27 16:41:50 2010 +0400
2194
2195 cfq-iosched: adapt slice to number of processes doing I/O
2196
2197 When the number of processes performing I/O concurrently increases,
2198 a fixed time slice per process will cause large latencies.
2199
2200 This patch, if low_latency mode is enabled, will scale the time slice
2201 assigned to each process according to a 300ms target latency.
2202
2203 In order to keep fairness among processes:
2204 * The number of active processes is computed using a special form of
2205 running average, that quickly follows sudden increases (to keep latency low),
2206 and decrease slowly (to have fairness in spite of rapid decreases of this
2207 value).
2208
2209 To safeguard sequential bandwidth, we impose a minimum time slice
2210 (computed using 2*cfq_slice_idle as base, adjusted according to priority
2211 and async-ness).
2212
2213 Signed-off-by: Corrado Zoccolo <czoccolo@gmail.com>
2214 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2215
2216 commit ca34f4ef05e2b5abcb60af65a69a367ea9f5148e
2217 Author: Corrado Zoccolo <czoccolo@gmail.com>
2218 Date: Tue Apr 27 16:41:46 2010 +0400
2219
2220 cfq-iosched: simplify prio-unboost code
2221
2222 Eliminate redundant checks.
2223
2224 Signed-off-by: Corrado Zoccolo <czoccolo@gmail.com>
2225 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2226
2227 commit ab7d66cd0bd0aff8fe977d03cd20afd1ff3a5dfd
2228 Author: Shaohua Li <shaohua.li@intel.com>
2229 Date: Tue Apr 27 16:41:42 2010 +0400
2230
2231 cfq-iosched: improve hw_tag detection
2232
2233 If active queue hasn't enough requests and idle window opens, cfq will not
2234 dispatch sufficient requests to hardware. In such situation, current code
2235 will zero hw_tag. But this is because cfq doesn't dispatch enough requests
2236 instead of hardware queue doesn't work. Don't zero hw_tag in such case.
2237
2238 Signed-off-by: Shaohua Li <shaohua.li@intel.com>
2239 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2240
2241 commit 00b99100690429e98f3a8efe7f59fe124814bc67
2242 Author: Jeff Moyer <jmoyer@redhat.com>
2243 Date: Tue Apr 27 16:41:38 2010 +0400
2244
2245 cfq: break apart merged cfqqs if they stop cooperating
2246
2247 cfq_queues are merged if they are issuing requests within the mean seek
2248 distance of one another. This patch detects when the coopearting stops and
2249 breaks the queues back up.
2250
2251 Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2252 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2253
2254 commit 9186d4378bed803bf7cca93c1abc4d74adab2ed2
2255 Author: Jeff Moyer <jmoyer@redhat.com>
2256 Date: Tue Apr 27 16:32:26 2010 +0400
2257
2258 cfq: change the meaning of the cfqq_coop flag
2259
2260 The flag used to indicate that a cfqq was allowed to jump ahead in the
2261 scheduling order due to submitting a request close to the queue that
2262 just executed. Since closely cooperating queues are now merged, the flag
2263 holds little meaning. Change it to indicate that multiple queues were
2264 merged. This will later be used to allow the breaking up of merged queues
2265 when they are no longer cooperating.
2266
2267 Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2268 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2269
2270 commit de85cbb1eaf76b988bbe96f89b4761352adf4614
2271 Author: Jeff Moyer <jmoyer@redhat.com>
2272 Date: Tue Apr 27 16:32:20 2010 +0400
2273
2274 cfq: merge cooperating cfq_queues
2275
2276 When cooperating cfq_queues are detected currently, they are allowed to
2277 skip ahead in the scheduling order. It is much more efficient to
2278 automatically share the cfq_queue data structure between cooperating processes.
2279 Performance of the read-test2 benchmark (which is written to emulate the
2280 dump(8) utility) went from 12MB/s to 90MB/s on my SATA disk. NFS servers
2281 with multiple nfsd threads also saw performance increases.
2282
2283 Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2284 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2285
2286 commit e09d12221f4d1c7fcb00fd687ae6e759c39054c6
2287 Author: Jeff Moyer <jmoyer@redhat.com>
2288 Date: Tue Apr 27 16:18:17 2010 +0400
2289
2290 cfq: calculate the seek_mean per cfq_queue not per cfq_io_context
2291
2292 async cfq_queue's are already shared between processes within the same
2293 priority, and forthcoming patches will change the mapping of cic to sync
2294 cfq_queue from 1:1 to 1:N. So, calculate the seekiness of a process
2295 based on the cfq_queue instead of the cfq_io_context.
2296
2297 Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2298 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2299
2300 commit c05f95fcb04e896c898218d12a8f37c43d2f9cc6
2301 Author: Pavel Emelyanov <xemul@openvz.org>
2302 Date: Tue Apr 27 15:10:13 2010 +0400
2303
2304 OpenVZ kernel 2.6.32-avdeyev released
2305
2306 Named after Sergei Vasilyevich Avdeyev - a Russian cosmonaut.
2307
2308 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2309
2310 commit b4a419d9abd11e3efd02e9fccd4a14180866cf99
2311 Merge: 455792e 5bf3475
2312 Author: Pavel Emelyanov <xemul@openvz.org>
2313 Date: Tue Apr 27 14:01:27 2010 +0400
2314
2315 Merged linux-2.6.32.12
2316
2317 Conflicts:
2318
2319 Makefile
2320
2321 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2322
2323 commit 455792e7712fac15bba7ca187c244f30c9d0e825
2324 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
2325 Date: Thu Apr 22 19:08:13 2010 +0400
2326
2327 ipv6: fix sysctl unregistering order
2328
2329 call addrconf_ifdown for loopback at last last ipv6 addr delete with how=0
2330 to fix sysctl tables undergister ordering: all other interfaces attach their
2331 sysctl paths to lo's, so unregister lo sysctl tables only at namespace destroy.
2332
2333 https://bugzilla.sw.ru/show_bug.cgi?id=473430
2334
2335 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
2336 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2337
2338 commit fa86dba2b6213e770f102d1e688f6527d759aecf
2339 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
2340 Date: Mon Apr 5 15:43:18 2010 +0400
2341
2342 ve: fix ve task state percpu counters
2343
2344 Counters overlap detection for ve tasks in running/uninterraprible/iowait state
2345 was broken due to type mismatch:
2346 nr_{running/unin..e/iowait}_ve() uses _long_ for summing _int_ percpu counters.
2347
2348 As result, it broke ve loadavg calculation after first int overlap.
2349
2350 This patch expand all this percpu counters to unsigned long.
2351
2352 http://bugzilla.openvz.org/show_bug.cgi?id=1396
2353
2354 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
2355 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2356
2357 commit b484e22d951a02bd7ce25aaac396742766142790
2358 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
2359 Date: Mon Apr 5 15:41:30 2010 +0400
2360
2361 check flags on parsed structure
2362
2363 http://bugzilla.openvz.org/show_bug.cgi?id=1464
2364
2365 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
2366 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2367
2368 commit d8a86ef5a6c747ddb2896696269c0feef5d6fe1e
2369 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
2370 Date: Mon Apr 5 15:38:29 2010 +0400
2371
2372 CPT: check signal curr_target at restore
2373
2374 set signal curr_target to current if right task was not found.
2375 fix oops after broken restore.
2376
2377 "curr_target" controls round robin signal target balance over process
2378 threads, there no reasons to care about migration accuracy.
2379
2380 http://bugzilla.openvz.org/show_bug.cgi?id=1467
2381
2382 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
2383 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2384
2385 commit 61845b781db7d86180977270c73f6ea3885485f3
2386 Author: Pavel Emelyanov <xemul@openvzorg>
2387 Date: Mon Apr 5 15:35:58 2010 +0400
2388
2389 cpt: Don't mind the tsk->splice_pipe cache at cpt time
2390
2391 This field is just a cache for sendfile systemcall. It can be dropped
2392 safely during migration - the first sendfile after restore will create
2393 it back.
2394
2395 http://bugzilla.openvz.org/show_bug.cgi?id=881
2396
2397 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2398
2399 commit fcd86ff706b309999e526dc4a37e9de88ec051fb
2400 Author: Peter Volkov <pva@gentoo.org>
2401 Date: Sun Mar 28 18:04:44 2010 +0400
2402
2403 Fix /proc/kmsg permissions with capabilities active
2404
2405 Whenever application sets cap_sys_admin=ep it is unable to read
2406 /proc/kmsg with EPERM. This patch makes /proc/kmsg readable on HN.
2407 http://bugzilla.openvz.org/show_bug.cgi?id=1360
2408
2409 Signed-off-by: Peter Volkov <pva@gentoo.org>
2410 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2411
2412 commit 8c6af363b89ebf94d3982d786dd21c64fb41528f
2413 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
2414 Date: Fri Mar 12 15:58:35 2010 +0300
2415
2416 quota: fix compilation 32-bit compat quota, remove size checks.
2417
2418 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
2419 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2420
2421 commit 26aeb82fc7ef70e83a4e0640fcb77c7b6f31d81b
2422 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
2423 Date: Fri Mar 12 15:58:34 2010 +0300
2424
2425 x86: fix compilation for 32-bit kernel
2426
2427 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
2428 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2429
2430 commit 92875e3c49a15885ffbf40cbb0f2bd82cf423e43
2431 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
2432 Date: Mon Mar 1 13:03:59 2010 +0300
2433
2434 CPT: update image version to CPT_VERSION_27_3
2435
2436 sync cpt minor version with rhel5 branch
2437
2438 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
2439 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2440
2441 commit f7dd75ba9debbd60b12eec93128a5742d6876d28
2442 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
2443 Date: Mon Mar 1 12:56:27 2010 +0300
2444
2445 CPT: ignore deleted linked chr blk fifo nodes
2446
2447 Ignore unlinked but referenced pipes, character and block device nodes.
2448 Restore process will create it itself.
2449
2450 Bug #455855
2451
2452 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
2453 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2454
2455 commit d7c68b191825cbbf6c7a40a75d38d09330b3abca
2456 Author: Pavel Emelianov <xemul@openvz.org>
2457 Date: Mon Mar 1 12:55:36 2010 +0300
2458
2459 CPT: Dump fake hardlinks on inotify watch's inodes
2460
2461 When a watch is attached to unlinked and closed file it
2462 will not be restored, since the inode will not be in image.
2463
2464 To fix this the proposal is to create a fake link on the
2465 inode in a temp dir and dump it.
2466
2467 Bug #454944
2468
2469 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2470
2471 commit 7cf74bdd35d9559c671362cf8ce7016bb51aedaa
2472 Author: Vitaliy Gusev <vgusev@openvz.org>
2473 Date: Mon Mar 1 12:52:42 2010 +0300
2474
2475 CPT: Open hardlinked files only if is set 'hardlinked_on'
2476
2477 Signed-off-by: Vitaliy Gusev <vgusev@openvz.org>
2478 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2479
2480 commit 52c2eb6da3f09f44d652eb7156a793b5f50e8e08
2481 Author: Vitaliy Gusev <vgusev@openvz.org>
2482 Date: Mon Mar 1 12:52:09 2010 +0300
2483
2484 CPT: Add ioctl CPT_HARDLNK_ON for rst
2485
2486 vzctl have to call ioctl CPT_HARDLNK_ON to enable open hardlinked
2487 files by kernel during restore.
2488
2489 This protection is needed to prevent mix new kernel + old vzctl (which
2490 doesn't do cleaning). In other words, prevent creating/open files
2491 which will not be removed, and therefore this issue can lead to
2492 security problem.
2493
2494 Signed-off-by: Vitaliy Gusev <vgusev@openvz.org>
2495 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2496
2497 commit 72dfa44429c57c924ec4ac4d25d9ef6a343ddade
2498 Author: Vitaliy Gusev <vgusev@openvz.org>
2499 Date: Mon Mar 1 12:51:39 2010 +0300
2500
2501 CPT: Add CPT_DENTRY_HARDLINKED flag to cpt_file_image
2502
2503 This flag tells that file was hardlinked.
2504
2505 Signed-off-by: Vitaliy Gusev <vgusev@openvz.org>
2506 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2507
2508 commit 80d2ce353aa41820eca28c15abd6c1421d537736
2509 Author: Vitaliy Gusev <vgusev@openvz.org>
2510 Date: Mon Mar 1 12:49:48 2010 +0300
2511
2512 CPT: Create hard links to "deleted but referenced" during checkpoint
2513
2514 For "deleted but referenced" files, kernel creates hard link in
2515 directory (that was set via CPT_LINKDIR_ADD) in format:
2516
2517 .cpt_hardlink.xxxxxxxx
2518
2519 x - digit, from 0 to 9
2520
2521 Note - this policy is used only when no other ways of dumping unlined
2522 file helped.
2523
2524 Signed-off-by: Vitaliy Gusev <vgusev@openvz.org>
2525 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2526
2527 commit c24ab545f53ae07a2bfb3a6df100b56d49b57281
2528 Author: Vitaliy Gusev <vgusev@openvz.org>
2529 Date: Mon Mar 1 12:47:30 2010 +0300
2530
2531 CPT: Add ioctl CPT_LINKDIR_ADD for cpt
2532
2533 vzctl have to call ioctl CPT_LINKDIR_ADD to tell kernel where
2534 create hardlinked files during checkpoint. Without this ioctl
2535 kernel assumes that creating hardlinked files is off.
2536
2537 Signed-off-by: Vitaliy Gusev <vgusev@openvz.org>
2538 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2539
2540 commit d4ef97ff64464126b459ef8d9a0adbb95fb9dc09
2541 Author: Konstantin Khorenko <khorenko@openvz.org>
2542 Date: Sat Feb 27 16:58:11 2010 +0300
2543
2544 CPT: stop the migration if shm restoration failed
2545
2546 Bug #268163
2547
2548 Signed-off-by: Konstantin Khorenko <khorenko@openvz.org>
2549 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2550
2551 commit 089c01a6503ec6fc1ce66841d049bb65aa3c212c
2552 Author: Marat Stanichenko <mstanichenko@openvz.org>
2553 Date: Sat Feb 27 16:58:11 2010 +0300
2554
2555 CPT: restart local_kernel_thread in case of -ERESTARTNOINTR
2556
2557 This is essential in case of migration to SLM node.
2558
2559 We can bump into situation when SLM refuses to fork during the
2560 undumping process because it thinks that subgroup's resources
2561 are to be redistributed. When this happens fork is delayed with
2562 the -ERESTARTNOINTR error and the undumping process fails.
2563
2564 As Den (den@) noticed userspace is not intented to see the
2565 -ERESTARTNOINTR error so we should handle this situation in the
2566 kernel. According to the logic in the do_signal() function the
2567 interrupted system call is immediately restarted in case of the
2568 -ERESTARTNOINTR error.
2569
2570 We borrow this policy and apply it to the local_kernel_thread()
2571 cpt helper function.
2572
2573 [ xemul: this is quite a rare case, so simple cond_resched()
2574 is OK here all the more so the redistribution should
2575 happen in a timer ]
2576
2577 Bug #116787
2578
2579 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2580
2581 commit 8551a850a459df659d7b14a66dfc8cf6da5065d6
2582 Author: Andrey Mirkin <major@openvz.org>
2583 Date: Sat Feb 27 16:58:11 2010 +0300
2584
2585 CPT: save/restore only classic task flags
2586
2587 Task flags were restored as they were saved in image. That is not correct as
2588 flags are differs in 2.6.9, 2.6.16 and 2.6.18 kernels.
2589 Actually we just need to save/restore only classic flags (PF_EXITING, PF_DEAD,
2590 PF_FORKNOEXEC, PF_SUPERPRIV, PF_DUMPCORE and PF_SIGNALED).
2591
2592 The problems can occure because during migration from 2.6.9 to 2.6.18 kernel
2593 flag PF_USED_MATH was not restored on tsk->flags correctly.
2594
2595 In 2.6.9 kernel there was field tsk->used_math for this purpose, in 2.6.18
2596 kernel it is transformed into one of the tsk->flags.
2597
2598 And it was a bug, that after restore of fpu state and PF_USED_MATH flag, it
2599 was cleared by "tsk->flags = ti->cpt_flags & ~PF_FROZEN", as old cpt_flags do
2600 not contain PF_USED_MATH flag.
2601
2602 Bugs #115977 #115980 #115982
2603
2604 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2605
2606 commit 75f2abfa9f92fc7ac512a8ed9a34c2df0edd133d
2607 Author: Andrey Mirkin <major@openvz.org>
2608 Date: Sat Feb 27 16:58:11 2010 +0300
2609
2610 CPT: udp sockets restore fix
2611
2612 Some applications (like ntpd) set on udp sockets sk_reuse to 1. So any other
2613 applications can bind to the same port. During restore we must skip this
2614 check and restore and bind all sockets. On IPv6 we must also force DAD
2615 (Duplicate Address Detection) procedure to be sure that IFA_F_TENTATIVE flag
2616 will be cleared on IPv6 address and socket can be binded to it.
2617
2618 http://bugzilla.openvz.org/show_bug.cgi?id=784
2619
2620 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2621
2622 commit ba94d3fa2bb8636a7dceaa01fbf6fecdb8edacd5
2623 Author: Vitaliy Gusev <vgusev@openvz.org>
2624 Date: Sat Feb 27 16:58:11 2010 +0300
2625
2626 CPT: screw up udev bindmounts knot
2627
2628 Ubuntu's udev on boot does:
2629
2630 if ! mountpoint -q /dev; then
2631 # initramfs didn't mount /dev, so we'll need to do that
2632 mount -n --bind /dev /etc/udev
2633 mount -n -t tmpfs -o mode=0755 udev /dev
2634 mkdir -m 0700 -p /dev/.static/dev
2635 mount -n --move /etc/udev /dev/.static/dev
2636 fi
2637
2638 So, workaround is dumping "/dev" as bindmount's source.
2639
2640 Bug #120852
2641 http://bugzilla.openvz.org/show_bug.cgi?id=1198
2642
2643 Signed-off-by: Vitaliy Gusev <vgusev@openvz.org>
2644 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2645
2646 commit faa9a6dd94c072b38c8f963ce314fc1d6ff69ddf
2647 Author: Vitaliy Gusev <vgusev@openvz.org>
2648 Date: Sat Feb 27 16:58:10 2010 +0300
2649
2650 CPT: restore dead tasks proc files
2651
2652 If some process opened /proc/<pid><somefile> and process with <pid> will die
2653 after some time then checkpoint fails with error:
2654
2655 Can not dump VE: Invalid argument
2656 Error: d_path cannot be looked up /proc/125/cmdline
2657
2658 The fix is to catch this situation at the dump time, mark the image respectively
2659 and restore a fake file on restore.
2660
2661 http://bugzilla.openvz.org/show_bug.cgi?id=1047
2662
2663 Signed-off-by: Vitaliy Gusev <vgusev@openvz.org>
2664 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2665
2666 commit 977418edceabb4705f5012e562d4e5e04a19f138
2667 Author: Vitaliy Gusev <vgusev@openvz.org>
2668 Date: Sat Feb 27 16:58:10 2010 +0300
2669
2670 CPT: adjust vfsmounts restore order
2671
2672 Idea is: Dump parent before dump his children
2673
2674 This order is needed during checkpoint/restore:
2675
2676 mount /A /B -o bind
2677 mount none /C -t tmpfs
2678 mkdir /C/D
2679 mount /B /C/D --move
2680
2681 After this, checkpoint (w/o this patch) will dump vfsmounts in order:
2682
2683 - vfsmount, bind to /A, mounted to /C/D
2684 - vfsmount, mounted to /C (tmpfs)
2685 and will restore in the same order, that causes error.
2686
2687 Bug #132951
2688
2689 Signed-off-by: Vitaliy Gusev <vgusev@openvz.org>
2690 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2691
2692 commit c42b985195cc8e7c2bbeb644e92d98a066aacc18
2693 Author: Vitaliy Gusev <vgusev@openvz.org>
2694 Date: Sat Feb 27 16:58:10 2010 +0300
2695
2696 CPT: dont cpt requiresdev fs
2697
2698 Don't allow chkpnt VE with mounted ext2/ext3, etc filesystems.
2699
2700 Allow checkpoint only for mounted nodev and "external" filesystem.
2701
2702 This check protects from error on restore:
2703 CPT ERR: ffff810007113000,102 :-2 mounting /root/some_dir ext3 40000000
2704
2705 as do_one_mount() doesn't pass mntdev to mount().
2706
2707 [xemul: actually, the reason we don't support filesystems other than
2708 virtual and tmpfs is because we simply can't (easily) get the
2709 mount options for them to cpt and restore ]
2710
2711 Bug #131737
2712
2713 Signed-off-by: Vitaliy Gusev <vgusev@openvz.org>
2714 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2715
2716 commit a1d028ce2f1e87b5d64fb9fb7ed46740c1d73ed2
2717 Author: Vitaliy Gusev <vgusev@openvz.org>
2718 Date: Sat Feb 27 16:58:10 2010 +0300
2719
2720 CPT: Restore information about tcp listening sockets
2721
2722 Not all options are important. Only missed ipv6only can cause
2723 error if other application want to listen the same port for IPv4 any address.
2724
2725 tp->XXX are inherited by children (noticed by Alexey Kuznetsov), so we need also
2726 to restore these options.
2727
2728 Signed-off-by: Vitaliy Gusev <vgusev@openvz.org>
2729
2730 Comment from Alexey:
2731 It [everything before] was not OK. The feature which are broken are important,
2732 but not actually critical except for ipv6only.
2733
2734 F.e. DEFER_ACCEPT is broken -> but nobody will notice, it just will not
2735 be deferred.
2736 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2737
2738 commit 6364b5498e48bcb600472bb2fafb865206f35068
2739 Author: Vitaliy Gusev <vgusev@openvz.org>
2740 Date: Sat Feb 27 16:58:10 2010 +0300
2741
2742 CPT: put 'expect' after insert to the 'conntrack'
2743
2744 During restore conntrack, we need to put expect after allocating
2745 ip_conntrack_expect and do something with one. Expect will be
2746 freed or immediate (if nobody has this expect) or during cleanup/timer
2747 hooks. Otherwise expect never will be freed.
2748
2749 Note: Approaches for kernels 2.6.18 and 2.6.9 are different. For example
2750 see help() in "net/ipv4/netfilter/ip_conntrack_netbios_ns.c"
2751
2752 Signed-off-by: Vitaliy Gusev <vgusev@openvz.org>
2753 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2754
2755 commit b3d4348ca6322edad5a0a0d56b15d1eb8db718bd
2756 Author: Vitaliy Gusev <vgusev@openvz.org>
2757 Date: Sat Feb 27 16:58:09 2010 +0300
2758
2759 CPT: Fix ip_conntrack_ftp usage counter leak
2760
2761 Function ip_conntrack_helper_find_get() gets module counter. So put a
2762 conntrack after putting in the hash and handling the conntrack's expect
2763 list.
2764
2765 Signed-off-by: Vitaliy Gusev <vgusev@openvz.org>
2766 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2767
2768 commit 74e373eeb5e71b1c8253c04bee92250e5f6640cf
2769 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
2770 Date: Sat Feb 27 16:58:08 2010 +0300
2771
2772 CPT: dump and restore global snmp statistics
2773
2774 Per device exists for ipv6 only and is probably not used now, but
2775 anyway - I'll do it later.
2776
2777 This patch adds new section CPT_SECT_SNMP_STATS that is populated
2778 with CPT_OBJ_BITS set of objects - one for each type of statistics.
2779 Objects have variable length. Stats are stored as a plain array of
2780 __u32 numbers and thus the order in which stats types are stored is
2781 implicitly hard-coded.
2782
2783 In case we do not have an IPV6 turned on all ipv6 stats are dumped
2784 as CPT_OBJ_BITS/CPT_CONTENT_VOID and are skipped on restore.
2785
2786 When we restore from an image with more stats in any type, the not
2787 supported ones are dropped with a warning.
2788
2789 Stats add 28K to image file.
2790
2791 Bug #113930
2792
2793 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2794
2795 commit 3b0f4b2e0503c157d596d7426ffcba01e30e930f
2796 Author: Vitaliy Gusev <vgusev@openvz.org>
2797 Date: Sat Feb 27 16:58:08 2010 +0300
2798
2799 CPT: Fix memory corruption if cpt_family is wrong.
2800
2801 During restore, if parent socket is AF_INET but cpt_family is
2802 wrong (non initialized, see bug ##95113), then consider request as
2803 related to AF_INET6 is not right and leads to memory corruption.
2804
2805 As there are a lot of buggy images, so we can't check only on values
2806 AF_INET and AF_INET6.
2807
2808 Desicion:
2809 - Check request on AF_INET6 first, and consider
2810 request as AF_INET by default.
2811 - Additionally checkup for AF_INET6 request (protect from
2812 random value cpt_family == AF_INET6)
2813
2814 Bug #118912
2815
2816 Signed-off-by: Vitaliy Gusev <vgusev@openvz.org>
2817 Acked-by: Denis V. Lunev <den@openvz.org>
2818 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2819
2820 commit 4a7ddd3db9a8030d514d120341bffd904ef57315
2821 Author: Pavel Emelianov <xemul@openvz.org>
2822 Date: Sat Feb 27 16:58:07 2010 +0300
2823
2824 CPT: fix restoring of /dev/null opened early by init
2825
2826 The problem is the following:
2827 * init from fc9 starts and opens /dev/null for its stdin, stdout
2828 and stderr
2829 * udev starts and overmounts /dev with tmpfs
2830
2831 After this cpt cannot dump this ve, since one process holds a file,
2832 that is inaccessible from ve root.
2833
2834 The proposed solution is the following:
2835 1. allow for /dev/null to be over-mounted
2836 2. restore init's file in two stages:
2837 stage1: *before* we restored mounts restore init's 0, 1 and
2838 2 file descriptors, since most likely (in fc9 case - definitely)
2839 init opened them before any other manipulations with fs;
2840 stage2: restore the rest files later, at usual time to make
2841 sore that e.g. sockets etc are restored properly.
2842
2843 Comment from Alexey:
2844
2845 ACK.
2846
2847 Though this is really ugly, it really produces 100% correct result
2848 for this particular situation.
2849
2850 Bug #116261
2851
2852 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2853
2854 commit 937a5462e54d42a70ca0a66c7d3147d02ff40767
2855 Author: Pavel Emelianov <xemul@openvz.org>
2856 Date: Sat Feb 27 16:58:07 2010 +0300
2857
2858 CPT: lock sock before restoring its synwait queue
2859
2860 This new socket already has all the necessary TCP timers armed,
2861 so tcp_keepalive_timer can fire during the rst_restore_synwait_queue
2862 and (for the latter being lockless) can spoil the queue.
2863
2864 Bug #118912
2865
2866 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2867
2868 commit c5d30bd0194b026df7684e08f1b6e8e77d06305c
2869 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
2870 Date: Sat Feb 27 16:58:07 2010 +0300
2871
2872 CPT: sysctl randomize_va_space
2873
2874 implement checkpointing for virtualized sysctl kernel.randomize_va_space.
2875
2876 reuse existing unused pad1 field in cpt_veinfo_image.
2877 0 -> image without rnd_va_space virtualization (default value is used)
2878 1 -> rnd = 0
2879 2 -> rnd = 1
2880 etc...
2881
2882 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
2883 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2884
2885 commit bbdcbaadf794e4a6c579cdac4c92ecc278d7606c
2886 Author: Andrey Mirkin <major@openvz.org>
2887 Date: Sat Feb 27 16:58:07 2010 +0300
2888
2889 CPT: add check for presence of module slm_dmprst if SLM is enabled
2890
2891 Add a check in "checks" for presence of module slm_dmprst if SLM is enabled.
2892 Check will be performed for both source and destination nodes. Changes in
2893 vzmigrate are not needed.
2894
2895 Bug #114312
2896
2897 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2898
2899 commit 04c139f6c20e5c80a19db1439f8cd2f7e2715b4e
2900 Author: Andrey Mirkin <major@openvz.org>
2901 Date: Sat Feb 27 16:58:07 2010 +0300
2902
2903 CPT: add diagnostics in case of iptables-restore fail
2904
2905 It is not clear right now what is wrong if iptables-restore fails.
2906 Add some diagnostics in case of error.
2907
2908 Bug #95952
2909
2910 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2911
2912 commit f06677625bf53b6aad0a3742b5f01d1376715e1d
2913 Author: Denis Lunev <den@openvz.org>
2914 Date: Sat Feb 27 16:58:06 2010 +0300
2915
2916 CPT: Check that VE is not running on restore.
2917
2918 Bug #99679
2919
2920 Signed-off-by: Denis V. Lunev <den@parallels.com>
2921 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2922
2923 commit dcda94043007a5d005e92c2df31ba63eeb1b8a70
2924 Author: Andrey Mirkin <major@openvz.org>
2925 Date: Sat Feb 27 16:58:06 2010 +0300
2926
2927 CPT: fix check in decode_tuple()
2928
2929 Tuple structure can be used as a mask and protonum can be 0xffff in 2.6.9
2930 kernel. In 2.6.18 kernel all masks for protonum are 0xff and 0xffff will
2931 be shrunken to 0xff.
2932
2933 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2934
2935 commit 5a889e32263292bec6e2d4c2710ee41985f35716
2936 Author: Andrey Mirkin <major@openvz.org>
2937 Date: Sat Feb 27 16:58:06 2010 +0300
2938
2939 CPT: fix restore of conntrack expect timer
2940
2941 One more fix of restore conntrack procedure.
2942 Following code:
2943
2944 if (ct->helper->timeout && !del_timer(&exp->timeout)) {
2945 ...
2946 }
2947
2948 can lead to oops, as exp->timeout is not initialized at this point.
2949
2950 Actually this optimization is not needed at all.
2951 If expectation is dying, then we will let it die by its own death.
2952
2953 Also in ip_conntrack_expect_insert() there is an initialization of
2954 exp->timeout. And we can't just do add_timer() after that (as in add_timer()
2955 we have BUG_ON(timer_pending(timer))), we must do mod_timer() instead.
2956
2957 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2958
2959 commit 19dce010faff8960e80b1778afa9f4ad07dd365f
2960 Author: Andrey Mirkin <major@openvz.org>
2961 Date: Sat Feb 27 16:58:06 2010 +0300
2962
2963 CPT: restore mark value on conntracks
2964
2965 Restore mark value in conntracks as it is needed for connmark module.
2966
2967 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2968
2969 commit 7ec63fdedf332db285f71d857cf395da8cf674d5
2970 Author: Andrey Mirkin <major@openvz.org>
2971 Date: Sat Feb 27 16:58:06 2010 +0300
2972
2973 CPT: convert conntrack tuple from 2.6.9 kernel image
2974
2975 Add conversion for conntrack tuple from 2.6.9 kernel image.
2976 Check for correct value is added in decode_tuple().
2977
2978 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2979
2980 commit c34d6367f6cc5ee7f60fdee828c41de7b633a779
2981 Author: Andrey Mirkin <major@openvz.org>
2982 Date: Sat Feb 27 16:58:06 2010 +0300
2983
2984 CPT: convert conntrack image from 2.6.9 to 2.6.18
2985
2986 CPT structure in image file for conntracks is different in 2.6.9 and 2.6.18
2987 kernels (array cpt_help_data was enlarged in the middle of the structure), so
2988 conntracks from 2.6.9 kernel are restored incorrectly on 2.6.18 kernel and
2989 lead to kernel oops.
2990
2991 A simple conversion from 2.6.9 to 2.6.18 is introduced to restore conntracks
2992 correctly on 2.6.18 kernel.
2993
2994 Bug #113290
2995
2996 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
2997
2998 commit 21644501b4651df2c7f271cae528f1996fc23a8d
2999 Author: Andrey Mirkin <major@openvz.org>
3000 Date: Sat Feb 27 16:58:05 2010 +0300
3001
3002 CPT: create kernel threads in VE0 context
3003
3004 In current implementation master process which performs checkpointing has
3005 owner_env set to VE0 and exec_env set to VE. All auxiliary kernel threads
3006 are created with exec_env set to VE and owner_env set to VE0, so after the
3007 do_fork_pid() we have the follwing:
3008
3009 * new thread has owner_env == ve0, exec env == ve
3010 * its pid belongs to ve (pid->veid != 0)
3011
3012 That is why if ve_enter() in thread fails, then we hit BUG_ON in
3013 release_task -> detach_pid -> free_pid
3014 sequence, since task owner env != pid's veid.
3015
3016 When enter succeeds the task's owner env becomes ve and this BUG_ON
3017 is not triggered.
3018
3019 To solve this problem exec_env is switched to VE before kernel thread
3020 creation and switched back after. Veid is passed to kernel via args. All
3021 kernel threads are created with CLONE_VFORK to be sure that parent
3022 process will not exit before doing exec() in thread.
3023
3024 Bug #97124
3025
3026 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3027
3028 commit 686bb3916a1247b46893078f8d87b8df6b1e305a
3029 Author: Andrey Mirkin <major@openvz.org>
3030 Date: Sat Feb 27 16:58:05 2010 +0300
3031
3032 CPT: restore rlimits correctly during 32bit-64bit migration
3033
3034 During 32bit to 64bit migration rlimits were restored incorrectly due to
3035 different size of long on 32bit and 64bit archs. Now simple conversion is
3036 introduced in case of 32bit-64bit migration. Infinity values are restored as
3037 infinity values. Error is returned if value greater than RLIM_INFINITY32 is
3038 found in dump during restore on 32bit arch.
3039
3040 Bug #111965
3041
3042 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3043
3044 commit c3e4a29b420b871a6543955728b1f8a5de75e955
3045 Author: Andrey Mirkin <major@openvz.org>
3046 Date: Sat Feb 27 16:58:05 2010 +0300
3047
3048 CPT: restore packet control block from kernels with and without IPv6
3049
3050 More generic mechanism for restoring packet control blocks. Unfortunately we
3051 do not save length of control block in dump and we can only try to calculate
3052 it during restore. This method is based on knowledge that the flags value in
3053 TCP control block is not zero for all packets in queue.
3054 Since this image version TCP control block will be saved in IPv6 form
3055 regardless to IPv6 config option.
3056 Restore of control block is splitted in 4 ways for any IPv6 and non-IPv6
3057 kernel combinations.
3058 Check is added to be sure that all control block were restored in the same
3059 way. If it will be found that some control blocks were restored incorrectly,
3060 then undump process will be terminated.
3061
3062 Bug #111370.
3063
3064 Merged 4 patches sent earlier:
3065 1. Increase image version.
3066 2. Save TCP control block regardless to IPv6 config option.
3067 3. Restore of control block is splitted in 4 ways...
3068 4. Add appropriate comment on TCP control block restore procedure.
3069
3070 [xemul:
3071 Added do { } while (0) around macro body
3072 Mention Alexey in comment about skb_cb->flags being non-zero
3073 ]
3074
3075 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3076
3077 commit 1f218bb8d606af3b95cd089b68b44800f91ac7d1
3078 Author: Andrey Mirkin <major@openvz.org>
3079 Date: Sat Feb 27 16:58:05 2010 +0300
3080
3081 CPT: add binfmt_misc fs in supported list
3082
3083 Just add binfmt_misc in list of supported file systems. With this small
3084 quick fix migration will be allowed, but all binfmt_misc entries will
3085 be dropped during migration.
3086
3087 This fix is only for the first time. Later will be implemented generic
3088 mechanism for checkpointing/restore of external modules. And this quick
3089 fix will be replaced with full support for binfmt_misc in CPT.
3090
3091 Bugs #100709, #101061
3092
3093 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3094
3095 commit 85da0ddab187bb9e6000ba6c98b7454095055799
3096 Author: Andrey Mirkin <major@openvz.org>
3097 Date: Sat Feb 27 16:58:05 2010 +0300
3098
3099 CPT: relax check for several bind mounts on the same mount point
3100
3101 Relax check for special bind mounts which mounted several times on the same
3102 mount point. We need to check only dentry, mount check can be skipped in this
3103 case.
3104 We can't remove completely mount check as there are exist cases when we need
3105 to check mnt too. E.g. /dev is mounted with NODEV over /dev and some file is
3106 opened from underlying mount. If mount check is removed, then we will be able
3107 to checkpoint such state, but we will not be able to restore it.
3108
3109 Correct sollution will be to dump/restore whole mount tree with overmounts.
3110 But we can't implement this right now for number of reasons.
3111
3112 Bug #84310
3113
3114 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3115
3116 commit bc4769bb4acc7547f4e537b23a093019e78652d7
3117 Author: Andrey Mirkin <major@openvz.org>
3118 Date: Sat Feb 27 16:58:04 2010 +0300
3119
3120 CPT: fix reopen dentries procedure
3121
3122 Dentries were not reopened correctly during checkpointing and restore.
3123 Two bugs fixed:
3124 1. In case of huge files (more then 2Gb) dentry_open() returns -EFBIG if
3125 O_LARGEFILE flag is not set. This flag should be used for temporary files
3126 used during checkpointing and restore process.
3127 Bug #99544
3128 https://bugzilla.sw.ru/show_bug.cgi?id=99544
3129
3130 2. In dump_content_regular() we have following code:
3131 file = dentry_open(dget(file->f_dentry),
3132 mntget(file->f_vfsmnt), O_RDONLY);
3133 if (IS_ERR(file)) {
3134 cpt_printk_dentry(file->f_dentry, file->f_vfsmnt);
3135 eprintk_ctx("cannot reopen file for read %ld\n", PTR_ERR(file));
3136 return PTR_ERR(file);
3137 }
3138
3139 Which results in kernel oops if dentry_open() returns error
3140 (e.g. -EFBIG because of bug #99544)
3141
3142 Bug #99542
3143
3144 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3145
3146 commit 08b8f8ba476ec8e67b2eac74028fa5f4a3586c2f
3147 Author: Andrey Mirkin <major@openvz.org>
3148 Date: Sat Feb 27 16:58:04 2010 +0300
3149
3150 CPT: fix save/restore of open requests
3151
3152 Open requests were saved and restored sometimes incorrectly:
3153
3154 1. Family of open request was not saved (commented out)
3155 2. Restore was broken, would crash because rsk_ops was cleared by memset.
3156 3. And finally, all the coded restoring open requests was skipped.
3157
3158 Tested with http_load.
3159
3160 Bug #95113
3161 http://bugzilla.openvz.org/show_bug.cgi?id=784
3162
3163 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3164
3165 commit 0a6789976c6ff602e11a4f00123ae70b62738f21
3166 Author: Andrey Mirkin <major@openvz.org>
3167 Date: Sat Feb 27 16:58:04 2010 +0300
3168
3169 cpt: add lost dcache_lock protection around __d_path()
3170
3171 Protect __d_path() call with dcache_lock spinlock.
3172 Protect other checks with env->op_sem semaphore.
3173
3174 Bug #98833
3175
3176 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3177
3178 commit 22c792c3605e5d0f916308678319e25eb18cf4a6
3179 Author: Andrey Mirkin <major@openvz.org>
3180 Date: Sat Feb 27 16:58:04 2010 +0300
3181
3182 cpt: fix restore of inotify on symlink
3183
3184 Inside VE file /etc/mtab is a symlink to /proc/mounts.
3185 FreeNX server with KDE creates inotify on /etc/mtab file.
3186 To restore such inotify we need to obtain dentry with path_lookup() and
3187 restore inotify on it.
3188
3189 Bug #96464
3190
3191 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3192
3193 commit 66a6c3e51c35096b204b8866ee50afe0b1d13d59
3194 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
3195 Date: Sat Feb 27 16:58:04 2010 +0300
3196
3197 quota: compat layer for compat quota
3198
3199 This patch implements compatibility quotactls for old quota tools.
3200
3201 replace:
3202 diff-fs-quotcompat-ia32emul-fix-20050921
3203 diff-fs-quotcompat-comp-fix-20080710
3204 diff-fs-quotcompat-xencomp-fix-20080806
3205 diff-fs-quota-compat-proper-split-20081027
3206
3207 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
3208 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3209
3210 commit 1b04f79cb59f8cd8fb1ca26e19a6a4e8295a088f
3211 Author: Pavel Emelianov <xemul@openvz.org>
3212 Date: Sat Feb 27 16:58:03 2010 +0300
3213
3214 ve: Don't check for CAP_SETVEID - use more ... imagination
3215
3216 This patch:
3217 The proposed check correctly detects the root in ve0.
3218 However, we lose the ability to create containers with
3219 some fancy tool, that has the CAP_SETVEID capability
3220 *only*, but we don't have such.
3221
3222 The cap itself is declared to be obsoleted, but there's
3223 no need in rewriting vzctl in a rush - things will still
3224 work. If we'll want to manipulate audit caps from the
3225 vzctl we'll make it via features.
3226
3227 Overall history:
3228
3229 Don't ban CAP_AUDIT_XXX capabilities in container to make the
3230 dbus-daemon work.
3231
3232 After two (maybe tree) days of brain storm me and Den finally
3233 gave birth to this solution. So...
3234
3235 First of all AUDIT will be banned in container. Since dbus refused
3236 not to set audit caps we don't want it to mess with it in any case.
3237
3238 Next step is to note, that CAP_AUDIT_CONTROL coincides with the
3239 CAP_VE_ADMIN, which is not that bad (besides, dbus doesn't try to
3240 set this one up) and we leave one alone.
3241
3242 And finally - the CAP_AUDIT_WRITE, which coincides with the most
3243 delicate one - CAP_SETVEID. The latter one is explicitly dropped
3244 on container start and there's no way to set one (dbus tries this
3245 and fails) back. Simple "don't clear it" solution is too dangerous.
3246
3247 TO handle *this* case we
3248 1. replace all checks to capable(CAP_SETVEID) to more complicated,
3249 but still matching ve0's root only;
3250 2. don't ban the CAP_SETVEID (== CAP_AUDIT_WRITE == the_one_dbus_needs);
3251 3. remember, that this capability is present on ve startup and thus
3252 we automatically have the CAP_AUDIT_WRITE required by dbus;
3253 4. carefully handle the case, when we enter container in do_env_create
3254 and try to call fairsched system calls.
3255
3256 That's it. No fraud, just manual dexterity ;)
3257
3258 Bug #117448
3259
3260 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3261
3262 commit 153eca7d4bf56bd34e7c5957b1ff8ec331713a0b
3263 Author: Pavel Emelianov <xemul@openvz.org>
3264 Date: Sat Feb 27 16:58:03 2010 +0300
3265
3266 fairsched: Sanitize fairsched manipulations on ve startup
3267
3268 First of all we won't be able to call them after we fix
3269 capability checks. Second of it is that taking the fairsched
3270 mutex 4 times on startup is an overkill.
3271
3272 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3273
3274 commit e2fb9c79fd348a0603c4b881c4e1f179945b55b5
3275 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
3276 Date: Sat Feb 27 16:58:03 2010 +0300
3277
3278 ms: lutime lchmod syscalls
3279
3280 Add possibility to change owner/permissions on symbolic links
3281
3282 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
3283 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3284
3285 commit 0b7042d24abe59baba84a78e37b95a88624f9308
3286 Author: Konstantin Khorenko <khorenko@openvz.org>
3287 Date: Sat Feb 27 16:58:02 2010 +0300
3288
3289 ve-net: permit changing of netdev's tx_queue_len from inside a CT
3290
3291 In particular it makes OpenVPN happy.
3292
3293 Bug #457318
3294
3295 Signed-off-by: Konstantin Khorenko <khorenko@openvz.org>
3296 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3297
3298 commit eb3139203f525babc452556dd5071c73382050dd
3299 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
3300 Date: Sat Feb 27 16:58:02 2010 +0300
3301
3302 venet: Core support for external ip filtering
3303
3304 Allow VE emit packets with configured source IP address.
3305
3306 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
3307 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3308
3309 commit 98ec6de33c046e4f053c6b21152d3e07bead7804
3310 Author: Marat Stanichenko <mstanichenko@openvz.org>
3311 Date: Sat Feb 27 16:58:01 2010 +0300
3312
3313 vzethdev: stat tx dropped acount
3314
3315 Veth get_stats() should return the number of tx_dropped packets
3316
3317 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3318
3319 commit 57a5848f98e677abefa203f9ad5f1b4bf3d28ace
3320 Author: Vitaliy Gusev <vgusev@openvz.org>
3321 Date: Sat Feb 27 16:58:01 2010 +0300
3322
3323 venet: add TSO support in venet and vzethdev
3324
3325 venet and veth support checksumming and scatter-gather features, but TSO
3326 feature still wasn't added.
3327
3328 TSO increases bandwidth up to 50% or appreciably decreases CPU usage.
3329
3330 Approach is the same as for checksumming:
3331 1. TSO is off by default
3332 2. For veth: tso can be enabled/disabled in VE or VE0 for
3333 pair {veth in VE, veth in VE0}
3334 3. For venet: tso can be enabled/disabled only in VE0 (for
3335 all venet devices at once)
3336
3337 To use this feature just enable:
3338 1. Tx checksumming: ethtool -K DEVNAME tx on
3339 2. Scatter-gather: ethtool -K DEVNAME sg on
3340 3. TSO: ethtool -K DEVNAME ts on
3341
3342 Some performance info (tested via netperf):
3343
3344 1. Traffic VE->VE0 (via venet), TCP STREAM test, message size 32K, socket size 256K:
3345
3346 TSO off 2300 10^6 bits/s
3347 TSO on 5600 10^6 bits/s
3348
3349 Notes:
3350 Admins need to set TSO on {venet,veth} only if physical ethernet device supports TSO.
3351
3352 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3353
3354 commit f0fe2ba7ff9d91a2bfef1ec95fddbeada5be14d3
3355 Author: Vasily Averin <vvs@openvz.org>
3356 Date: Sat Feb 27 16:58:01 2010 +0300
3357
3358 ve: Kill not-yet-closed TCP sockets on VE stop herder
3359
3360 Idea proposed by Alexey Kuznetsov <alexey@openvz.org>
3361 tcp_v4_kill_ve_sockets() can hangs in loop because NFS can hold some sockets in
3362 host node rpciod/nfsdiod queues.
3363 This patch resets such sockets if it's possible or delays its cleanup.
3364
3365 changes in 20090429: fixed wrong locking and another xemul@ notices
3366 Bug #429296
3367
3368 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3369
3370 commit 5ad4c74a16b2f9812a1d79287bba724243454ecc
3371 Author: Pavel Emelianov <xemul@openvz.org>
3372 Date: Sat Feb 27 16:58:00 2010 +0300
3373
3374 bc: compat system calls for bc and fairsched
3375
3376 correct UB_MAXVALUE convertion and wire compat syscalls
3377
3378 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3379
3380 commit 20fd4dd54736b40a815ad07d34c4339d5c627f7e
3381 Author: Denis Lunev <den@openvz.org>
3382 Date: Sat Feb 27 16:58:00 2010 +0300
3383
3384 ub-dcache: sleep in dput
3385
3386 ub: dentry->dentry_bc.d_ub is unreliable after the sleep
3387
3388 d_kill can sleep inside. In this case dentry->dentry_bc.d_ub saved before
3389 is unreliable as we can have dcache accounting on event during sleep. In this
3390 case we'll have saved ub == NULL and OOPS/leak inside dcache_uncharge.
3391
3392 Another problem here is that we should decrement inuse count on the
3393 dentry appropriately.
3394
3395 Bug #116095
3396
3397 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3398
3399 commit 76038f85b0523d4d2a48b20b5443a81dee3531e4
3400 Author: Cyrill Gorcunov <gorcunov@openvz.org>
3401 Date: Sat Feb 27 16:58:00 2010 +0300
3402
3403 ve-fs: implement "ve-xattr-policy" sysctl entry
3404
3405 "ve-xattr-policy" sysctl entry allows to control how to react on xattr
3406 change from inside of a container.
3407
3408 There are three options allowed:
3409
3410 0 - accept any xattr modifications (VE0 always and VE by default)
3411 1 - ignore
3412 2 - reject
3413
3414 Note that any other value assigned to "ve-xattr-policy"
3415 leads to "accept" policy being applied without any warning.
3416
3417 The sysctl is placed at /proc/sys/fs/ve-xattr-policy on HW node.
3418
3419 http://bugzilla.openvz.org/show_bug.cgi?id=1050
3420
3421 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3422
3423 commit 5cab8bf42b5da73a02d5288951aeeec8fd8b4716
3424 Author: Marat Stanichenko <mstanichenko@openvz.org>
3425 Date: Sat Feb 27 16:57:59 2010 +0300
3426
3427 ve-kmsg: printk va copy add
3428
3429 Copy args variable in ve_printk() function
3430
3431 x64 can corrupt va_list after return from the called function.
3432
3433 Bug #440939
3434
3435 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3436
3437 commit b55fc66f70948758037a4639e8a63663792ec1f5
3438 Author: Vitaliy Gusev <vgusev@openvz.org>
3439 Date: Sat Feb 27 16:57:59 2010 +0300
3440
3441 ve-kmsg: printk lockdep fixup
3442
3443 printk: fix lockdep warnings if kernel compiled with CONFIG_LOCKDEP
3444
3445 vprintk() to VE causes:
3446
3447 =====================================
3448 [ BUG: lock held at task exit time! ]
3449 -------------------------------------
3450 iptables/8203 is exiting with locks still held!
3451 1 lock held by iptables/8203:
3452 #0: (sk_lock-AF_INET){--..}, at: [<ffffffff81213341>] ip_setsockopt+0x61/0xa0
3453
3454 stack backtrace:
3455
3456 Call Trace:
3457 [<ffffffff8100b78a>] show_trace+0xca/0x3b0
3458 [<ffffffff8100ba85>] dump_stack+0x15/0x20
3459 [<ffffffff8105e469>] debug_check_no_locks_held+0x89/0xa0
3460 [<ffffffff8103aa7e>] do_exit+0xe2e/0xe80
3461 [<ffffffff8103aba0>] sys_exit_group+0x0/0x20
3462 [<0000000000000001>]
3463
3464 Note: to reproduce this you can type in VE:
3465 iptables -A INPUT -m tcp --dport 22 -j DROP
3466
3467 Signed-off-by: Vitaliy Gusev <vgusev@openvz.org>
3468 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3469
3470 commit 84ac295d2315ecf649e3910735d81e8d217396c3
3471 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
3472 Date: Sat Feb 27 16:57:58 2010 +0300
3473
3474 ve-proc: mangle mounts devname harder
3475
3476 mounts: show /dev/xxx devices near ve root mounts, rather than just xxx
3477 Required for fixing autofs in rhel5 container:
3478
3479 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
3480 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3481
3482 commit 454ad87b41380655cb31a85f682ddb8289e8e1f9
3483 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
3484 Date: Sat Feb 27 16:57:58 2010 +0300
3485
3486 ve-sysctl: randomize_va_space
3487
3488 virtualize sysctl kernel.randomize_va_space
3489
3490 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
3491 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3492
3493 commit a44c3498bcf70065a85236b7daa77fe0320313f2
3494 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
3495 Date: Sat Feb 27 16:57:58 2010 +0300
3496
3497 ve-sysctl: add proc_dointvec_ve helper
3498
3499 add generic method for proc access to per ve int values.
3500
3501 extra1 field of ctl_table contains data field offset from ve_struct begin.
3502 without CONFIG_VE use address from .data field.
3503
3504 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
3505 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3506
3507 commit 34e6684b531637ad4fd34502d32f6e3c74e2dac6
3508 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
3509 Date: Sat Feb 27 16:57:57 2010 +0300
3510
3511 ve: drop oom immunity at enter
3512
3513 At CT enter switch to default OOM adjustment level if task is OOM-immune.
3514
3515 This is a very bad idea to have OOM-unkillable tasks inside container,
3516 because all forked tasks inherit this setting.
3517
3518 Proc interface for changing OOM adjustment (/proc/<pid>/oom_adj)
3519 allready restricted in CT by diff-ve-oom-adjust-20070604.
3520
3521 On some systems sshd got OOM protection at start and not drop it after fork.
3522 (example: ssh root@HN -> vzctl enter -> restart apache -- apache now OOM immune)
3523 (example from xemul@: ssh root@HN vzctl start - VE is now OOM immune)
3524
3525 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=480020
3526
3527 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
3528 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3529
3530 commit c7cf5c388378abf4d6e8e2e18c6c815eccab4fd7
3531 Author: Pavel Emelianov <xemul@openvz.org>
3532 Date: Sat Feb 27 16:57:57 2010 +0300
3533
3534 ms: ext4 use get host
3535
3536 Force ext4 page fault handlers use ->get_host callbacks
3537 This is required not to use vzfs file in ->page_mkwrite callback.
3538 Bug #454968
3539
3540 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3541
3542 commit a7de88181858ae8f9ec51cee11ae7f955e76430d
3543 Author: Denis Lunev <den@openvz.org>
3544 Date: Sat Feb 27 16:57:57 2010 +0300
3545
3546 nfs: disable nfs-v2
3547
3548 nfs: disable NFSv2 as it is broken
3549 According to Alexey: "who is going to turn v2 on, having
3550 a v3, which works better, nearby?"
3551
3552 Bug #114720
3553
3554 Signed-off-by: Denis V. Lunev <den@parallels.com>
3555 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3556
3557 commit 7805f36534f20e530fb84e83a360993ec78f3bb6
3558 Author: Denis Lunev <den@openvz.org>
3559 Date: Sat Feb 27 16:57:56 2010 +0300
3560
3561 ve: vfs sillyrename
3562
3563 i_nlink count on private inodes after silly rename is 1. So, virtual inodes
3564 gain i_nlink == 1 and remains in unused_list instead of to be cleaned.
3565
3566 Bug #114672 #112999
3567
3568 Signed-off-by: Denis V. Lunev <den@parallels.com>
3569 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3570
3571 commit d252a93b32d6d251fcc73863b75b91edaa801b95
3572 Author: Andrey Mirkin <major@openvz.org>
3573 Date: Sat Feb 27 16:57:56 2010 +0300
3574
3575 mm mmap zero length kludge
3576
3577 Return -EINVAL in case of zero length file to all applications except
3578 rpm. For (legacy) rpm address will be returned.
3579
3580 Such hack is introduced just not to break compatibility with old
3581 tools, sorry :(
3582
3583 Bug #74964
3584
3585 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3586
3587 commit 437d113149802cb91254246f29134e3ade55e411
3588 Author: Alexey Kuznetsov <alexey@openvz.org>
3589 Date: Sat Feb 27 16:57:56 2010 +0300
3590
3591 nfs: use file private macro
3592
3593 Minor fix to nfs, which allows to use vzfs over nfs mounts.
3594
3595 It survives fsstress test. I think normal vzfs tests can be started
3596 asap to catch the pointes of possile misbehaviour.
3597
3598 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3599
3600 commit 3c07eb700d9bbe7fd6b7dcf52103faf58ef4a035
3601 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
3602 Date: Sat Feb 27 16:57:55 2010 +0300
3603
3604 vzdq: cleanup fake qmblk destroy
3605
3606 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
3607 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3608
3609 commit 8d622018ad2a3d025576578c0838c18ebfd3fdab
3610 Author: Konstantin Ozerkov <kozerkov@openvz.org>
3611 Date: Sat Feb 27 16:57:55 2010 +0300
3612
3613 vzdq: qmblk dq_sem to mutex
3614
3615 vzquota: replace quota master block semaphore with mutex
3616
3617 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
3618 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3619
3620 commit 769b3bbe8d7859d168b42daa35720f12372e10db
3621 Author: Konstantin Ozerkov <kozerkov@openvz.org>
3622 Date: Sat Feb 27 16:57:54 2010 +0300
3623
3624 vzdq: vz_quota sem to mutex
3625
3626 vzquota: replace master lock semaphore with mutex
3627
3628 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
3629 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3630
3631 commit 085883fb2366ae47c84fb18aa50f832e93ab56aa
3632 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
3633 Date: Sat Feb 27 16:57:54 2010 +0300
3634
3635 vzdq: vzaquota proc nlink
3636
3637 Produce correct nlink count for /proc/vz/vzaquota
3638
3639 Use count mounpoints accessible from VE as upper estimate for
3640 count subdirectories inside /proc/vz/vzaquot.
3641 Concept stolen from vzdq_aquotd_readdir.
3642
3643 Disable enumation in VE0 for performance reason (like in _readdir and _lookup)
3644
3645 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
3646 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3647
3648 commit b9a8ce596cba9f5161769ca0408c71f8e6a059c7
3649 Author: Alexey Kuznetsov <alexey@openvz.org>
3650 Date: Sat Feb 27 16:57:54 2010 +0300
3651
3652 vzdq: swap noquota
3653
3654 swap_inode did not do anything for inodes not covered by vzquota,
3655 which was wrong. F.e. mkdir, which creates inode with i_blocks!=0,
3656 triggered message "detached inode not in creation".
3657
3658 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3659
3660 commit 20d11fba2ae882456b343ae78f466e27cc19d000
3661 Author: Alexey Kuznetsov <alexey@openvz.org>
3662 Date: Sat Feb 27 16:57:54 2010 +0300
3663
3664 vzdq: nfs support
3665
3666 It works differently and requires different interface.
3667 Block accounting and quota check are separate now, we account
3668 without checks and check for space in places, where an operation
3669 could allocate more space.
3670
3671 Chunk-by-chunk:
3672
3673 1. Added new operation - swap_inode. Normally, virtual inode
3674 is created/accounted/checked simultaneously. It is impossible for NFS.
3675 So, each operation creating a new inode starts from allocating
3676 space in quota using a dummy inode. If the operation succeeds and real
3677 inode is created, we swap quota accounting information.
3678 TODO: optimize out dummy inode. All that we need is qlnk.
3679
3680 2. DQUOT_CHECK_SPACE() to check that quota is not full.
3681
3682 3. DQUOT_SYNC_BLOCKS() to resync i_blocks obtained from NFS server
3683 with our accounting.
3684
3685 4. is_nfs_root(). NFS does not have root inode. Instead each mount
3686 has pointer to a disconnected inode. vzquota has to undestand this.
3687
3688 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3689
3690 commit fd4f6b28860495f939f10abfaec8f255797a4fe8
3691 Author: Alexey Kuznetsov <alexey@openvz.org>
3692 Date: Sat Feb 27 16:57:53 2010 +0300
3693
3694 vzdq: fix oops is inode_drop_call
3695
3696 I suppose this happens when vzcache moves to template a file,
3697 which was not under vzquota.
3698 Bug #97782
3699
3700 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3701
3702 commit 71208971e69657168517194564e045781b054526
3703 Author: Denis Lunev <den@openvz.org>
3704 Date: Sat Feb 27 16:57:53 2010 +0300
3705
3706 simfs: statfs on root
3707
3708 Do not use s_root dentry of underlying for statfs
3709 The real problem is that s_root on the NFS super block is a crap.
3710 Unfortunately, the original dentry (which is asked to be statfs-ed)
3711 is not available at this point. The only visible solution for this
3712 is to use the dentry to which simfs is point to.
3713
3714 Signed-off-by: Denis V. Lunev <den@parallels.com>
3715 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
3716 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3717
3718 commit 11d902b2933c3292b8e1305e38e37c6419cb9cf2
3719 Author: Konstant Khorenko <khorenko@openvz.org>
3720 Date: Sat Feb 27 16:57:52 2010 +0300
3721
3722 virtinfo hook in daemonize
3723
3724 #427726
3725
3726 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3727
3728 commit 95a5273372efb164d0b3a4ab6eefca8b671d13e4
3729 Author: Andrey Mirkin <major@openvz.org>
3730 Date: Sat Feb 27 16:57:52 2010 +0300
3731
3732 virtinfo add cpttest
3733
3734 Add VIRTINFO_SCP_TEST event to virtinfo calls
3735
3736 This will be responsible for checking CPT features
3737 during checkpoint/restore process.
3738
3739 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3740
3741 commit e2e5984d43c91b3aa674123af73849e9643bffb3
3742 Author: Konstantin Khorenko <khorenko@openvz.org>
3743 Date: Sat Feb 27 16:57:52 2010 +0300
3744
3745 ve-proc: fake sysrq trigger
3746
3747 Add dummy /proc/sysrq-trigger file inside a Container
3748
3749 Oracle 11g Release 1 RAC tries to open one and refuses to start on fail.
3750 Writing to the file inside a CT leads to nothing, first 10 writes are logged.
3751
3752 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
3753 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3754
3755 commit fc17c7e942ccbcf6909ef9fdb7c4f170acaf1d72
3756 Author: Vitaliy Gusev <vgusev@openvz.org>
3757 Date: Sat Feb 27 16:57:51 2010 +0300
3758
3759 ve-proc: add devices
3760
3761 Proc: add empty /proc/devices to CT
3762
3763 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3764
3765 commit 3cfd7ac2a553a88af0053a59ac9870f1ce82760f
3766 Author: Denis Lunev <den@openvz.org>
3767 Date: Sat Feb 27 16:57:51 2010 +0300
3768
3769 ve: decrease ve_struct size in case of huge nr_cpus
3770
3771 kstat_lat_pcpu_struct contains array of NR_CPUS elements.
3772 Replace it with alloc_percpu data which helps to keep ve_struct
3773 relatively small and prevents allocation fails of huge order.
3774
3775 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3776
3777 commit 010370ec6b62618648c8b8882d3887e5e4073fc8
3778 Author: Pavel Emelyanov <xemul@openvz.org>
3779 Date: Mon Apr 26 17:22:10 2010 +0400
3780
3781 percpu: Return ve0/ub0 percpu-s back
3782
3783 With the DEFINE_PER_CPU and init-s made in proper place we can
3784 use them as alloc_percpu-ed ones.
3785
3786 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3787
3788 commit 541c4b4da4f9c522593f3fd622e5d20fa6a6b294
3789 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
3790 Date: Sat Feb 27 16:57:51 2010 +0300
3791
3792 ve: fix fs umount at ct stop
3793
3794 Don't umount some mount multiple times on ct stop
3795
3796 umount_tree kill argument must be empty list,
3797 otherwise it can detach each vfsmount multiple times and
3798 produce negative d_mounted count on mountpoint dentry.
3799
3800 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
3801 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3802
3803 commit 543578c2947332cda5aea3b195c4d6a80a3d317b
3804 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
3805 Date: Sat Feb 27 16:57:50 2010 +0300
3806
3807 ve: ptys idr mem leak
3808
3809 Plug minor memory leak in idr_layer_cache slab on ve start-stop
3810
3811 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
3812 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3813
3814 commit 965adae71aaa774796aeac8087806b77bbb0709f
3815 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
3816 Date: Sat Feb 27 16:57:50 2010 +0300
3817
3818 ve: tmpfs virtualize default size
3819
3820 set default size to half of physpages from meminfo
3821
3822 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
3823 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3824
3825 commit 79c0a2ab51af39b665f7e8162c26c5573eca1872
3826 Author: Denis Lunev <den@openvz.org>
3827 Date: Sat Feb 27 16:57:50 2010 +0300
3828
3829 ve: meminfo dont use subub
3830
3831 Get parent UB instead of sub-group one to calculate usage
3832
3833 Signed-off-by: Denis V. Lunev <den@openvz.org>
3834 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
3835 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3836
3837 commit 223f044cc32146df3a5f6dc61aab2bd053277de8
3838 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
3839 Date: Sat Feb 27 16:57:50 2010 +0300
3840
3841 ve: move veinfo to vzmon
3842
3843 Since some people wish to run openvz w/o venet device, but
3844 vzlist tool relies on /proc/vz/veinfo file presence, vzmon
3845 module is a better place for this file.
3846
3847 http://bugzilla.openvz.org/show_bug.cgi?id=394
3848
3849 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
3850 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3851
3852 commit f267ef18a62f50bd5293a876e43b89467c8253f4
3853 Author: Pavel Emelianov <xemul@openvz.org>
3854 Date: Sat Feb 27 16:57:49 2010 +0300
3855
3856 ve: virtualize binfmt-misc
3857
3858 Nothing special. SUN jdk complains since can't use binfmt.
3859 Not serious and java surely works fine w/o it, but just to
3860 make it and its users happy let's virtualize binfmt_misc.
3861
3862 Signed-off-by: Pavel Emelianov <xemul@openvz.org>
3863 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3864
3865 commit 1ff4faada1dabfdc4592e2824ce53a357373c83e
3866 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
3867 Date: Sat Feb 27 16:57:49 2010 +0300
3868
3869 bc: pb hash cookie
3870
3871 add random hash cookie to ub to use in pb_hash instead of non-random ub_uid
3872
3873 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
3874 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3875
3876 commit 31f588463c8294df47ff6357829b286abd580782
3877 Author: Marat Stanichenko <mstanichenko@openvz.org>
3878 Date: Sat Feb 27 16:57:49 2010 +0300
3879
3880 bc: uncharge files harder
3881
3882 There is a chance when we do not start uncharging because
3883 ub_barrier_farnr() is not hit for UB_NUMFILE and ub_barrier_farsz()
3884 is not hit for UB_KMEMSIZE (SLM for example set ubc barrier to a
3885 huge value).
3886
3887 This fact can lead us to the situation when two tasks are able
3888 to consume all of UB_NUMFILE and UB_KMEMSIZE despite they close
3889 opened files.
3890
3891 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
3892 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3893
3894 commit 76cd7c1686940c2eeef94926e978b8893f9bb9e2
3895 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
3896 Date: Sat Feb 27 16:57:48 2010 +0300
3897
3898 ve: show proc swaps in ct
3899
3900 Fill the size/used values with the ones from the meminfo virtinfo notifier.
3901
3902 Show one fake swap partition (/dev/null) with the same size/used as in
3903 /proc/meminfo. If --meminfo == none show overall swap statisctics from HN.
3904
3905 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
3906 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3907
3908 commit bf8c54dbd1c7b09abdab952da58e1f2c8f439ea4
3909 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
3910 Date: Sat Feb 27 16:57:48 2010 +0300
3911
3912 ve: mangle swapinfo
3913
3914 Fill swap size/usage with data from UB_SWAPPAGES in meminfo notifier.
3915 Don't show swap if the limit is unlimited (default state).
3916
3917 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
3918 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3919
3920 commit 1c2b5b4b1cbaafa707cb56da94dd5099dbdcc73d
3921 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
3922 Date: Sat Feb 27 16:57:48 2010 +0300
3923
3924 cpt: bc resources array
3925
3926 restore only bc resources really presented in cpt image.
3927
3928 store UB_RESOURCES in cpt_beancounter_image while checkpointing.
3929 (leave all new added resources with default limits filled at bc alloc)
3930
3931 change cpt_content of cpt_beancounter_image to CPT_CONTENT_ARRAY to detect
3932 structure version without bumping cpt image version, because in old images
3933 __cpt_pad field (reused for cpt_ub_resources) uninitilized.
3934
3935 add missed error handling inside rst_undump_ubc -- toss errors
3936 from restore_one_bc to higher level.
3937
3938 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
3939 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3940
3941 commit 7b8bbb51527e58abadcd0eeb3e7103ba4048a57f
3942 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
3943 Date: Sat Feb 27 16:57:47 2010 +0300
3944
3945 bc-swap: add swappages bc resource
3946
3947 The limit value will be used as configured CT swap size to show
3948 in /proc/swaps and /proc/meminfo. Default is UB_MAXVALUE
3949
3950 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
3951 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3952
3953 commit e7416bee163fb262076d9b7dfa93c0dbf304891d
3954 Author: Pavel Emelianov <xemul@openvz.org>
3955 Date: Sat Feb 27 16:57:47 2010 +0300
3956
3957 bc-rss: show how much page beancounters each bc has
3958
3959 Essentially, this is the per-UB rss value calculated
3960 (unline physpages and privvmpages) w/o taking sharing
3961 into account.
3962
3963 With this statistics (shown via /proc/bc/XXX/vmaux:rss)
3964 we can evaluate the portion of pages, that are shared
3965 accross beancounters (i.e. CTs) like this:
3966
3967 (\sum (bc.rss + bc.tmpfs_respages) - \sum (bc.physpages)) /
3968 (\sum (bc.rss + bc.tmpfs_respages))
3969
3970 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
3971 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3972
3973 commit b03577fcbea66508aca033f9c9c78bc060c02c24
3974 Author: Denis Lunev <den@openvz.org>
3975 Date: Sat Feb 27 16:57:47 2010 +0300
3976
3977 bc-ioacct: define page_io_mark in right place
3978
3979 fix compilation without CONFIG_BC_IO_ACCOUNTING
3980
3981 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
3982 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3983
3984 commit 35fe6d0b31e36227f572550dff53154491760fb1
3985 Author: Marat Stanichenko <mstanichenko@openvz.org>
3986 Date: Sat Feb 27 16:57:47 2010 +0300
3987
3988 bc-ioprio: sys_ioprio_set lost unlock
3989
3990 sys_ioprio_set() may exit without releasing tasklist_lock. Fix it.
3991
3992 Acked-by: Pavel Emelyanov <xemul@openvz.org>
3993 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
3994 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
3995
3996 commit 2cba7730c015206352563731d9f25cd027bd88f5
3997 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
3998 Date: Sat Feb 27 16:57:45 2010 +0300
3999
4000 ve-proc: fix root entry nlink
4001
4002 * Add entries from local tree, similar as in proc_getattr;
4003 * Use per-ve process count for VE's root, rather than the
4004 total number of processes in the system.
4005
4006 All of the above is an upper estimation, that is perfectly
4007 fine with 'find' utlity.
4008
4009 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
4010 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4011
4012 commit a2a22de6b8939570239c99973d3be7fb2eb4e70a
4013 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
4014 Date: Sat Feb 27 16:57:45 2010 +0300
4015
4016 ve-proc: fix nlink in getattr
4017
4018 Fix nlink correction in proc_getattr
4019 and change it right in the stat buffer insted of inode nlink
4020
4021 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
4022 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4023
4024 commit f665309226859e081bcae5c0c7fd3a3bdd9ecfbc
4025 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
4026 Date: Sat Feb 27 16:57:45 2010 +0300
4027
4028 bc-proc: bc nlink count
4029
4030 Override getattr callback on /proc/bc and ubc entries to get correct nlink.
4031
4032 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
4033 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4034
4035 commit 85051b1c71ad37949ef448ff8ddb342b75d706b0
4036 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
4037 Date: Sat Feb 27 16:57:45 2010 +0300
4038
4039 bc-proc: add bc and sub-bc counters
4040
4041 Add counter of ubc, protected with ub_hash_lock.
4042 Needed for correct proc n_link calculation.
4043
4044 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
4045 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4046
4047 commit d5ee7014d3f4995249cdadf3d00d1be778a3b10a
4048 Author: Pavel Emelianov <xemul@openvz.org>
4049 Date: Sat Feb 27 16:57:44 2010 +0300
4050
4051 bc-proc: fix sub-bc inode number
4052
4053 fix subbeancounter inode number calculations in /proc/bc
4054
4055 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
4056 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4057
4058 commit b93ef081a586e08e226273599bcf7800907c731b
4059 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
4060 Date: Sat Feb 27 16:57:44 2010 +0300
4061
4062 simfs: compilation without quota
4063
4064 fix simfs compilation if CONFIG_QUOTA=n
4065
4066 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
4067 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4068
4069 commit 4fa1e482478bcde0552e9a97db1ddca620ebbe05
4070 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
4071 Date: Sat Feb 27 16:57:43 2010 +0300
4072
4073 sysrq: smp nmi show regs v2
4074
4075 Rework nmi show regs, make it clean and tollerable to nmi ipi losts.
4076
4077 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
4078 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4079
4080 commit cab0d970b18692b61e62e2095392e63c5097bf29
4081 Author: Pavel Emelyanov <xemul@openvz.org>
4082 Date: Mon Apr 26 15:09:43 2010 +0400
4083
4084 sysrq: revert nmi ipi callback
4085
4086 next patch will implement this in less intrusive manner,
4087 and without deadlocks at nmi ipi loss
4088
4089 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4090
4091 commit 6b5607eeec54fcef60c25fa7a72bc30f69446933
4092 Author: Pavel Emelyanov <xemul@openvz.org>
4093 Date: Fri Apr 16 12:34:01 2010 +0400
4094
4095 timers: Don't take task from the pid field of timer
4096
4097 http://bugzilla.openvz.org/show_bug.cgi?id=1461
4098
4099 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4100
4101 commit 8893da4d5000630819ce4f5edf5bb71c8f65c01c
4102 Author: Pavel Emelyanov <xemul@openvz.org>
4103 Date: Thu Apr 15 17:25:09 2010 +0400
4104
4105 netfilter: Add headers missed by the previous commit
4106
4107 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4108
4109 commit f360aa43e0782543a6e8fece20b71ec25ef36568
4110 Author: Cyrill Gorcunov <gorcunov@openvz.org>
4111 Date: Mon Apr 12 23:41:46 2010 +0400
4112
4113 netfilter: Restore match/target support for revision 0
4114
4115 Revision 0 is still used in our VE templates (iptables-1.3.5)
4116 so we just can't drop this kind of support. Bring them back.
4117
4118 What is restored:
4119
4120 - target "CONNMARK"
4121 - target "TOS"
4122 - target "MARK"
4123 - match "connmark"
4124 - match "tos"
4125 - match "iprange"
4126 - match "mark"
4127 - match "owner"
4128
4129 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
4130 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4131
4132 commit 81959d6fac075a62150d9e726f27e09254b3cf0e
4133 Author: Pavel Emelyanov <xemul@openvz.org>
4134 Date: Thu Apr 8 21:28:03 2010 +0400
4135
4136 OpenVZ kernel 2.6.32-atkov released
4137
4138 Named after Oleg Yur'yevich At'kov - a Russian cosmonaut.
4139
4140 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4141
4142 commit b97a0293d29009398eb7abd2e9887ab64741b98d
4143 Merge: 44e953b 1b6e168
4144 Author: Pavel Emelyanov <xemul@openvz.org>
4145 Date: Thu Apr 8 21:24:36 2010 +0400
4146
4147 Merged 2.6.32.11
4148
4149 Conflicts:
4150
4151 Makefile
4152
4153 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4154
4155 commit 44e953b5f69888d88ceaa236ddb41086404a9dbd
4156 Author: Cyrill Gorcunov <gorcunov@openvz.org>
4157 Date: Thu Apr 8 18:59:26 2010 +0400
4158
4159 netfilter: xtables: Return xt_conntrack v0 back
4160
4161 In commit 9e05ec4b1804a1ba51f61fe169aef9b86edcd3f7
4162 the revision 0 of xt_conntrack was dropped which made
4163 iptables-1.3.5 not funtional in VE.
4164
4165 Return compatibility back.
4166
4167 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
4168 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4169
4170 commit 451c01314a07c01e55e79a8134e0adc55a584465
4171 Author: Cyrill Gorcunov <gorcunov@openvz.org>
4172 Date: Mon Mar 29 01:50:51 2010 +0400
4173
4174 iptables: Tables should be checked for permission via mask only
4175
4176 The sequence of module loading is not controllable by the kernel anymore
4177 (due to KSYM removal). As result we may fail testing if dependant module is
4178 already loaded(allowed for usage via config) at moment of granting the module
4179 permissions to run in particular VE.
4180
4181 Instead the _MOD bits are used as flags pointing out that netns is borrowing
4182 some resources and we need to release them at exit (we can't just fail in
4183 netns init/fini routines otherwise VE would not start at all).
4184
4185 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
4186 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4187
4188 commit ea5540ba9694531c6a74092c29f5e61e393b9ac8
4189 Author: Cyrill Gorcunov <gorcunov@openvz.org>
4190 Date: Mon Mar 29 01:15:52 2010 +0400
4191
4192 netfiler: Introduce per-net stubs for l3proto_ipv4
4193
4194 Prepare ground for future l3proto_ipv4 virtualization.
4195 This snippets only setup pernet ops without any serious actions.
4196 We still need to make sysctls netns compatible.
4197
4198 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
4199 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4200
4201 commit 2cf066b2d96b58e1594965d102d48cd3eb6d6168
4202 Author: Cyrill Gorcunov <gorcunov@openvz.org>
4203 Date: Sun Mar 28 03:24:36 2010 +0400
4204
4205 netfilter: Do not create NAT rules if not allowed
4206
4207 In case if NAT is not allowed in particular VE we just drop the creation
4208 of tuples for such VE (this way dropping this functionality).
4209
4210 Note that there is no need for setting up VE_NF_CONNTRACK_MOD in
4211 nf_conntrack_net_init. We are going to get rid of module dependency checking
4212 by completely switch to net-namespace functionality.
4213
4214 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
4215 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4216
4217 commit 8d9ba8b69ff82a2c335f2cf860265b5240460228
4218 Author: Pavel Emelyanov <xemul@openvz.org>
4219 Date: Tue Apr 6 20:09:50 2010 +0400
4220
4221 meminfo: Initialize mi.si before passing it to virtinfo
4222
4223 Otherwise the listener (vecalls.c) will see grbage and may produce
4224 bullshit in ve's /proc/meminfo
4225
4226 http://bugzilla.openvz.org/show_bug.cgi?id=1487
4227
4228 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4229
4230 commit 3e16fd3fd9101ef59d38d60b989b62cb9a11df2b
4231 Author: Sven-Haegar Koch <mail-openvz@sdinet.de>
4232 Date: Tue Apr 6 15:39:02 2010 +0400
4233
4234 Fix compile error in mm/slab.c
4235
4236 Commit f385db6d4 (MM: Kmemsize accounting bits) introduced a syntax
4237 error into mm/slab.c:
4238
4239 CC mm/slab.o
4240 mm/slab.c: In function 'alloc_slabmgmt':
4241 mm/slab.c:2687: error: too few arguments to function 'kmem_cache_alloc_node
4242 mm/slab.c:2687: warning: left-hand operand of comma expression has no effec
4243 mm/slab.c:2687: warning: statement with no effect
4244 mm/slab.c:2687: error: expected ';' before ')' token
4245 mm/slab.c:2687: error: expected statement before ')' token
4246 make[1]: *** [mm/slab.o] Error 1
4247 make: *** [mm] Error 2
4248
4249 http://bugzilla.openvz.org/show_bug.cgi?id=1486
4250
4251 Signed-off-by: Sven-Haegar Koch <mail-openvz@sdinet.de>
4252 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4253
4254 commit 2a40c7f120c9239ffa4cf7b151974351c2f54796
4255 Author: Cyrill Gorcunov <gorcunov@openvz.org>
4256 Date: Sun Mar 28 01:44:02 2010 +0300
4257
4258 iptables, nat: Add missing flag that namespace is used
4259
4260 Otherwise we may leak the namespace resource.
4261
4262 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
4263 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4264
4265 commit 5186a0a6d011e4b8c2bbd2ca4cf1aa40507e2078
4266 Author: Pavel Emelyanov <xemul@openvz.org>
4267 Date: Mon Apr 5 14:28:45 2010 +0400
4268
4269 cpt: Save and restore task_user_gs().
4270
4271 Without it 32bit container stops right after the restore
4272 due to #GP.
4273
4274 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4275
4276 commit 14a9729fab679c9c9f15e2ff44070806247b62c5
4277 Author: Pavel Emelyanov <xemul@openvz.org>
4278 Date: Fri Apr 2 23:00:10 2010 +0400
4279
4280 inotify: Return lost mntputs for inotify mnts
4281
4282 Otherwise we leak the mountpoint and sometimes much more.
4283
4284 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4285
4286 commit 0b1c1e340b9008360e0a0d4083702ec8546ec1bd
4287 Author: Pavel Emelyanov <xemul@openvz.org>
4288 Date: Fri Apr 2 22:59:12 2010 +0400
4289
4290 cpt: Fix 32bit version of cpt kernel thread creation
4291
4292 http://bugzilla.openvz.org/show_bug.cgi?id=1482
4293
4294 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4295
4296 commit 760a36fb468201cb4964c7a542172bda941fe755
4297 Author: Pavel Emelyanov <xemul@openvz.org>
4298 Date: Fri Apr 2 16:21:41 2010 +0400
4299
4300 devcg: Check for device permissions for DEV_ALL rules
4301
4302 Thanks to cd500819 commit :\
4303
4304 http://bugzilla.openvz.org/show_bug.cgi?id=1478
4305
4306 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4307
4308 commit e6ad27ee6e87614512d44074d841df822453dda7
4309 Author: Cyrill Gorcunov <gorcunov@openvz.org>
4310 Date: Thu Mar 25 19:47:32 2010 +0300
4311
4312 iptables: Restore NAT functionality for node
4313
4314 During migration to new iptables management code
4315 VE0 lost NAT table access. Restore it. Moreover
4316 VE0 gets highest priviledge -- ie all iptables
4317 functionality is not filtering.
4318
4319 http://bugzilla.openvz.org/show_bug.cgi?id=1473
4320
4321 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
4322 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4323
4324 commit 796e80e5b2edff524f40a608be511143b4c8c828
4325 Author: Pavel Emelyanov <xemul@openvz.org>
4326 Date: Fri Mar 19 11:17:45 2010 +0300
4327
4328 OpenVZ kernel 2.6.32-afanasyev released
4329
4330 Named after Viktor Mikhailovich Afanasyev - a Russian cosmonaut.
4331
4332 commit 97ae2f923c11e4cc83436878cdf5262781ae17d1
4333 Author: Pavel Emelyanov <xemul@openvz.org>
4334 Date: Mon Mar 22 17:14:57 2010 +0300
4335
4336 net: Virtualize tcp orphan count back
4337
4338 This oopsed before the previous fix.
4339
4340 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4341
4342 commit 5ae2ad90d7bbe29ea299955fad28491fedf10468
4343 Author: Pavel Emelyanov <xemul@openvz.org>
4344 Date: Mon Mar 22 17:14:23 2010 +0300
4345
4346 bc: Don't re-initialize BC after orphan count allocaiton
4347
4348 And do a small code rework.
4349 http://bugzilla.openvz.org/show_bug.cgi?id=1471
4350
4351 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4352
4353 commit 1a8072e88d55070bd78fe960c6db36e5af61ea85
4354 Author: Pavel Emelyanov <xemul@openvz.org>
4355 Date: Mon Mar 22 17:13:48 2010 +0300
4356
4357 mm: Don't charge failed allocaiton
4358
4359 I.e. don't oops :\
4360
4361 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4362
4363 commit f27cf7344f66277fc44462d2880d8a43c17f59ac
4364 Author: Pavel Emelyanov <xemul@openvz.org>
4365 Date: Fri Mar 19 12:06:09 2010 +0300
4366
4367 Compilation fix for ftrace
4368
4369 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4370
4371 commit 026c0e96af23e154b741645fe2d61a0278451268
4372 Author: Pavel Emelyanov <xemul@openvz.org>
4373 Date: Thu Mar 18 19:30:31 2010 +0300
4374
4375 cpt: Add support for sit, ipip and ipgre tunnels.
4376
4377 These patches were dropped during port on 2.6.26 (!) and now
4378 it's time to resurrect them.
4379
4380 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4381
4382 commit db266821b6c7f7ee39b97fe58fd336b04d7d689f
4383 Author: Pavel Emelyanov <xemul@openvz.org>
4384 Date: Thu Mar 18 18:35:01 2010 +0300
4385
4386 ve: Get rid of ksyms completely
4387
4388 The last user of it (do_env_free) is easy due to module refcounting
4389 kinda working properly ;)
4390
4391 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4392
4393 commit 69309430a023aa75a73c8ebd5b1952e733cd1c6a
4394 Author: Cyrill Gorcunov <gorcunov@openvz.org>
4395 Date: Thu Mar 18 18:05:01 2010 +0300
4396
4397 iptables: rework module management in VE v3
4398
4399 Most of xt_ tables are per-net compatible so there is no need
4400 to put an access restriction on them from a VE.
4401
4402 Typically we need to restrict access to certan netfilter tables:
4403 "nat", "forward", "mangle" and "conntrack".
4404
4405 Note the "conntrack" is not covered by this patch yet, ie it's
4406 allowed in VE regardless the VE configuration.
4407
4408 Technical details of the patch
4409
4410 1) nfcalls.h is almost completely not needed anymore
4411 but we still have one user of it ve.c + vecalls.c
4412
4413 2) VE_IPT_CMP macro is wrapped with inline helper mask_ipt_allow
4414 which allow to check types passed in at compile time
4415
4416 3) net_ipt_module_set code beautification
4417
4418 4) ve_xt_table_forbidden inline helper introduced. It wraps open
4419 coded NULL pointer check in a sake of "grep"ability (pointing
4420 out that the check is not a mainline code)
4421
4422 5) vziptable_defs.h has been re-made in a sake of easier reading.
4423 Backward compatibility preserved.
4424
4425 6) VE_IP_ALL introduced to be used instead of opencoded "all allowed"
4426 mask.
4427
4428 7) no_module global variable is no longer needed, we don't use legacy
4429 symbol resolution technique. Net namespaces do all work for us by
4430 own.
4431
4432 8) Because of vzmon being a module we need do_env_free_hook (side effect
4433 of removing KSYMs) and vzmon_mod pointer as well.
4434
4435 9) We no longer need init_ve_iptables, do_ve_iptables and fini_ve_iptables.
4436 The reason the same as in (7)
4437
4438 10) And finally "nat", "forward", "mangle" tables are controlled via
4439 VE configuration.
4440
4441 TODO
4442
4443 1) Contol "conntrack" table via VE configuration supplied.
4444 2) Get rid of KSYM completely
4445
4446 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
4447 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4448
4449 commit d95919fda88c144bac75019f692c3f2f8e2b9d2e
4450 Author: Pavel Emelyanov <xemul@openvz.org>
4451 Date: Wed Mar 17 15:56:18 2010 +0300
4452
4453 config: Disable DEVTMPFS
4454
4455 http://bugzilla.openvz.org/show_bug.cgi?id=1469
4456
4457 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4458
4459 commit f492a5013944b559cd809565250df2027dbb2c51
4460 Author: Pavel Emelyanov <xemul@openvz.org>
4461 Date: Tue Mar 16 14:34:19 2010 +0300
4462
4463 printk: Don't forget to reset printk_cpu
4464
4465 http://bugzilla.openvz.org/show_bug.cgi?id=1460
4466
4467 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4468
4469 commit e3b97ad1f30de13c1a752522b4b75966ef515bab
4470 Merge: b3e334e dd49f62
4471 Author: Pavel Emelyanov <xemul@openvz.org>
4472 Date: Tue Mar 16 13:51:38 2010 +0300
4473
4474 Merge 2.6.32.10 from git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.32.y
4475
4476 Conflicts:
4477
4478 Makefile
4479 fs/namei.c
4480
4481 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4482
4483 commit b3e334e592eeb6880b31ee327eab438328753949
4484 Author: Pavel Emelyanov <xemul@openvz.org>
4485 Date: Mon Mar 15 16:09:54 2010 +0300
4486
4487 cpt: Don't check for rtnl reply len on error
4488
4489 This kernel reports cumulative len (error + original) when returning
4490 an error and thus this check is wrong.
4491
4492 OTOH, checking the message type is enough, this check is also unneeded :)
4493
4494 http://bugzilla.openvz.org/show_bug.cgi?id=1456
4495
4496 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4497
4498 commit 727b3d18ef931d2f84c3e4588c6d6fa6a0ac7e51
4499 Author: Pavel Emelyanov <xemul@openvz.org>
4500 Date: Mon Mar 15 15:28:50 2010 +0300
4501
4502 sched: Fix loadaverage statistics
4503
4504 The nr_unint count only increased which resulted in broken
4505 loadavg statistics for container.
4506
4507 http://bugzilla.openvz.org/show_bug.cgi?id=1459
4508
4509 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4510
4511 commit f6e9bb6efeb9b6d9e527dac472111ba313a0f2c5
4512 Author: Pavel Emelyanov <xemul@openvz.org>
4513 Date: Mon Mar 15 14:44:26 2010 +0300
4514
4515 ioclt: Print compat errors to ve's log
4516
4517 http://bugzilla.openvz.org/show_bug.cgi?id=1455
4518
4519 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4520
4521 commit 83b44fc83ece6763cfc53c05e7a37cabc69a085b
4522 Author: Cyrill Gorcunov <gorcunov@openvz.org>
4523 Date: Mon Mar 15 11:58:08 2010 +0300
4524
4525 xt_recent: Fix missing member build bug
4526
4527 proc_old_dir was occasionally deleted which leads
4528 to build failure. Restore it.
4529
4530 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
4531 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4532
4533 commit fc9b8cc0d03647d97224af6eaa587aebc9f2c07a
4534 Author: Pavel Emelyanov <xemul@openvz.org>
4535 Date: Fri Mar 12 17:14:08 2010 +0300
4536
4537 sysfs: Fix error in sysfs deprecation
4538
4539 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4540
4541 commit 0af39b9f83a556aae4a78744416a9d4af16109ba
4542 Author: Pavel Emelyanov <xemul@openvz.org>
4543 Date: Fri Mar 12 17:02:26 2010 +0300
4544
4545 vzdq: Moved vzdq to fs/quota/vzdquota dir
4546
4547 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4548
4549 commit f40134386ccead91baafb8c48690463bf6dd7845
4550 Author: Pavel Emelyanov <xemul@openvz.org>
4551 Date: Fri Mar 12 16:17:07 2010 +0300
4552
4553 sysfs: Make dynamic sysfs deprecation
4554
4555 sysfs has two layouts controlled by CONFIG_SYSFS_DEPRECATED_V2
4556 build option, but this is not an option for openvz - it should
4557 work on both old and new distros.
4558
4559 The old_sysfs boot option allows to select the sysfs layout to
4560 be used on host system.
4561
4562 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4563
4564 commit 36550b06fe97dc87b4ea91c27139016adca6f1c2
4565 Author: Pavel Emelyanov <xemul@openvz.org>
4566 Date: Fri Mar 12 13:48:10 2010 +0300
4567
4568 BC: Fix lockedpages discrpancy
4569
4570 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4571
4572 commit 7f92d5fa22a7564acd73a5b97b69a420ff1373ee
4573 Author: Pavel Emelyanov <xemul@openvz.org>
4574 Date: Fri Mar 12 13:21:28 2010 +0300
4575
4576 conf: Ban freezer and cpuacct cgroups.
4577
4578 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4579
4580 commit 32ee7c243edd57598550dbb02ca96b212810cd9e
4581 Author: Kir Kolyshkin <kir@openvz.org>
4582 Date: Fri Mar 12 13:10:22 2010 +0300
4583
4584 mm/swap_state.c: fix a compiler warning
4585
4586 Fix the following warning introduced by commit 5198e6ea:
4587 mm/swap_state.c: In function "add_to_swap":
4588 mm/swap_state.c:161: warning: ISO C90 forbids mixed declarations and code
4589
4590 Signed-off-by: Kir Kolyshkin <kir@openvz.org>
4591 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4592
4593 commit 6d267858ed5a189626b4c85fdb30642c01f8aa49
4594 Author: Maximilian Attems <max@stro.at>
4595 Date: Thu Mar 11 20:44:18 2010 +0100
4596
4597 memory failure: fix up openvz compilation
4598
4599 due to 801183f17814b0f99fa907ca73c7908d623e3beb
4600
4601 s/for_each_process/for_each_process_all/
4602
4603 Signed-off-by: Maximilian Attems <max@stro.at>
4604 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4605
4606 commit 7794fd2a2669b1f311df5b34908c71048181aa34
4607 Author: Pavel Emelyanov <xemul@openvz.org>
4608 Date: Thu Mar 11 21:12:47 2010 +0300
4609
4610 inotify: Remove debugging printk-s from previous patch
4611
4612 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4613
4614 commit 5fdc2442ff4cdc5c414d8444bad3901ebb57ff9d
4615 Author: Pavel Emelyanov <xemul@openvz.org>
4616 Date: Thu Mar 11 21:10:37 2010 +0300
4617
4618 CPT: Reimplement inotify support
4619
4620 The approach stays the same - inotify watch object is tagged
4621 with the path to the respective inode. No new tricks actually.
4622
4623 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4624
4625 commit 2b3eae114ee37e6a106802856ffc86be13fff6cc
4626 Author: Pavel Emelyanov <xemul@openvz.org>
4627 Date: Thu Mar 11 21:09:26 2010 +0300
4628
4629 BC: Create debugfs dentries in ub0 context
4630
4631 They are created for (e.g.) block devices internal objects. Thus,
4632 if some container opens one the corresponding dentry will pin the
4633 respective beancounter.
4634
4635 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4636
4637 commit a8e93f6687f7b3ee6e72c994750c52866322ef89
4638 Author: Pavel Emelyanov <xemul@openvz.org>
4639 Date: Thu Mar 11 21:07:56 2010 +0300
4640
4641 BC: Mark the fasync helpers cache as accountable
4642
4643 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4644
4645 commit 01dbf0ef9b8bb3c85c41a1227d89d9bc6a750446
4646 Author: Pavel Emelyanov <xemul@openvz.org>
4647 Date: Thu Mar 11 15:31:50 2010 +0300
4648
4649 inotify: Removed lost debugging that broke compilation
4650
4651 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4652
4653 commit 58dffccd8590ddc83fe857c0f34b29bcf96846e3
4654 Author: Cyrill Gorcunov <gorcunov@openvz.org>
4655 Date: Thu Mar 11 13:57:55 2010 +0300
4656
4657 cpt: dump_one_process -- get rid of _TIF_ABI_PENDING
4658
4659 It was removed by 05d43ed8a89c159ff641d472f970e3f1baa66318
4660
4661 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
4662 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4663
4664 commit 002fdeea3c2cff663452bb92035074bb8bbb84ac
4665 Author: Pavel Emelyanov <xemul@openvz.org>
4666 Date: Thu Mar 11 13:47:52 2010 +0300
4667
4668 inotify: Don't leak user struct on inotify release
4669
4670 The inotify_new_group receives a get_uid-ed user_struct and saves the
4671 reference on group->inotify_data.user. The problem is that the free_uid
4672 is never called on it.
4673
4674 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4675
4676 commit fed090200cfbc5d409eb9d29d0dc40e1c249a046
4677 Author: Pavel Emelyanov <xemul@openvz.org>
4678 Date: Thu Mar 11 12:37:54 2010 +0300
4679
4680 BC: Uncharge locked memory at task exit
4681
4682 Now the locked vma-s are unlocked before unmap-at-exit.
4683 Take this into account in order not to leak lockedpages.
4684
4685 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4686
4687 commit 96524bb0f3f624341dd8b70404ae209277c701ae
4688 Merge: 3beb2c5 7f5e918
4689 Author: Pavel Emelyanov <xemul@openvz.org>
4690 Date: Wed Mar 10 14:52:57 2010 +0300
4691
4692 Merge 2.6.32.9 from git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.32.y
4693
4694 Conflicts:
4695
4696 Makefile
4697 fs/exec.c
4698 include/linux/quota.h
4699 include/net/netfilter/ipv6/nf_conntrack_ipv6.h
4700 init/calibrate.c
4701 kernel/futex.c
4702 mm/mremap.c
4703 net/ipv4/netfilter/nf_nat_core.c
4704 net/ipv6/netfilter/nf_conntrack_l3proto_ipv6.c
4705 net/ipv6/netfilter/nf_conntrack_reasm.c
4706 net/netfilter/nf_conntrack_core.c
4707
4708 commit 3beb2c56e32523a7954ab3f5ce246112354302a5
4709 Author: Pavel Emelyanov <xemul@openvz.org>
4710 Date: Tue Mar 9 20:55:56 2010 +0300
4711
4712 BC: Don't uncharge orphaned SKBs
4713
4714 They are about to get their skparents soon.
4715
4716 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4717
4718 commit fee24e3bcb3ef22212e29e9ea66dbea5adc4934f
4719 Author: Pavel Emelyanov <xemul@openvz.org>
4720 Date: Tue Mar 9 00:32:56 2010 +0300
4721
4722 devpts: Virtualize devpts
4723
4724 Don't use the -o newinstance since it's idiotic approach - no
4725 distributions are ready for ptmx place in devpts.
4726
4727 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4728
4729 commit 33edc3590e81cc7266e6dc350bef93d0bd097c27
4730 Author: Pavel Emelyanov <xemul@openvz.org>
4731 Date: Tue Mar 9 00:31:46 2010 +0300
4732
4733 nsproxy: Clone task's nsproxy pid namespace
4734
4735 During ve creation time we need to clone net namespace
4736 later than others (proc issue), but by that time we don't
4737 have task's pids moved to new pid space.
4738
4739 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4740
4741 commit ef3d6f4fd66d324a46dde365bdeb0d82ae6299dd
4742 Author: Pavel Emelyanov <xemul@openvz.org>
4743 Date: Tue Mar 9 00:30:12 2010 +0300
4744
4745 UB: Fix per-UB orphan count
4746
4747 First - initialize ub0 one
4748 Second - temporarily ban per-UB since it oopses for yet unknown reason
4749
4750 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4751
4752 commit d1f6b41859d20465ff2bc8fd8e2baf64dfb3a7b2
4753 Author: Pavel Emelyanov <xemul@openvz.org>
4754 Date: Tue Mar 9 00:29:34 2010 +0300
4755
4756 autofs: Switch dev ioctl to handle new pid reference
4757
4758 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4759
4760 commit 51417889da6dff28c32ffac459b2fdcbce609615
4761 Author: Pavel Emelyanov <xemul@openvz.org>
4762 Date: Tue Mar 9 00:29:13 2010 +0300
4763
4764 ve: Fix oops in ve percpu stats
4765
4766 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4767
4768 commit 0cfcfacd9aa0f0f25a834e74cb34479e568f209d
4769 Author: Pavel Emelyanov <xemul@openvz.org>
4770 Date: Tue Mar 9 00:28:41 2010 +0300
4771
4772 user: Minor fixes for per-ve user_namespace
4773
4774 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4775
4776 commit ace19e2fda3b73ab37bb8bed75c4281866dc1b9e
4777 Author: Pavel Emelyanov <xemul@openvz.org>
4778 Date: Tue Mar 9 00:27:04 2010 +0300
4779
4780 tcp: Switch tcp_v4_kill_ve_sockets to new nulls hash
4781
4782 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4783
4784 commit b95472e0485a55c1dd13b00c40f8b6f9726b5348
4785 Author: Pavel Emelyanov <xemul@openvz.org>
4786 Date: Sun Feb 28 20:34:57 2010 +0300
4787
4788 CPT: New netdev cpt/rst scheme
4789
4790 This is not only a "new cool design" but also a compilation fix.
4791 The new scheme is done in rhel5 kernel for all the devices we
4792 have. This one doesn't affect tunnels, but we'll do them later.
4793
4794 Only compilation is checked, since I don't have a good box atm.
4795
4796 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4797
4798 commit 983d7dc16bb875915dac21ca3066e785ebdf0cb6
4799 Author: Pavel Emelyanov <xemul@openvz.org>
4800 Date: Sun Feb 28 20:34:01 2010 +0300
4801
4802 CPT: Misc compilation bits
4803
4804 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4805
4806 commit 804d171fcbec07112bf438ce2d4f9366fae69cbb
4807 Author: Pavel Emelyanov <xemul@openvz.org>
4808 Date: Sun Feb 28 20:32:35 2010 +0300
4809
4810 CPT: Trivial networking cpt/rst compilation
4811
4812 Just switch to new variable names, new locking, etc.
4813
4814 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4815
4816 commit dadcd97c96e33796462a31e00c3a84c74a02425a
4817 Author: Pavel Emelyanov <xemul@openvz.org>
4818 Date: Sun Feb 28 20:27:17 2010 +0300
4819
4820 CPT: New rules of task_struct and Co manipulation
4821
4822 This includes:
4823 - tsk->cred object
4824 - signal->timers changes
4825 - task's pgrp/session restoration (signal struct doesn't have
4826 these IDs any longer)
4827
4828 The last item deserves a note: according to Alexey we restored
4829 task gid and sid in two steps - firt restore_one_signal_struct
4830 fixed up orphan pgrgs and sessions and later rst_process_linkage
4831 did the rest. This is shitty. The rst_process_linkage can do all
4832 the work by its own. Hopefully this implementation will work.
4833
4834 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4835
4836 commit 3d64a26d56c453967de03a7d59bebfca53baace4
4837 Author: Pavel Emelyanov <xemul@openvz.org>
4838 Date: Sun Feb 28 20:26:04 2010 +0300
4839
4840 CPT: New rules for VFS object manipulations
4841
4842 - file cred
4843 - dentry_open args
4844 - fs_struct refcount
4845
4846 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4847
4848 commit 263541a0557e7c193da15c511dbe5f493fd5fd85
4849 Author: Pavel Emelyanov <xemul@openvz.org>
4850 Date: Sun Feb 28 20:24:46 2010 +0300
4851
4852 CPT: Mm AIO list has changed
4853
4854 Rework CPT accordingly.
4855
4856 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4857
4858 commit c07bbe3184398421818e45e8b15338414f9b6407
4859 Author: Pavel Emelyanov <xemul@openvz.org>
4860 Date: Sun Feb 28 20:24:10 2010 +0300
4861
4862 CPT: Turn off inotifies support
4863
4864 The inotifies themselves has changed.
4865
4866 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4867
4868 commit 0bc314b75d7d7ed7506e2a8a190d66587b398b76
4869 Author: Pavel Emelyanov <xemul@openvz.org>
4870 Date: Sun Feb 28 20:18:26 2010 +0300
4871
4872 Export symbols for CPT
4873
4874 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4875
4876 commit 38a9b2d73336ddd8eb3a95f71bd14e83efb2933a
4877 Author: Pavel Emelyanov <xemul@openvz.org>
4878 Date: Sun Feb 28 20:16:29 2010 +0300
4879
4880 vzdq: Minor compilation fix
4881
4882 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4883
4884 commit 6775ea38231c3adefb37c8804dc1f92d157dbbf7
4885 Author: Pavel Emelyanov <xemul@openvz.org>
4886 Date: Sun Feb 28 20:15:11 2010 +0300
4887
4888 vecalls: User namespace is now created separately
4889
4890 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4891
4892 commit f2e0ec87c21362673bb087dbd35a2cb80657a995
4893 Author: Pavel Emelyanov <xemul@openvz.org>
4894 Date: Sat Feb 27 19:54:51 2010 +0300
4895
4896 Temporarily ban percpus for ub0 and ve0
4897
4898 The percpu allocator doesn't work that early.
4899
4900 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4901
4902 commit 8ae771d6a8110dca4edb4a0b1fba91fcee5d67bb
4903 Author: Pavel Emelyanov <xemul@openvz.org>
4904 Date: Sat Feb 27 19:54:14 2010 +0300
4905
4906 Fix class_kset access for ve0
4907
4908 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4909
4910 commit 696a26c8a79a54d7f7a1adf37aabe974c8ec5ce7
4911 Author: Pavel Emelyanov <xemul@openvz.org>
4912 Date: Fri Feb 26 20:09:49 2010 +0300
4913
4914 Compilation: One more header for x86_64
4915
4916 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4917
4918 commit 44709fd26a8187ec6ea098ef89bd09b2ffdb5d44
4919 Author: Pavel Emelyanov <xemul@openvz.org>
4920 Date: Fri Feb 26 18:39:59 2010 +0300
4921
4922 Compilation: Headers fixes
4923
4924 Missed, changed or misplaced.
4925
4926 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4927
4928 commit 7e3e2676d338551af81c4c5e1820c40898df4341
4929 Author: Pavel Emelyanov <xemul@openvz.org>
4930 Date: Fri Feb 26 18:39:27 2010 +0300
4931
4932 Compilation: Cover the 2.6.32 API changes
4933
4934 New functions, new constants, etc.
4935
4936 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4937
4938 commit 770ec7ef472f909386cf622e14fe77a50e407c5c
4939 Author: Pavel Emelyanov <xemul@openvz.org>
4940 Date: Fri Feb 26 18:34:52 2010 +0300
4941
4942 Compilation: Trivial mistakes performed while porting patches
4943
4944 Misprints, missed prototypes, missed function arguments, etc.
4945
4946 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4947
4948 commit 39f8db35fe7b88cded819a5cf87dba5a45a02400
4949 Author: Pavel Emelyanov <xemul@openvz.org>
4950 Date: Fri Feb 26 18:27:58 2010 +0300
4951
4952 VE: Remove ipv6mibs kludges
4953
4954 We have it netnsizated already.
4955
4956 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4957
4958 commit 84b7cad3268230c36539998e2293f71ca21622b5
4959 Author: Pavel Emelyanov <xemul@openvz.org>
4960 Date: Fri Feb 26 18:27:08 2010 +0300
4961
4962 VE: Remove devpts kludges
4963
4964 Will need to rework them.
4965
4966 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4967
4968 commit ac2d5d623a6ff183139643e5baa85438ffca3c5c
4969 Author: Pavel Emelyanov <xemul@openvz.org>
4970 Date: Fri Feb 26 18:26:19 2010 +0300
4971
4972 misc: Remove unused code fetched with port
4973
4974 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4975
4976 commit bad80e078f40bb43d6c7161f8cd4a7042562f9da
4977 Author: Pavel Emelyanov <xemul@openvz.org>
4978 Date: Fri Feb 26 18:24:25 2010 +0300
4979
4980 VE: Switch ve's init caps according to new creds api
4981
4982 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4983
4984 commit 5dd5ebdd7e1e1b0176e7c681697a81c219b24835
4985 Author: Pavel Emelyanov <xemul@openvz.org>
4986 Date: Fri Feb 26 18:22:36 2010 +0300
4987
4988 VZDQ: New sb->flags usage semantics
4989
4990 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
4991
4992 commit ed915c647d05d3bdddb4c96c42565f64b9af9dca
4993 Author: Pavel Emelyanov <xemul@openvz.org>
4994 Date: Fri Feb 26 18:21:10 2010 +0300
4995
4996 venet: Don't reset skb dst in xmit callback
4997
4998 This is done automatically now.
4999
5000 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5001
5002 commit 60e08953c7505aec749b62d36f42d293be014884
5003 Author: Pavel Emelyanov <xemul@openvz.org>
5004 Date: Fri Feb 26 18:19:56 2010 +0300
5005
5006 IPC: Use existing shmem_lock fn
5007
5008 And fix the one to charge pages properly.
5009
5010 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5011
5012 commit 944ca7eb47c57b230877eeda36fb569de9390d8e
5013 Author: Pavel Emelyanov <xemul@openvz.org>
5014 Date: Fri Feb 26 18:16:54 2010 +0300
5015
5016 venet: Switch venet and vzethdev to using net_device_ops
5017
5018 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5019
5020 commit d680fa424510524993ba1016aa4dd27b05817884
5021 Author: Pavel Emelyanov <xemul@openvz.org>
5022 Date: Fri Feb 26 18:15:13 2010 +0300
5023
5024 UB: Turn ub_orphan_count into percpu_counter
5025
5026 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5027
5028 commit 456684681e42f257ca1614be9871a4c23f17b2f8
5029 Author: Pavel Emelyanov <xemul@openvz.org>
5030 Date: Fri Feb 26 18:13:35 2010 +0300
5031
5032 Get rid of our static percpu kludges
5033
5034 We neither love them nor can implement with new percpu engine.
5035
5036 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5037
5038 commit bfda2fd34a32b692d130a68abf474c4965eb7898
5039 Author: Pavel Emelyanov <xemul@openvz.org>
5040 Date: Fri Feb 26 18:11:37 2010 +0300
5041
5042 BC: Get rid of ioprio finally
5043
5044 We don't have it working :(
5045
5046 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5047
5048 commit 1c32aca49a66448c44c2c525b91322e796d955ef
5049 Author: Pavel Emelyanov <xemul@openvz.org>
5050 Date: Fri Feb 26 18:10:20 2010 +0300
5051
5052 VZ: Turn vzmond thread into kthread API
5053
5054 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5055
5056 commit fcaea413672b6069ea397a708b2133c903282eff
5057 Author: Pavel Emelyanov <xemul@openvz.org>
5058 Date: Fri Feb 26 18:07:33 2010 +0300
5059
5060 tun: Don't use sock_alloc_send_pskb
5061
5062 We don't have pages accounting fixed properly for it.
5063
5064 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5065
5066 commit 6c0f99507e5dd78ac699c4e6266c85a6cbd2faa6
5067 Author: Vitaly Gusev <vgusev@openvz.org>
5068 Date: Tue Feb 9 20:22:01 2010 +0300
5069
5070 cpt: add signalfd support
5071
5072 http://bugzilla.openvz.org/show_bug.cgi?id=1424
5073
5074 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5075
5076 commit abddb6ad5d23542ae2880d2a0b211ae77657224f
5077 Author: Marat Stanichenko <mstanichenko@openvz.org>
5078 Date: Wed Feb 3 20:22:40 2010 +0300
5079
5080 printk_cpu have to be "cleared" in __vprintk (v2)
5081
5082 http://bugzilla.openvz.org/show_bug.cgi?id=1284
5083
5084 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5085
5086 commit 3aad60a7d9451a78d4b44c6539cae85d6ed799a5
5087 Author: Cyrill Gorcunov <gorcunov@openvz.org>
5088 Date: Wed Jan 20 21:18:47 2010 +0300
5089
5090 net,bridge: add support of VE_FEATURE_BRIDGE
5091
5092 Bridge should be available only on host node
5093 by default and VEs with a proper feature set.
5094
5095 Note: we reserve VE_FEATURE_IPGRE for now.
5096
5097 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
5098 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5099
5100 commit 7b3da8cc50f4abe02e8bd672e52015e5b186de50
5101 Author: Cyrill Gorcunov <gorcunov@openvz.org>
5102 Date: Wed Jan 20 21:04:11 2010 +0300
5103
5104 net,bridge: Allow bridged packets to cross VEX-VE0 bound
5105
5106 In case of bridged packets we should allow packets
5107 with spoofed MACs to cross VE0-VEX bound and back.
5108
5109 WARNING: As only vethX become a bridge port it's
5110 not secure anymore against sending\receiving packets with
5111 spoofed MAC address to\from HW node (ie VE0). So please
5112 be very careful in providing a VE with "bridge" feature
5113 turned on.
5114
5115 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
5116 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5117
5118 commit 5d26df93201509a12f890fb83559736196b98c9a
5119 Author: Cyrill Gorcunov <gorcunov@openvz.org>
5120 Date: Sun Jul 19 00:31:44 2009 +0400
5121
5122 net,vzethdev - reset bridge mark
5123
5124 If packet is emitted by a bridge we should
5125 clear BR_ALREADY_SEEN mark so it could be
5126 managed by a recipient.
5127
5128 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
5129 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5130
5131 commit ef8abb270578b9ec9362e6c77c055b16380ecedd
5132 Author: Cyrill Gorcunov <gorcunov@openvz.org>
5133 Date: Sun Jul 19 00:29:13 2009 +0400
5134
5135 net,vzethdev - don't assign skb->dev twice
5136
5137 skb->dev is assigned via eth_type_trans anyway
5138
5139 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
5140 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5141
5142 commit 41f7aa140793e8382ee2b4eeb9f2279bc2e0e973
5143 Author: Cyrill Gorcunov <gorcunov@openvz.org>
5144 Date: Sun Jul 19 00:26:31 2009 +0400
5145
5146 net,veth - reset skb->brmark in veth_xmit
5147
5148 If skb packet is marked as BR_ALREADY_SEEN and is going through
5149 VE (transit packet), then in the VE out this packet still be marked
5150 as BR_ALREADY_SEEN.
5151
5152 Signed-off-by: Vitaliy Gusev <vgusev@openvz.org>
5153 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
5154 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5155
5156 commit 56329ced6087f1611246fda8aa56366f1e126188
5157 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
5158 Date: Fri Jan 22 19:09:10 2010 +0300
5159
5160 CPT: new tap filter support
5161
5162 Tap filtering was reworked in mainstream commit f271b2cc.
5163 This patch adds support for it and a converter from the old image.
5164
5165 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
5166 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5167
5168 commit f841999e14c44a19f73ede27b083fa0e9439e53b
5169 Author: Pavel Emelyanov <xemul@openvz.org>
5170 Date: Tue Sep 9 19:14:18 2008 +0400
5171
5172 cpt: tun device has advanced filtering logic now
5173
5174 The old PROMISC-vs-addr-and-mac filter is now rewritten.
5175 Right now it's OK not to deal with it (hardly someone uses
5176 it so early).
5177
5178 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5179
5180 commit f6cc5e3de3217e2a580a41edac90f5a67aad33d7
5181 Author: Vitaly Gusev <vgusev@openvz.org>
5182 Date: Fri Jan 22 18:55:08 2010 +0300
5183
5184 Fix bad throughput of TCP connection after live migration
5185
5186 After migration sk->sk_gso_type is set to 0. Due to this, sk_can_gso()
5187 returns 1, and tcp layer thinks that socket supports GSO.
5188 As result, some outgoing packets are TSO packets. If physical ethernet device
5189 doesn't support TSO, then big ethernet packet will be dropped.
5190
5191 Notes:
5192 A. Big ethernet packet is dropped on the non-TSO real physical ethernet
5193 device, because:
5194
5195 1. Packet will not be slitted on several small packets, as GSO layer
5196 doesn't handle properly this packet (skb_gso_ok(skb) returns 1).
5197
5198 2. Total packet's length > mtu (for instanse: mtu 1500, length 2962)
5199
5200 B. UDP sockets don't use sk->sk_gso_type.
5201
5202 Signed-off-by: Vitaliy Gusev <vgusev@openvz.org>
5203 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5204
5205 commit 728cfff28426ab443602fc3166886a9cf8ec6226
5206 Author: Denis Lunev <den@openvz.org>
5207 Date: Fri Jan 22 18:48:26 2010 +0300
5208
5209 ub: incorrect skb is charged in tcp_send_synack
5210
5211 New one should be charged rather than old.
5212
5213 http://bugzilla.openvz.org/show_bug.cgi?id=987
5214
5215 Signed-off-by: Denis V. Lunev <den@openvz.org>
5216 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5217
5218 commit 77b6f2c55d0b122e9b538002a4579f956cfebcde
5219 Author: Cyrill Gorcunov <gorcunov@openvz.org>
5220 Date: Mon Jan 11 18:44:43 2010 +0300
5221
5222 sysrq.c -- trivial cleanup
5223
5224 Use tabs instead of spaces.
5225
5226 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
5227 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5228
5229 commit 178b81eb4c92bd9de1e16b6957f79ba8697e3e46
5230 Author: Cyrill Gorcunov <gorcunov@openvz.org>
5231 Date: Mon Jan 11 18:42:24 2010 +0300
5232
5233 SysRq debugger -- trivial misprint fixup
5234
5235 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
5236 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5237
5238 commit fbdbae997bde9dabd6d1eab2592bc9c929108618
5239 Author: Vitaily Gusev <vgusev@openvz.org>
5240 Date: Mon Oct 12 18:53:30 2009 +0400
5241
5242 cpt: dump inode content for shm_file_operations
5243
5244 If file->f_op == shm_file_operations then cpt code doesn't
5245 dump inode content, and dump only for f_op == shmem_file_operations.
5246
5247 Bug http://bugzilla.openvz.org/show_bug.cgi?id=1342
5248
5249 Signed-off-by: Vitaliy Gusev <vgusev@openvz.org>
5250 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5251
5252 commit 4ebe9f29dab354b80d5f0ba26365543cdf060031
5253 Author: Cyrill Gorcunov <gorcunov@openvz.org>
5254 Date: Thu Jul 16 19:22:21 2009 +0400
5255
5256 slab: kmem_cache - fixup members and use helpers
5257
5258 In a sake of SLAB memory manager usability we need
5259 to add beancounter members and use proper helpers.
5260
5261 [ bug http://bugzilla.openvz.org/show_bug.cgi?id=1232 ]
5262
5263 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
5264 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5265
5266 commit 096e829b9ac73cec435e23fe0ab703d836ff4239
5267 Author: Cyrill Gorcunov <gorcunov@openvz.org>
5268 Date: Thu Jul 16 21:14:29 2009 +0400
5269
5270 net,tcp - CONFIG_USER_RESOURCE doesn't exist anymore
5271
5272 CONFIG_USER_RESOURCE is deprecated and we should use
5273 CONFIG_BEANCOUNTERS instead.
5274
5275 http://bugzilla.openvz.org/show_bug.cgi?id=1275
5276
5277 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
5278 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5279
5280 commit ca151e1d2ada3cd195a1e5b582360b8e4355cc33
5281 Author: Kir Kolyshkin <kir@openvz.org>
5282 Date: Mon Mar 23 19:53:59 2009 +0300
5283
5284 cpt: enable only for supported arches
5285
5286 Since checkpointing is only supported on X86 (both 32 and 64) and IA64,
5287 it makes no sense to make it enabled by default on all arches. This
5288 also makes 'make defconfig' uncompilable.
5289
5290 Fix is easy: make VZ_CHECKPOINT depend upon the supported arches.
5291
5292 Signed-off-by: Kir Kolyshkin <kir@openvz.org>
5293 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5294
5295 commit 39ee2ebdcd179700a04d878ab68a44192896401b
5296 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
5297 Date: Wed Jun 3 16:34:08 2009 +0400
5298
5299 pidns: pi-futex pid check fixup
5300
5301 fix WARN_ON condition
5302
5303 port rh5 patch from Stanichenko Marat <mstanichenko@openvz.org>
5304
5305 http://bugzilla.openvz.org/show_bug.cgi?id=1262
5306
5307 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5308
5309 commit 5f5143937566b52a8ce3d040c7d885ef0a417c38
5310 Author: Cyrill Gorcunov <gorcunov@openvz.org>
5311 Date: Tue Apr 7 21:59:25 2009 +0400
5312
5313 net: bridge - set_via_phys_dev_state should return int value
5314
5315 While playing with bridge code I found the following
5316 compiler warning
5317
5318 | CC net/bridge/br_sysfs_br.o
5319 |net/bridge/br_sysfs_br.c: In function ‘store_via_phys_dev_state’:
5320 |net/bridge/br_sysfs_br.c:199: warning: passing argument 4 of
5321 |‘store_bridge_parm’ from incompatible pointer type
5322
5323 This is due to store_bridge_parm uses int returning callback.
5324 Fix it.
5325
5326 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
5327 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5328
5329 commit 9a3ddc21651d5f77616f56f0bbec2303c1265250
5330 Author: Cyrill Gorcunov <gorcunov@openvz.org>
5331 Date: Tue Apr 21 16:00:07 2009 +0400
5332
5333 net: bridge - process skbs has been already substituted due to via_phys_dev
5334
5335 When via_phys_dev is enabled we substitute skb->dev with
5336 master_dev and pass it back to bridge code. Instead of
5337 dropping such skb we should pass it up to network stack
5338 to process.
5339
5340 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
5341 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5342
5343 commit 13d8afaafce0229e06244fb36ad93464435af77b
5344 Author: Pavel Emelyanov <xemul@openvz.org>
5345 Date: Fri Apr 10 15:22:09 2009 +0400
5346
5347 namespaces: ban netns creation even for ve0's root
5348
5349 netnamespace do not work with sysfs yet, so creating one
5350 can be fatal
5351
5352 http://bugzilla.openvz.org/show_bug.cgi?id=1234
5353
5354 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5355
5356 commit 797b5ff880ec074424d5d7e2758553d21a00030f
5357 Author: Pavel Emelyanov <xemul@openvz.org>
5358 Date: Fri Apr 3 17:59:56 2009 +0400
5359
5360 ve: show task's vpid and veid even inside a container
5361
5362 Getting task real virtual :) pid is tricky in 2.6.26 and above...
5363
5364 http://bugzilla.openvz.org/show_bug.cgi?id=1223
5365 http://bugzilla.openvz.org/show_bug.cgi?id=1224
5366
5367 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5368
5369 commit c4acecd46e5ec5cac30070469a2d65b05922f468
5370 Author: Denis V. Lunev <den@openvz.org>
5371 Date: Mon Jul 14 11:04:29 2008 +0400
5372
5373 ubc: uncharging too much for TCPSNDBUF
5374
5375 It is not allowed to go to the label wait_for_memory with chargesize != 0
5376 when this space is already placed to the skb.
5377
5378 Signed-off-by: Denis V. Lunev <den@openvz.org>
5379 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5380
5381 commit 0940e60191e93a0948bf451ef0d87f9a7ac59fbb
5382 Author: Denis V. Lunev <den@openvz.org>
5383 Date: Mon Jun 30 11:05:14 2008 +0400
5384
5385 Endless loop in __sk_stream_wait_memory.
5386
5387 [UBC]: Endless loop in __sk_stream_wait_memory.
5388
5389 The loop in __sk_stream_wait_memory when tcp_sendmsg asks to wait for
5390 TCPSNDBUF space is endless when the timeout is not specified. The only way
5391 out is to queue a signal for that process.
5392
5393 Lets return a status flag from ub_sock_snd_queue_add that UB space is
5394 available. This is enough to make a correct decision to leave the cycle.
5395
5396 Signed-off-by: Denis V. Lunev <den@parallels.com>
5397 Signed-off-by: Pavel Emelyanov <xemul@sw.ru>
5398 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5399
5400 commit 5591a7de607e089e1ade3c6fc6b1fef9f521824a
5401 Author: Pavel Emelyanov <xemul@openvz.org>
5402 Date: Fri Apr 3 17:13:14 2009 +0400
5403
5404 ptrace: ban ptracing of a container init from inside the container
5405
5406 Current ptrace engine suffers from strange problems, one of which
5407 is described in bug #1222 - init results in T state after incorrect
5408 tracer detach.
5409
5410 Fixing it is not that easy, but since ptracing init was never alowed
5411 before it's OK to ban this (for a while?).
5412
5413 http://bugzilla.openvz.org/show_bug.cgi?id=1222
5414
5415 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5416
5417 commit f1ff7b5a9b5600e8584fa22ef842898303b35b00
5418 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
5419 Date: Fri Mar 27 15:03:57 2009 +0300
5420
5421 VE: fix idle time accounting
5422
5423 Make both account ways simmetic: idle time accounted as idle or iowait,
5424 depending on number tasks in iowait state.
5425
5426 http://bugzilla.openvz.org/show_bug.cgi?id=1217
5427 (#114633)
5428
5429 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
5430 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5431
5432 commit 3d1ae2f4477c0a5f048f4ee6ce1aab8b5fdd703b
5433 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
5434 Date: Tue Mar 10 15:55:35 2009 +0300
5435
5436 NETLINK: disable netns broadcast filtering
5437
5438 There only one uevent_sock in init_net for all VE.
5439 Broadcasts allready filtered by exec_env compare, drop netns check.
5440
5441 http://bugzilla.openvz.org/show_bug.cgi?id=1195
5442
5443 http://git.openvz.org/?p=linux-2.6.24-openvz;a=commit;h=0474535acfde6a
5444
5445 Signed-off-by: Alexey Dobriyan <adobriyan@openvz.org>
5446 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
5447 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5448
5449 commit bd327cf59d64d5ba4ca33707a90c5cb048d80aee
5450 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
5451 Date: Tue Mar 10 14:31:18 2009 +0300
5452
5453 pidns: zap ve process only when killing ve's init pid-ns
5454
5455 This prevents task genocide when zapping nested pid-ns in same ve,
5456 and affects ve0 only.
5457
5458 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
5459 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5460
5461 commit 50b28ee671404e4de0dc65e51a31b434e98365f2
5462 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
5463 Date: Tue Mar 10 14:27:17 2009 +0300
5464
5465 pidns: lost task debug print uses wrong prototype
5466
5467 Print most interesting fields manually.
5468
5469 http://bugzilla.openvz.org/show_bug.cgi?id=1181
5470
5471 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
5472 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5473
5474 commit 235eec98d609a1c55c23ca159a5316d4de85b1d2
5475 Author: Cyrill Gorcunov <gorcunov@openvz.org>
5476 Date: Wed Mar 18 18:48:28 2009 +0300
5477
5478 bc: fix permissions on /proc/bc
5479
5480 The reading of /proc/bc/* is permitted for those only who
5481 has CAP_DAC_OVERRIDE and CAP_DAC_READ_SEARCH attributes
5482 set. We should not point files as "group" or "other"
5483 readable/executable since they are not.
5484
5485 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
5486 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5487
5488 commit 76d5b985f75ce7053091d4795969777fd8a9e2d4
5489 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
5490 Date: Tue Feb 24 16:57:05 2009 +0300
5491
5492 ve: fix sysfs warnings in case CONFIG_SYSFS_DEPRECATED_V2=n
5493
5494 http://bugzilla.openvz.org/show_bug.cgi?id=1179
5495
5496 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
5497 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5498
5499 commit 8ce64ebab8668adefd6454c44769432a19a03e13
5500 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
5501 Date: Tue Feb 24 16:47:23 2009 +0300
5502
5503 pidns: update leader_pid at pidns attach
5504
5505 after commit fea9d17 it_real_fn send SIGALRM to task->signal->leader_pid
5506 (used for sys_alarm(...) and sys_setitimer(ITIMER_REAL,...))
5507
5508 Thus, __pid_ns_attach_task hack-n-dirty cross pid-ns task movement must
5509 update this pid too
5510
5511 http://bugzilla.openvz.org/show_bug.cgi?id=1160
5512 127384
5513
5514 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
5515 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5516
5517 commit 3550d9ce088e15e0d1e65640e833d1b95702dc5a
5518 Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
5519 Date: Tue Feb 3 13:57:32 2009 +0300
5520
5521 simfs: don't work with buggy input
5522
5523 Some (buggy) filesystems (aufs for example) pass NULL as mnt to getatts
5524 and hope for the better...
5525
5526 Let's not confuse the user with the oops at least.
5527
5528 http://bugzilla.openvz.org/show_bug.cgi?id=1054
5529
5530 Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
5531 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5532
5533 commit 5f162271db7a2bef678127fd164c7b3645730695
5534 Author: Vitaliy Gusev <vgusev@openvz.org>
5535 Date: Mon Jan 26 15:48:02 2009 +0300
5536
5537 Free skb->nf_bridge in veth_xmit() and venet_xmit()
5538
5539 We free skb->nfct in veth_xmit, but also have to free skb->nf_bridge.
5540
5541 Note: Why it works in 2.6.24-ovz but doesn't work in 2.6.26-ovz ?
5542
5543 1. It issue is only if BRIDGE_NETFILTER=y
5544
5545 2. nf_hook_register() has effect to all VEs in 2.6.26-ovz
5546 (in 2.6.24-ovz doesn't).
5547 Thus bridge hook ip_sabotage_in is not called for 2.6.24-ovz, but
5548 is called for 2.6.26-ovz.
5549
5550 http://bugzilla.openvz.org/show_bug.cgi?id=1146
5551
5552 Signed-off-by: Vitaliy Gusev <vgusev@openvz.org>
5553 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
5554
5555