From OpenVZ Virtuozzo Containers Wiki
Jump to: navigation, search



  • Mainstream fixes
  • Ffairscheduler lockup fixes
  • Code licensing cleared up (added GPLv2 reference to sources)
  • sysctls virtualization cleanups/reworks
  • devperms fixes
  • EMT64 port patches


Compatibility with old quota interface added:


More IDE chipsets enabled:


More SCSI controllers enabled:

  • +CONFIG_SCSI_QLA2300=m
  • +CONFIG_SCSI_QLA2322=m
  • +CONFIG_SCSI_QLA6312=m
  • +CONFIG_SCSI_QLA6322=m

aic7xxx driver settings tuned a bit:

  • +CONFIG_AIC7XXX_RESET_DELAY_MS=15000 (was 5000)

aic7xxx debug disabled:


Additional networking options:


Additional network device drivers:

  • +CONFIG_R8169=m
  • +CONFIG_SIS900=m

Changed filesystems:

  • +CONFIG_NFS_FS=m (was y)
  • +CONFIG_SUNRPC=m (was y)
  • +CONFIG_LOCKD=m (was y)


Patch from Pavel:

This patch fixes lookup of vmalocked page on emt64, since init_mm doesn't have the correct reference to pgd. Probably will be unnecessary when 4level page tables will be in mainstream.


Patch from Pavel:
  • fixup of get_vm_area_best: VMALLOC_END is not PAGE_SIZE-aligned on x86_64 so some areas were not aligned too. This resulted in warning in __vunmap (address is not page-aligned) and memory leak (vfree didn't free memory);
  • added check like in __vunmap to catch bad allocations at the time of allocation, not just at free-time.


Patch from Dmitry:

GRP/USR quota is ON for qmblk with VZDQUG_ON flag now.


Patch from Pavel:

This patch makes quota sysctls use cloning of ctl tables.


Patch from Pavel:

Get rid of ve_tmp field on ve_task_info.


Patch from Pavel:

This patch makes ip_forward_sysctl_register() use cloning of ctl_tables; Also it makes handling of created tables normal way, i.e without void* pointers.


Patch from Pavel:

This patch removes devinet_sysctl_init/fini/free from vecalls into proper place and makes _init use fixed version of devinet_sysctl_register (w/o ve_tmp).


Patch from Pavel:

This patch makes vecalls use table cloning to register main sysctl tables.


Patch from Pavel:

This patch adds cloning of ctl tables. cloning is performed by copying array of tables and tunig child pointers in it.


Patch from Pavel:

This patch adds owner_env field on ctl_table to handle permissions w/o obsoleted and arch-specific VE_ADDR_MODULE macro.


Patch from Pavel:

This patch splits devinet_sysctl_register into 2 parts to remove ve_tmp field in the future.


Patch from Pavel:

This patch replaces ctl_tables from ve_struct with ptrs and renames them.


Patch from Andrey:

This patches introduce a new permission bit in setdevperms to allow quotactl on a block device. vzctl should set this bit for VE root (if VE has its own filesystem). For multiple quota partitions, the scripts should give the permissions to additional quota roots.

Additionally the patch enlarges device permission hash (since now every VE will have an entry in it).


Patch from Andrey:

This patch fixes the bits used in device permission check.


Patch from Andrey Mirkin:

This patch fixes NFS/AFS lost do_kern_mount() call changing, which caused oops on NFS server startup.

OpenVZ Bug #39.


Patch from Denis:

This patch removes unused starvation accounting fields from ve_struct


Patch from Alexander:

This patch fixes sending of signals in ubstat.

Check for valid task->sighand under tasklist_lock was missing.

Bug 50388.


Patch from Andrey:

Printk initialization is made on demand inside printk itself now. This fixes kernel crash at boot time on x86-64.


Patch from Pavel:

This patch adds ubc accounting on x86-64 to ia32 emulation when setup of arg pages is performed.


Patch from Pavel:

This patch fixes memory accounting in setup_arg_pages on error path.


Patch from Pavel:

Charge pte, pmd and pgd entries on x86_64 arch.


Patch from Andrey Mirkin and Maxim:

Turns off printing of warnings on segmentation faults.


Patch from Andrey Mirkin and Maxim:

This patch adds lost fput in 32bit tiocgdev ioctl on x86-64


Patch from Kirill:

This patch adds lost sockfd_put() in compat 32bit rounting_ioctl().


Patch from Andrey Mirkin:

Add UBC syscalls on x86-64


Patch from Andrey Mirkin and Maxim:

Fix kernel text checksuming on x86-64


Patch from Andrey Mirkin:

This patch adds fairsched syscalls on EMT64


Patch from Kirill:

This patch renames Open Virtuozzo to OpenVZ inside ve.txt


Patch from Andrey:

This patch moves Q_GETQUOTI quotactl into compatibility layer.


Patch from Andrey:

This patch implements compatibility quotactls for quota tools shipped with Virtuozzo based on 2.4 kernels.


Patch from Pavel:

Adds debug info in scheduler_tick() to catch possible division by zero in it.


Patch from Pavel, found by Solar Designer:

follow_dotdot() unlocked fs->lock twice: once in a mainstream path, the second time - in vz path. Fixed by moving one of unlocks in a proper place.

Bug 51431.


Patch from mainstream:

[PATCH] Fix up more strange byte writes to the PCI_ROM_ADDRESS config word

It's a dword thing, and the value we write is a dword. Doing a byte write to it is nonsensical, and writes only the low byte, which only contains the enable bit. So we enable a nonsensical address (usually zero), which causes the controller no end of problems. Trivial fix, but nasty to find.

Signed-off-by: Linus Torvalds <>
Signed-off-by: Chris Wright <>

X-Git-Tag: v2.6.13.2;a=commitdiff;h=d6d47af4c90009c465c7a465dd201a7115af456a


Patch from mainstream:

[PATCH] hpt366: write the full 4 bytes of ROM address, not just low 1 byte

This is one heck of a confused driver. It uses a byte write to a dword register to enable a ROM resource that it doesn't even seem to be using.

"Lost and wandering in the desert of confusion"

Signed-off-by: Linus Torvalds <>
Signed-off-by: Chris Wright <>

X-Git-Tag: v2.6.13.2;a=commitdiff;h=edf3b5b336f55b8a97142592bf5c1b7944deb9d1


Patch from Pavel:

This patch adds MAP_EXECPRIO on EMT64 for soft UBC charging of exec mappings.


Patch from Pavel:

This patch fixes UBC warnings on 64bit archs


Patch from Pavel:

This patch adds EMT64 exports required for virtualization code.


Patch from Pavel:

This patch adds virtualization of tasks/pids on EMT64.


Patch from Pavel and Kirill:

This patch fixes broken old way of communicating between VE0 and VE via unix socket. The problem was in unix_find_socket_byinode(), which was done very conservative, though it is safe to omit access check and allow VE0 and VE access the same unix socket. It is safe since unix socket visibility is limited by filesystem visibility.

Bug 51275.


Patch from Pavel:

This patch fixes VE warnings on 64bit archs.


Patch from Pavel:

This patch fixes 64bit compilation warning on 64bit archs.