<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.openvz.org/index.php?action=history&amp;feed=atom&amp;title=Download%2Fkernel%2Frhel4%2F023stab037.3%2Fchanges</id>
	<title>Download/kernel/rhel4/023stab037.3/changes - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.openvz.org/index.php?action=history&amp;feed=atom&amp;title=Download%2Fkernel%2Frhel4%2F023stab037.3%2Fchanges"/>
	<link rel="alternate" type="text/html" href="https://wiki.openvz.org/index.php?title=Download/kernel/rhel4/023stab037.3/changes&amp;action=history"/>
	<updated>2026-06-10T01:49:19Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>https://wiki.openvz.org/index.php?title=Download/kernel/rhel4/023stab037.3/changes&amp;diff=7753&amp;oldid=prev</id>
		<title>Kir: Protected &quot;Download/kernel/rhel4/023stab037.3/changes&quot;: Robot: Protecting a list of files. [edit=autoconfirmed:move=autoconfirmed]</title>
		<link rel="alternate" type="text/html" href="https://wiki.openvz.org/index.php?title=Download/kernel/rhel4/023stab037.3/changes&amp;diff=7753&amp;oldid=prev"/>
		<updated>2009-10-22T18:27:14Z</updated>

		<summary type="html">&lt;p&gt;Protected &amp;quot;&lt;a href=&quot;/Download/kernel/rhel4/023stab037.3/changes&quot; title=&quot;Download/kernel/rhel4/023stab037.3/changes&quot;&gt;Download/kernel/rhel4/023stab037.3/changes&lt;/a&gt;&amp;quot;: Robot: Protecting a list of files. [edit=autoconfirmed:move=autoconfirmed]&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 18:27, 22 October 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Kir</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.openvz.org/index.php?title=Download/kernel/rhel4/023stab037.3/changes&amp;diff=5091&amp;oldid=prev</id>
		<title>Kir: added missing /noinclude</title>
		<link rel="alternate" type="text/html" href="https://wiki.openvz.org/index.php?title=Download/kernel/rhel4/023stab037.3/changes&amp;diff=5091&amp;oldid=prev"/>
		<updated>2008-03-20T16:45:06Z</updated>

		<summary type="html">&lt;p&gt;added missing /noinclude&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 16:45, 20 March 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l663&quot; &gt;Line 663:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 663:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;unconditionally. i.e. always stop.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;unconditionally. i.e. always stop.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/div&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/div&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/noinclude&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Kir</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.openvz.org/index.php?title=Download/kernel/rhel4/023stab037.3/changes&amp;diff=5090&amp;oldid=prev</id>
		<title>Kir: created</title>
		<link rel="alternate" type="text/html" href="https://wiki.openvz.org/index.php?title=Download/kernel/rhel4/023stab037.3/changes&amp;diff=5090&amp;oldid=prev"/>
		<updated>2008-03-20T16:40:18Z</updated>

		<summary type="html">&lt;p&gt;created&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Changes ==&lt;br /&gt;
&lt;br /&gt;
* CPT fixes&lt;br /&gt;
* compat iptables fixes&lt;br /&gt;
* dead state tasks leak fixed&lt;br /&gt;
* Fixes for broken teamspeak application&lt;br /&gt;
* ext3 fixes&lt;br /&gt;
* Microcode update fix&lt;br /&gt;
* UBC dcache fix&lt;br /&gt;
* OOM killer fix&lt;br /&gt;
* Fixes for compilation with gcc4&lt;br /&gt;
* Mainstream bridges security fix&lt;br /&gt;
* /proc/cpuinfo Mhz output fix.&lt;br /&gt;
* Security fix for local port range.&lt;br /&gt;
* Old vzdq detached inode warning fix.&lt;br /&gt;
* Other fixes.&lt;br /&gt;
&lt;br /&gt;
=== Configs ===&lt;br /&gt;
&lt;br /&gt;
* +&amp;lt;code&amp;gt;CONFIG_EXT2_FS_XATTR=y&amp;lt;/code&amp;gt;&lt;br /&gt;
* +&amp;lt;code&amp;gt;CONFIG_EXT2_FS_POSIX_ACL=y&amp;lt;/code&amp;gt;&lt;br /&gt;
* +&amp;lt;code&amp;gt;CONFIG_EXT3_FS_POSIX_ACL=y&amp;lt;/code&amp;gt;&lt;br /&gt;
* +&amp;lt;code&amp;gt;CONFIG_REISERFS_FS_XATTR=y&amp;lt;/code&amp;gt;&lt;br /&gt;
* +&amp;lt;code&amp;gt;CONFIG_REISERFS_FS_POSIX_ACL=y&amp;lt;/code&amp;gt;&lt;br /&gt;
* +&amp;lt;code&amp;gt;CONFIG_FS_POSIX_ACL=y&amp;lt;/code&amp;gt;&lt;br /&gt;
* +&amp;lt;code&amp;gt;CONFIG_NFS_V3_ACL=y&amp;lt;/code&amp;gt;&lt;br /&gt;
* +&amp;lt;code&amp;gt;CONFIG_NFSD_V2_ACL=y&amp;lt;/code&amp;gt;&lt;br /&gt;
* +&amp;lt;code&amp;gt;CONFIG_NFSD_V3_ACL=y&amp;lt;/code&amp;gt;&lt;br /&gt;
* +&amp;lt;code&amp;gt;CONFIG_KOBJECT_UEVENT=y&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Compatibility ===&lt;br /&gt;
&lt;br /&gt;
* In-kernel sysfs/uevent layer is now updated to be compatible with FC5 and SLES10 userland.&lt;br /&gt;
&amp;lt;includeonly&amp;gt;[[{{PAGENAME}}/changes#Patches|{{Long changelog message}}]]&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
=== Patches ===&lt;br /&gt;
&lt;br /&gt;
==== diff-vzdq-dbg-detached-20061113 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexey Dobriyan:&lt;br /&gt;
Debug patch for resolving OVZ bugs {{b|341}}, {{b|116}}, {{b|177}}.&lt;br /&gt;
&lt;br /&gt;
* Extend -&amp;amp;gt;origin into array for previous origin tracking.&lt;br /&gt;
* Print last two origins in debugging message.&lt;br /&gt;
* Also print i_mode, i_op, i_fop, ... of the offending inode.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-sched-migrate-ints ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Kirill:&lt;br /&gt;
move_task_off_dead_cpu() requires interrupts to be disabled,&lt;br /&gt;
while migrate_dead() calls it with enabled interrupts.&lt;br /&gt;
Added appropriate comments to functions and added&lt;br /&gt;
BUG_ON(!irqs_disabled()) into double_rq_lock() and&lt;br /&gt;
double_lock_balance() which are the real source of such bugs.&lt;br /&gt;
&lt;br /&gt;
Signed-Off-By: Kirill Korotaev &amp;amp;lt;dev@sw.ru&amp;amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-oomhang-20061113 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Denis:&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This patch fixes the following problem:&lt;br /&gt;
if a process is being killed inside __alloc_pages by OOM, it can't&lt;br /&gt;
exit till it frees some space, which is impossible for now. The patch&lt;br /&gt;
allows to dig into reserves for such a process.&lt;br /&gt;
&lt;br /&gt;
Bugs #71604, #71179.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ubc-oomkill-b-20061113 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexey:&lt;br /&gt;
gcc complains about scanned being used uninitialized and it's right.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ubc-vmrss-fix-20060921 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Pavel:&lt;br /&gt;
Fix negative vm_rss accounting.&lt;br /&gt;
&lt;br /&gt;
Bug #71680.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ve-vecalls-cleanup-20061108 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Andrey:&lt;br /&gt;
&lt;br /&gt;
Some file system used inside VE do not have mount point (nfs, fuse).&lt;br /&gt;
We do not need to perform checks and umount for them.&lt;br /&gt;
&lt;br /&gt;
Existing check is relaxed and umount is performed conditionally.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ve-netdev-move-20061107 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Andrey:&lt;br /&gt;
&lt;br /&gt;
When we moving network device from VE0 we must check that VE doesn't have&lt;br /&gt;
device with the same name (e.g. we can create veth device with name eth0&lt;br /&gt;
inside VE and try to move eth0 device from VE0 to this VE).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-kobject-uevents-20061027 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Roman Chechnev:&lt;br /&gt;
Implementation of userspace events&lt;br /&gt;
&lt;br /&gt;
Summary patches and changes:&lt;br /&gt;
* export of SEQNUM to userspace (creates /sys/kernel)&lt;br /&gt;
* kobject: adjust hotplug_seqnum increment to keep userspace and kernel agreeing.&lt;br /&gt;
* kobject: fix build error if CONFIG_HOTPLUG is not enabled.&lt;br /&gt;
* kobject: hotplug_seqnum is not 64 bits on all platforms, so fix it.&lt;br /&gt;
* ksyms: don't implement /sys/kernel/hotplug_seqnum if CONFIG_HOTPLUG is not enabled.&lt;br /&gt;
* Implemetation of userspace events through a netlink socket&lt;br /&gt;
* kobject_uevent warning fix&lt;br /&gt;
* kobject_uevent: fix init ordering&lt;br /&gt;
* kevent: standardize on the event types&lt;br /&gt;
* kobject: add CONFIG_DEBUG_KOBJECT&lt;br /&gt;
* kevent: add block mount and umount support&lt;br /&gt;
* kobject: add add_hotplug_env_var()&lt;br /&gt;
* kevent: add __bitwise kobject_action to help the compiler check for misusages&lt;br /&gt;
* Make kobject_hotplug() work even if the kobject's kset doesn't implement any&lt;br /&gt;
* kobject_uevent warning fix&lt;br /&gt;
* hotplug: prevent skips in sequence number from happening&lt;br /&gt;
* kobject: fix hotplug bug with seqnum&lt;br /&gt;
* take me home, hotplug_path[]&lt;br /&gt;
* Move hotplug_path[] out of kmod.[ch] to kobject_uevent.[ch]&lt;br /&gt;
* kevent: fix build error if CONFIG_KOBJECT_UEVENT is not selected.&lt;br /&gt;
* USB: use add_hotplug_env_var() in core/usb.c&lt;br /&gt;
* Use add_hotplug_env_var() in firmware loader&lt;br /&gt;
* fix unnecessary increment in firmware_class_hotplug() and USB core&lt;br /&gt;
* drivers/usb/core/usb.c: add MODALIAS env var to hotplug&lt;br /&gt;
* usb: class driver pass dev_t to the class core&lt;br /&gt;
* PCI: add MODALIAS to hotplug event for pci devices&lt;br /&gt;
* PCI: Remove newline from pci MODALIAS variable&lt;br /&gt;
* PCI: move pci core to use add_hotplug_env_var()&lt;br /&gt;
* add the physical device and the bus to the hotplug environment&lt;br /&gt;
* add the driver name to the hotplug environment&lt;br /&gt;
* driver core: allow struct bin_attributes in class devices&lt;br /&gt;
* class_simple: pass dev_t to the class core&lt;br /&gt;
* class core: export MAJOR/MINOR to the hotplug env&lt;br /&gt;
* block: genhd: terminate, set to next free slot, shrink available space&lt;br /&gt;
* avoid problems with kobject_set_name and name with %&lt;br /&gt;
* Hotplug: Make dev-&amp;amp;gt;bus checking consistent&lt;br /&gt;
* Driver core: add driver symlink to device&lt;br /&gt;
* add the bus name to the hotplug environment&lt;br /&gt;
* Driver core: add &amp;quot;bus&amp;quot; symlink to class/block devices&lt;br /&gt;
* add sysfs attr to re-emit device hotplug event&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ubc-precharge-irqs ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Pavel Emelianov &amp;amp;lt;xemul@openvz.org&amp;amp;gt;:&lt;br /&gt;
[UBC] Fix UB_NUMFILE accounting optimisation leak&lt;br /&gt;
&lt;br /&gt;
In 2.6.16 files are put via RCU, so ub_file_uncharge() is called&lt;br /&gt;
in IRQ context. Thus non-atomic decrement of file_precharged must&lt;br /&gt;
be done with IRQs disabled.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ubc-precharged-kmemsize ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Pavel Emelianov &amp;amp;lt;xemul@openvz.org&amp;amp;gt;:&lt;br /&gt;
[UBC] Don't allow precharged files exhaust kmemsize&lt;br /&gt;
&lt;br /&gt;
When file is put it may be added to precharged value to some&lt;br /&gt;
task thus holding UB_NUMFULE and UB_KMEMSIZE resources.&lt;br /&gt;
&lt;br /&gt;
The problem is that files do not start uncharging till&lt;br /&gt;
ub_barrier_farnr() is hit for UB_NUMFILE. For ub0&lt;br /&gt;
ub_barrier_farnr() can happen only after hitting kmemsize&lt;br /&gt;
barrier. Thus kmemsize reurce gets completely exhausted.&lt;br /&gt;
&lt;br /&gt;
On 2.6.9 this problem is not easyli reproducible as files&lt;br /&gt;
are put in the context of closing task usually. On 2.6.16&lt;br /&gt;
files are put via RCU and thus - in other task's context.&lt;br /&gt;
&lt;br /&gt;
[http://forum.openvz.org/index.php?t=msg&amp;amp;amp;th=1243&amp;amp;amp;#msg_6933 http://forum.openvz.org/index.php?t=msg&amp;amp;amp;th=1243&amp;amp;amp;#msg_6933]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ubc-ub0-precharge-init ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Pavel Emelianov &amp;amp;lt;xemul@openvz.org&amp;amp;gt;:&lt;br /&gt;
[UBC] Set correct precharge values for init_task.&lt;br /&gt;
&lt;br /&gt;
Otherwise file freeing will happen in &amp;quot;swapper&amp;quot; context&lt;br /&gt;
and will spoil all statistics due to &amp;quot;negative&amp;quot; unsigned&lt;br /&gt;
long value.&lt;br /&gt;
&lt;br /&gt;
{{bug|322}}.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-mainstream-elfzerobss-20050908 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from mainstream:&lt;br /&gt;
[PATCH] binfmt_elf: clearing bss may fail&lt;br /&gt;
&lt;br /&gt;
So we discover that Borland's Kylix application builder emits weird elf&lt;br /&gt;
files which describe a non-writeable bss segment.&lt;br /&gt;
&lt;br /&gt;
So remove the clear_user() check at the place where we zero out the bss.  I&lt;br /&gt;
don't _think_ there are any security implications here (plus we've never&lt;br /&gt;
checked that clear_user() return value, so whoops if it is a problem).&lt;br /&gt;
&lt;br /&gt;
Signed-off-by: Pavel Machek &amp;amp;lt;pavel@suse.cz&amp;amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Signed-off-by: Andrew Morton &amp;amp;lt;akpm@osdl.org&amp;amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Signed-off-by: Linus Torvalds &amp;amp;lt;torvalds@osdl.org&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{bug|332}}.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-cpt-rst-deleted-owner-b-20061103 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Andrey:&lt;br /&gt;
&lt;br /&gt;
Wrong structure with inode attributes were used in fixup_file_content().&lt;br /&gt;
We must be sure that we won't broke file system, thus we do not set inode mode&lt;br /&gt;
attributes from S_IFMT mask.&lt;br /&gt;
&lt;br /&gt;
Fix for bugs:&amp;lt;br/&amp;gt;&lt;br /&gt;
Bug #71135.&amp;lt;br/&amp;gt;&lt;br /&gt;
Bug #71161.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-cpt-rst-deleted-owner-b-20061102 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Andrey:&lt;br /&gt;
Due to silly mistake wrong inode mode were set on restore (cpt_mode were used&lt;br /&gt;
instead of cpt_i_mode).&lt;br /&gt;
&lt;br /&gt;
This patch should be used instead of diff-cpt-rst-deleted-owner-b-20061030.&lt;br /&gt;
&lt;br /&gt;
Fix for bugs:&amp;lt;br/&amp;gt;&lt;br /&gt;
Bug #71135.&amp;lt;br/&amp;gt;&lt;br /&gt;
Bug #71161.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ve-proc-entry-threads-20061025 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Kostja:&lt;br /&gt;
don't create /proc/&amp;amp;lt;PID&amp;amp;gt; dentry/inode for threads that are not group leaders.&lt;br /&gt;
Sets /proc/&amp;amp;lt;TGID&amp;amp;gt;/task/&amp;amp;lt;PID&amp;amp;gt; dentry as a task-&amp;amp;gt;proc_dentry for such threads.&lt;br /&gt;
&lt;br /&gt;
Bug #69536.&lt;br /&gt;
&lt;br /&gt;
This should eliminate the problem of growing number of processes in X state.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ubc-debug-atomic-20061020 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Pavel:&lt;br /&gt;
&lt;br /&gt;
Optimized kmemsize accounting calls ub_slab_(ub)charge&lt;br /&gt;
with IRQs disabled, but debugging code isn't aware of it...&lt;br /&gt;
&lt;br /&gt;
Bug #70694.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ve-veth-del-fix-b-20061024 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Andrey:&lt;br /&gt;
Context should be set from device (dev-&amp;amp;gt;owner_env) even for devices from VE0.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-cpt-external-file ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexey:&lt;br /&gt;
[CPT] fail when VE refers to an invisible file&lt;br /&gt;
&lt;br /&gt;
Checkpointing used to ignore EINVAL returned by d_path().&lt;br /&gt;
It was workaround for tmpfs shmem files, which use detached mounts.&lt;br /&gt;
But this means that real invisible paths are detected too late:&lt;br /&gt;
checkpointing succeds and restore fails, which is not acceptable.&lt;br /&gt;
&lt;br /&gt;
When d_path() fails, check that it is shmem file.&lt;br /&gt;
If it is not, fail immediately.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-nf-compat-copy-err-20061030 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Dmitry:&lt;br /&gt;
Fixed matches modules refcount in case of error in compat_copy_from_user()&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-lost-routes ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from mainstream:&lt;br /&gt;
[IPV4]: Fix lost routes in fn_hash netlink dumps.&lt;br /&gt;
&lt;br /&gt;
Spotted by itkes@fat.imed.msu.ru, the fn_hash_dump_bucket() main&lt;br /&gt;
loop does not increment 'i' properly, and thus routes will not&lt;br /&gt;
be listed, when the test 'i &amp;amp;lt; s_i' passes.&lt;br /&gt;
&lt;br /&gt;
The bug was added when the code was converted over to&lt;br /&gt;
hlist_for_each_entry() by your's truly.&lt;br /&gt;
&lt;br /&gt;
Signed-off-by: David S. Miller &amp;amp;lt;davem@davemloft.net&amp;amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-*-gcc4-compile* ====&lt;br /&gt;
diff-ide-taskfile-gcc4-20061106&amp;lt;br/&amp;gt;&lt;br /&gt;
diff-i2c-gcc4-compilefix-20051103&amp;lt;br/&amp;gt;&lt;br /&gt;
diff-acenic-gcc4-compile-20061107&amp;lt;br/&amp;gt;&lt;br /&gt;
diff-adp94xx-gcc4-compile-20061107&amp;lt;br/&amp;gt;&lt;br /&gt;
diff-adp94xx-gcc4-compile2-20061107&amp;lt;br/&amp;gt;&lt;br /&gt;
diff-adp94xx-gcc4-compile3-20061107&amp;lt;br/&amp;gt;&lt;br /&gt;
diff-ia64-sn-gcc4-compile-20061108:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patches from Kir Kolyshkin &amp;amp;lt;kir@openvz.org&amp;amp;gt;:&lt;br /&gt;
Various gcc4-related compilation fixes.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-cpt-external-pgids ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexey:&lt;br /&gt;
[CPT] do not checkpoint/restore global process groups&lt;br /&gt;
&lt;br /&gt;
The patch is three-fold:&lt;br /&gt;
&lt;br /&gt;
1. Do not try to allocate process groups/sessions, unless they&lt;br /&gt;
are not virtual. This is fix for bug #71825.&lt;br /&gt;
However, it is too late to detect failure.&lt;br /&gt;
&lt;br /&gt;
2. Do not checkpoint VE, if it contains references to extenal process&lt;br /&gt;
groups/session ids. It is _destructive_ part. It definitely will&lt;br /&gt;
prevent migration of some commonly used configurations, when&lt;br /&gt;
some deficient daemon (sort of qmail) forgets to daemonize itself&lt;br /&gt;
and it is started by vzctl exec.&lt;br /&gt;
&lt;br /&gt;
Workaround is possible in theory at level of vzctl, if it makes&lt;br /&gt;
the second fork and setsid() after VE_ENTER. It is not impossible,&lt;br /&gt;
because entered process is not required to be child of vzctl, actual&lt;br /&gt;
reaping and waiting is done not by wait4(), but with control pipe.&lt;br /&gt;
Another way is to use clone(CLONE_PARENT), but it is also tricky.&lt;br /&gt;
&lt;br /&gt;
3. Do the same checks before migration started to prevent failure due to #2 after rsync phase.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-sysctl-nums-20061121 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexandr Andreev:&lt;br /&gt;
fix misprint (error) in sysctl numbers.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-cpt-conntrack-version-2 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexey:&lt;br /&gt;
[CPT] checkpoint/restore conntrack on 2.6.9&lt;br /&gt;
&lt;br /&gt;
Comparing to 2.6.8, 2.6.9 tracks much more information about&lt;br /&gt;
TCP connections. We need to reserve additional space for it.&lt;br /&gt;
Right now it still does not make much of sense to add additional&lt;br /&gt;
attribute just because it is already known that in 2.6.16..19&lt;br /&gt;
conntrack is even more different.&lt;br /&gt;
&lt;br /&gt;
So, we just change format of all the record and try to fill missing&lt;br /&gt;
field with some reasonable values, when migrating from 2.6.8.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-security-bridges-fdb-entries ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from mainstream:&lt;br /&gt;
&lt;br /&gt;
bridge: fix possible overflow in get_fdb_entries (CVE-2006-5751)&lt;br /&gt;
&lt;br /&gt;
Make sure to properly clamp maxnum to avoid overflow (CVE-2006-5751).&lt;br /&gt;
&lt;br /&gt;
Signed-off-by: Chris Wright &amp;amp;lt;chrisw@sous-sol.org&amp;amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ext3-retries4 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Andrey with fixes from Dmitry Monakhov:&lt;br /&gt;
&lt;br /&gt;
in journal=ordered or journal=data mode retry in ext3_prepare_write()&lt;br /&gt;
breaks the requirements of journaling of data with respect to metadata.&lt;br /&gt;
The fix is to call commit_write to commit allocated zero blocks before&lt;br /&gt;
retry.&lt;br /&gt;
&lt;br /&gt;
Author: Andrey Savochkin &amp;amp;lt;saw@sw.ru&amp;amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Signed-Off-By: Kirill Korotaev &amp;amp;lt;dev@openvz.org&amp;amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ext3-pgfault11b ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Dmitry (dmonakhov@), modified by Kirill:&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This patch fixes issues introduced by diff-ext3-pgfault11 patch&amp;lt;br/&amp;gt;&lt;br /&gt;
* remove unused variables&amp;lt;br/&amp;gt;&lt;br /&gt;
* fix incorrect recursion detection&lt;br /&gt;
&lt;br /&gt;
Bug #71881.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-sysrq-debugging-c-20061129 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexandr Andreev:&lt;br /&gt;
&lt;br /&gt;
SysRq debugger memory dumping enhancements:&amp;lt;br/&amp;gt;&lt;br /&gt;
* 32/64 bit architectures support (80 chars per line);&amp;lt;br/&amp;gt;&lt;br /&gt;
* skipping lines with zero bytes;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-security-ptrace-race-20061129 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexey Dobriyan:&lt;br /&gt;
&lt;br /&gt;
Fix of deadlock in ptrace_attach().&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
&lt;br /&gt;
fix:	commit f5b40e363ad6041a96e3da32281d8faa191597b9&amp;lt;br/&amp;gt;&lt;br /&gt;
Fix ptrace_attach()/ptrace_traceme()/de_thread() race&lt;br /&gt;
&lt;br /&gt;
fix in fix:&lt;br /&gt;
commit f358166a9405e4f1d8e50d8f415c26d95505b6de&amp;lt;br/&amp;gt;&lt;br /&gt;
ptrace_attach: fix possible deadlock schenario with irqs&amp;lt;br/&amp;gt;&lt;br /&gt;
ptrace_traceme cleanup:&amp;lt;br/&amp;gt;&lt;br /&gt;
commit 6b9c7ed84837753a436415097063232422e29a35&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[PATCH] use ptrace_get_task_struct in various places&lt;br /&gt;
&lt;br /&gt;
write_can_lock() part was dropped since it doesn't exist in 2.6.9.&lt;br /&gt;
it was replaced with schedule().&lt;br /&gt;
&lt;br /&gt;
PTRACE_TRACEME chunk was projected by hand on i386, x86_64, sparc,&lt;br /&gt;
sparc64, ppc, ppc64 due to ptrace_traceme() cleanup done after 2.6.9.&lt;br /&gt;
If more archs need coverage, yell on me.&lt;br /&gt;
&lt;br /&gt;
Bug #72235.&amp;lt;br/&amp;gt;&lt;br /&gt;
Bug #61233.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-microcode-size-20061124 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from mainstream, ported by Kostja(khorenko@):&lt;br /&gt;
&lt;br /&gt;
fix removes the microcode's size check on x86.&lt;br /&gt;
&lt;br /&gt;
Should be applied to 2.6.9-x series, 2.6.18.&lt;br /&gt;
&lt;br /&gt;
Bug #72356.&lt;br /&gt;
&lt;br /&gt;
[http://linux.bkbits.net:8080/linux-2.6/gnupatch@451a9864jKk9Jk5CliEBE9pB86swnw http://linux.bkbits.net:8080/linux-2.6/gnupatch@451a9864jKk9Jk5CliEBE9pB86swnw]&lt;br /&gt;
(which applies after clean-up patch&lt;br /&gt;
[http://linux.bkbits.net:8080/linux-2.6/gnupatch@451a9861MOurp8RhosNAAOMcAIh9bw) http://linux.bkbits.net:8080/linux-2.6/gnupatch@451a9861MOurp8RhosNAAOMcAIh9bw)]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ChangeSet&lt;br /&gt;
#   2006/09/27 08:26:18-07:00 shaohua.li@intel.com&lt;br /&gt;
#   [PATCH] x86 microcode: don't check the size&lt;br /&gt;
#&lt;br /&gt;
#   IA32 manual says if micorcode update's size is 0, then the size is&lt;br /&gt;
#   default size (2048 bytes). But this doesn't suggest all microcode&lt;br /&gt;
#   update's size should be above 2048 bytes to me. We actually had a&lt;br /&gt;
#   microcode update whose size is 1024 bytes. The patch just removed the&lt;br /&gt;
#   check.&lt;br /&gt;
#&lt;br /&gt;
#   Signed-off-by: Shaohua Li &amp;amp;lt;shaohua.li@intel.com&amp;amp;gt;&lt;br /&gt;
#   Cc: Tigran Aivazian &amp;amp;lt;tigran@veritas.com&amp;amp;gt;&lt;br /&gt;
#   Signed-off-by: Andrew Morton &amp;amp;lt;akpm@osdl.org&amp;amp;gt;&lt;br /&gt;
#   Signed-off-by: Linus Torvalds &amp;amp;lt;torvalds@osdl.org&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ubc-dcacheleak-20061129 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Denis (den@) based on idea from Pavel:&lt;br /&gt;
&lt;br /&gt;
This patch fixes dcache leak on race from dcache_charge[_forced] and&lt;br /&gt;
dcache_unchange.&lt;br /&gt;
The idea: do not trust dentry_bc after count state change.&lt;br /&gt;
&lt;br /&gt;
Bug #72051.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ve-oom-newgeneration-20061128 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Denis (den@):&lt;br /&gt;
&lt;br /&gt;
This patch calculates OOM generations directly.&lt;br /&gt;
The counter is increased when MM of process killed by OOM is&lt;br /&gt;
finally destroyed.&lt;br /&gt;
&lt;br /&gt;
Bug #71980.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-vzdq-dbg-detached-b-20061113 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexey Dobriyan:&lt;br /&gt;
&lt;br /&gt;
At one place qlnk origin is not set which may hide useful info later.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ve-tty-clone-charges-20061127 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexandr Andreev:&lt;br /&gt;
&lt;br /&gt;
* account tty structures to kmemsize&amp;lt;br/&amp;gt;&lt;br /&gt;
* setup driver-&amp;amp;gt;refcount correctly. Doesn't affect anything.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-nf-ipt-checks-20061124 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Dmitry (dim@):&lt;br /&gt;
&lt;br /&gt;
Issue found by Patrick McHardy. After checks reordering target and matches&lt;br /&gt;
checks that they could be used for this hook returns true always due to not&lt;br /&gt;
initialized e-&amp;amp;gt;comefrom field. So, order restored, necessary checks moved&lt;br /&gt;
in mark_source_chains(). For compats this issue exists from the beginning.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-cpt-veenter-vpid ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexey (alexey@):&lt;br /&gt;
&lt;br /&gt;
[PATCH] VE_ENTER switches to virtual pid&lt;br /&gt;
&lt;br /&gt;
When PID of the process is used by another processes as their PGID/SID,&lt;br /&gt;
we cannot do this. Otherwise, we can safely switch to virtual pid.&lt;br /&gt;
&lt;br /&gt;
Difference of previous version is in one line: do_env_enter() can be&lt;br /&gt;
done when the process already has a virtual pid. (This sounds crazy, but&lt;br /&gt;
this is what happens with checkpointing. :-)).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-fairsched-cpumhz-20061122 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexey Dobriyan:&lt;br /&gt;
&lt;br /&gt;
ve_scale_khz() ignores the number of virtual cpus in the node leading to&lt;br /&gt;
strange results in /proc/cpuinfo:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	0.5 * 4 * 1000MHz&lt;br /&gt;
	------------------- =&amp;amp;gt; 500MHz (but it should be 666 MHz)&lt;br /&gt;
		3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Also, initialize -&amp;amp;gt;vcpus of fairsched init node to something sensible to&lt;br /&gt;
avoid division by zero. -&amp;amp;gt;vcpus was not explicitly initialized at&lt;br /&gt;
startup.&lt;br /&gt;
&lt;br /&gt;
Bug #71984.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ve-vcpu-stats-20061206 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexey Dobriyan:&lt;br /&gt;
&lt;br /&gt;
VE has simple idle time collection logic (per VCPU -&amp;amp;gt;strt_idle_time, -&amp;amp;gt;idle_time).&lt;br /&gt;
For -&amp;amp;gt;idle_time incrementing -&amp;amp;gt;strt_idle_time must not be 0. This happens when&lt;br /&gt;
the very first task is scheduled on VCPU. Before that all VCPU statistics is&lt;br /&gt;
zeroed out because of&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ve = kzalloc(sizeof(struct ve_struct));&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
including -&amp;amp;gt;strt_idle_time.&lt;br /&gt;
&lt;br /&gt;
All this leads to suprising /proc/stat and, as a consequence, top(1) output:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# vzctl exec 140 cat /proc/stat&lt;br /&gt;
cpu  83 0 150 65654 173 0 0&lt;br /&gt;
cpu0 66 0 98 64839 167 0 0&lt;br /&gt;
cpu1 15 0 47 369 6 0 0&lt;br /&gt;
cpu2 0 0 4 446 0 0 0&lt;br /&gt;
cpu3 0 0 0 0 0 0 0	&amp;amp;lt;===&lt;br /&gt;
cpu4 0 0 0 0 0 0 0	&amp;amp;lt;===&lt;br /&gt;
cpu5 0 0 0 0 0 0 0	&amp;amp;lt;===&lt;br /&gt;
cpu6 0 0 0 0 0 0 0	&amp;amp;lt;===&lt;br /&gt;
cpu7 0 0 0 0 0 0 0	&amp;amp;lt;===&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When user, system and nice times are 0%, it's OK. But when idle time is&lt;br /&gt;
_also_ 0%, it's surprising.&lt;br /&gt;
&lt;br /&gt;
The solution is to start idle_time collecting state machine when VCPU is&lt;br /&gt;
added.&lt;br /&gt;
&lt;br /&gt;
As a nice side offect, when you start VE with 2 VCPUs, later add 3-rd, it's&lt;br /&gt;
idle time will start ticking from the moment of addition.&lt;br /&gt;
&lt;br /&gt;
{{bug|366}}.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-vzdq-detached-inode-20061201 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Alexey Dobriyan, modified by Kirill:&lt;br /&gt;
&lt;br /&gt;
When file is opened and unlinked before vzquotaon, but&lt;br /&gt;
generic_delete_inode() is called after vzquotaon, scary message appears:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
VZDQ: detached inode not in creation, orig 5, dev dm-0, inode 73828039, fs ext3&lt;br /&gt;
current 18761 (httpd), VE 102, time 77463.605075&lt;br /&gt;
[&amp;amp;lt;ed79c296&amp;amp;gt;] vzquota_det_qmblk_recalc+0x256/0x270 [vzdquota]&lt;br /&gt;
[&amp;amp;lt;ed79c302&amp;amp;gt;] vzquota_inode_qmblk_recalc+0x52/0x70 [vzdquota]&lt;br /&gt;
[&amp;amp;lt;ed79c573&amp;amp;gt;] vzquota_inode_data+0xb3/0xf0 [vzdquota]&lt;br /&gt;
[&amp;amp;lt;ed79c449&amp;amp;gt;] vzquota_inode_init_call+0x19/0x80 [vzdquota]&lt;br /&gt;
[&amp;amp;lt;021fb940&amp;amp;gt;] ext3_delete_inode+0x0/0x120&lt;br /&gt;
[&amp;amp;lt;ed79e47f&amp;amp;gt;] vzquota_initialize+0xf/0x20 [vzdquota]&lt;br /&gt;
[&amp;amp;lt;0219d983&amp;amp;gt;] generic_delete_inode+0x173/0x190&lt;br /&gt;
[&amp;amp;lt;021996f6&amp;amp;gt;] dput_recursive+0x56/0x230&lt;br /&gt;
[&amp;amp;lt;0217f333&amp;amp;gt;] __fput+0x123/0x1b0&lt;br /&gt;
[&amp;amp;lt;0217d4c2&amp;amp;gt;] filp_close+0x52/0xa0&lt;br /&gt;
[&amp;amp;lt;0217d57a&amp;amp;gt;] sys_close+0x6a/0xa0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, there is no need to scary admin:&amp;lt;br/&amp;gt;&lt;br /&gt;
1) inode is in I_FREEING state.&amp;lt;br/&amp;gt;&lt;br /&gt;
2) vzquota never saw inode before, thus it doesn't know what to do with it.&amp;lt;br/&amp;gt;&lt;br /&gt;
3) inode was unlinked outside of vzquota area of interest, otherwise&lt;br /&gt;
-EBUSY would have returned on quotaon.&lt;br /&gt;
&lt;br /&gt;
So, do nothing and let inode silently die.&lt;br /&gt;
&lt;br /&gt;
Many thanks to Alexey Kuznetsov for spelling out reliable testcase.&lt;br /&gt;
&lt;br /&gt;
{{bug|116}}&amp;lt;br/&amp;gt;&lt;br /&gt;
{{bug|177}}&amp;lt;br/&amp;gt;&lt;br /&gt;
{{bug|341}}&amp;lt;br/&amp;gt;&lt;br /&gt;
Bug #60532.&amp;lt;br/&amp;gt;&lt;br /&gt;
Bug #61431.&amp;lt;br/&amp;gt;&lt;br /&gt;
Bug #55275.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ve-sockstat-20061201 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Denis:&lt;br /&gt;
&lt;br /&gt;
Hide the content of /proc/net/sockstat rather than the file itself to&lt;br /&gt;
keep sysstat from crashing.&lt;br /&gt;
&lt;br /&gt;
Bug #72587.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ubc-dcachestop-20061204 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Denis:&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This patch fixed dcache accouting turning off. ub_dentry_walk does not&lt;br /&gt;
guarantee the order it meets dentry leafs and nodes. So, just set&lt;br /&gt;
d_inuse to -1 and uncharge all at once.&lt;br /&gt;
&lt;br /&gt;
Bug #72730.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ms-getport-20061205 ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Denis:&lt;br /&gt;
&lt;br /&gt;
tcp_v4_get_port fixed. Treat local_port_range[0] &amp;amp;gt; local_port_range[1]&lt;br /&gt;
as local_port_range[1] == local_port_range[0].&lt;br /&gt;
&lt;br /&gt;
Bug #72736.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== diff-ext3-pgfault11c ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;change&amp;quot;&amp;gt;&lt;br /&gt;
Patch from Dmitry Monakhov:&lt;br /&gt;
&lt;br /&gt;
ext3_journal_stop() should be called after ext3_prepare_failure()&lt;br /&gt;
unconditionally. i.e. always stop.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kir</name></author>
		
	</entry>
</feed>