Download/kernel/rhel5/028stab023.1/changes

From OpenVZ Virtuozzo Containers Wiki
Jump to: navigation, search

Changes

  • QLA4x, 3Ware drivers update
  • Added areca driver support.
  • CPT utrace and inotify support + minor fixes.
  • Lockdep fixed in debug kernels.
  • Ext3 error path
  • Enhanced bridges over original device
  • ioprio fixes

Config changes

Added:

  • +CONFIG_SCSI_QLA4XXX=m
  • +CONFIG_SCSI_QLA4XXX_FAILOVER=y
  • +CONFIG_HP100=m
  • +CONFIG_EEPRO100=m

Removed:

  • -CONFIG_SCSI_QLA_ISCSI=m

Patches

linux-2.6.18-3w_9xxx-2.26.06.001-2.6.18.patch

patch prepared by Roman (rchechnev@):
3w_9xxx driver updated to version "2.26.06.001-2.6.18"

sources were taken from: http://www.3ware.com/KB/article.aspx?id=15001.

linux-2.6.18-qla4xxx-5.00.07.patch

patch prepared by Roman (rchechnev@):
qla4xxx driver updated to version "5.00.07"

sources were taken from: http://support.qlogic.com/support/os_detail.asp?productid=963&osid=26.

linux-2.6.18-drbd-0.7.22-0.8.0.patch

Patch from Evgeny:
Update for drbd module from 0.7.22 to 8.0.

Module was taken from www.drbd.org, updated and tested. Changes made:

  1. connector.c and cn_queue.c changes by drbd-8.0 eliminated.
  2. compilation errors fixed.

diff-cpt-ia64-check-cpu-caps-20070319

Patch from Andrey Mirkin <major@openvz.org>:
[CPT] [IA64] Fix checking of CPU capabilities on IA64

Bug #77601.

diff-cpt-ia64-nat-debug

Patch from Alexey Kuznetsov <alexey@openvz.org>:
[CPT][IA64] add debugging NAT bits, remove debugging RSE

diff-cpt-img-align-netroute-20070316

Patch from Andrey Mirkin <major@openvz.org>:
[CPT] Align netroute section in cpt dump

Net route section in image file was not aligned correctly, leading to CPT dump file being corrupted and unreadable on restore.

diff-cpt-inotify-20070320

Patch from Alexey Kuznetsov <alexey@openvz.org>:
[CPT] checkpointing inotify interface

diff-cpt-inotify-core-20070320

Patch from Alexey Kuznetsov <alexey@openvz.org>:
[VZ] core changes to allow checkpointing inotify interface

  1. Cosmetic changes to export nessecary structs and variables (time to start to think about moving those cpt bits to core to avoid pollution. cpt interface could be ugly, but it is _one_ interface)
  2. There is one essential change: each watchpoint refers to dentry/mnt. The drawback: it means fs umount is blocked while some directory on it is watched. With current uses of inotify it is not a problem.

diff-cpt-utrace

Patch from Alexey Kuznetsov <alexey@sw.ru>:
[CPT] checkpointing utrace

Of course, it checkpoints only ptrace. If some another module using utrace is loaded, checkpointing is still prohibited.

It is compatible with old ptrace: migration from older kernels is supported.

diff-cpt-utrace-core

Patch from Alexey Kuznetsov <alexey@sw.ru>:
[CPT] changes to core required to checkpoint utrace

  1. Export of symbols, publishing some internal structs.
  2. Marking utrace quiescent states with pn_state.

diff-cpt-vsyscall-image-20070320

Patch from Andrey Mirkin <major@openvz.org>:
[CPT] Reserve vsyscall section and object ID

Support in CPT for vsyscall is not implemented in 2.6.18 kernel yet. This patch is needed to synchronize section and object IDs in 2.6.9 and 2.6.18 kernel to not break 2.6.9 -> 2.6.18 migration.

diff-fairsched-lockdep-20070320

Patch from Pavel Emelianov <xemul@openvz.org>:
[LOCKDEP] Fix lockdep for virtualized runqueues

lockdep is debugging technology that tracks the sequence of spin_lock()-s in kernel. Each lock has a "class" assigned. Rules:

  1. class must be a static object as it is registered within lockdep internals
  2. two locks of the same class must be taken with _nested suffix to explicitly tell lockdep that this is not a deadlock

Problem is that runqueues and filesystem types are no longer static in OpenVZ kernel.

Runqueues problem is solved that way: all rq-s have common class set, double locking is equipped with _nested suffix

Bug #73857.

diff-ms-ext3-dirindex-errh-20070306

Patch from Monakhov Dmitriy <dmonakhov@openvz.org>:
[EXT3] dirindex error handling issues

  • ext3_dx_find_entry() exit with out setting proper error pointer
  • do_split() exit with out setting proper error pointer it is realy painful because many callers contain folowing code:
de = do_split(handle,dir, &amp;bh, frame, &amp;hinfo, &amp;retval);
if (!(de))
         return retval;
<<< WOW retval wasn't changed by do_split(), so caller failed
<<< but return SUCCESS   :)
  • Rearrange do_split() error path. Current error path is realy ugly, all this up and down jump stuff doesn't make code easy to understand.

Signed-off-by: Monakhov Dmitriy <dmonakhov@openvz.org>
Cc: Andreas Dilger <adilger@clusterfs.com>
Cc: Theodore Ts'o <tytso@mit.edu>

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

diff-ms-ext3-dirindex-errh-b-20070319

Patch from Monakhov Dmitriy <dmonakhov@openvz.org>:
[EXT3] dirindex error handling issues (fix)

my previous patch changed error message semantics in do_split(). Initially when ext3_append() failed we just exit without printing error. In fact ext3_append() may fail, it is legal and it's happens qite often (ENOSPC for example). This cause annoying fake error message. So restore this semantic as it was before patch.

Signed-off-by: Monakhov Dmitriy <dmonakhov@openvz.org>
Cc: Andreas Dilger <adilger@clusterfs.com>
Cc: Theodore Ts'o <tytso@mit.edu>

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

diff-ms-ext3-dirindex-errh-c-20070319

Patch from Monakhov Dmitriy <dmonakhov@openvz.org>:
[EXT3] dirindex error handling issues (additional)

I've found one more place where we exit with wrong error code. (Andreas Dilger agreed that it should be fixed), but not send it to lkml yet.

Signed-Off-By: Monakhov Dmitriy <dmonakhov@openvz.org>

diff-ms-ia64-unwind-bug

Patch from Alexey Kuznetsov <alexey@openvz.org>:
[IA64] unwind did not work for processes born with CLONE_STOPPED

Minor problem for mainstream. Big problem for CPT, because all the stopped/traced processes are born in this state, hence they cannot be checkpointed again due to failing unwind.

The problem was identified as assumption in kernel unwind library that top level frame is different of syscall frame. It is the case unless process was born with CLONE_STOPPED.

diff-ms-ipv6-ndisk-pkt-len-20070320

Patch from David S. Miller <davem@davemloft.net>:
[IPV6] NDISC: Calculate packet length correctly for allocation.

MAX_HEADER does not include the ipv6 header length in it, so we need to add it in explicitly.

With help from YOSHIFUJI Hideaki.

Signed-off-by: David S. Miller <davem@davemloft.net>

GIT: d54a81d341af80875c201890500f727c8188dd9b

diff-ms-net-bridge-via-eth-20070311

Patch from Dmitry Mishin <dim@openvz.org>:

This patch allows to modify mainline bridge behaviour in order to avoid network re-configuration during physical device attach/detach procedure

diff-ms-ptrace-bug-20070319

Patch from Alexey Kuznetsov <alexey@openvz.org>:
[PATCH] Race condition in ptrace/utrace

ltp ptrace tests fail randomly, wait4() returning funny status 0x1007F.

The problem is race condition in ptrace, ptrace_do_wait can catch process in the middle of do_exit() after it set tsk->exit_code but before exit_notify() moved the process to zombie_state.

The solution is to check process state, if it is not TASK_TRACED or TASK_STOPPED. Seems, Roland believes this is incorrect, but we can replace the fix when he prepares better one.

diff-rh-utrace-update-20070320

Patch from Alexey Dobriyan <adobriyan@openvz.org>:

Update of utrace engine from Roland McGrath. Bug #75754.

diff-ubc-ioprio-compile-off-20070313

Patch from Alexandr Andreev <aandreev@openvz.org>:
[IOPRIO] Fix compilation when CONFIG_UBC_IO_PRIO=n

compilation fix fo block/cfq-iosched.c when CONFIG_UBC_IO_PRIO=n

diff-ubc-ioprio-fix-when-off-20070319

Patch from Alexandr Andreev <aandreev@openvz.org>:
[IOPRIO] Fix beancounter handling when CONFIG_UBC_IO_PRIO=n

when CONFIG_UBC_IO_PRIO=n get/put_beancoutner() is done on unitialized pointer to beancounter.

diff-ubc-ioprio-locking-20070320

Patch from Pavel Emelianov <xemul@openvz.org>:
[IOPRIO] Fix potential deadlock found by lockdep

cfq_bc_list_lock should be taken with IRQs disabled

diff-ubc-ioprio-subbc-20070315

Patch from Vasily Tarasov <vtaras@openvz.org>:
[IOPRIO] Handle subbeancounters correctly in get_io_ub()

get_io_ub() should return top beancounters only. Plus minor cleanup.

When SLM is on, get_io_ub() could return subbeancounter, what was not expected by CFQ.

Bug #77314.
Bug #77341.

diff-ubc-kmemsize-marks-20070315

Patch from Kirill Korotaev <dev@openvz.org>:
Charge vm_area_struct and sigqueue structures to kmemsize.

was lost somehow during porting from 2.6.9. I rechecked all SLAB_UBC marks only.

diff-ve-lockdep-fix-20070320

Patch from Pavel Emelianov <xemul@openvz.org>:
[LOCKDEP] Fix lockdep for virtualized fstype

lockdep is debugging technology that tracks the sequence of spin_lock()-s in kernel. Each lock has a "class" assigned. Rules:

  1. class must be a static object as it is registered within lockdep internals
  2. two locks of the same class must be taken with _nested suffix to explicitly tell lockdep that this is not a deadlock

Problem is that runqueues and filesystem types are no longer static in OpenVZ kernel.

File system types are resolved that way: set common class for all super blocks. I haven't yet found places where two locks are taken for two super blocks

Bug #73857.

diff-ve-mem-latency-20070316

Patch from Alexandr Andreev <aandreev@openvz.org>:
[VESTATS] Fix memory page allocation latency stats.

This patch fixes broken (empty) statistics in /proc/vz/latency

diff-ve-net-ipv6-lock-20070320

Patch from Pavel Emelianov <xemul@openvz.org>:
[IPV6] Fix potential deadlock found by lockdep

diff-ve-net-loopstat-20070314

Patch from Denis Lunev <den@openvz.org>:
Fix leak of loopback per-cpu stats.