Parent Directory
|
Revision Log
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 |