OpenVZ-legacy
  1. OpenVZ-legacy

linux-2.6.18-openvz

Public
AuthorCommitMessageCommit dateIssues
OpenVZ teamOpenVZ team
37dfe28675blinux-2.6.18-028stab023.1 released
Kirill KorotaevKirill Korotaev
4b5e31be809Fix loopback stats compilation
OpenVZ teamOpenVZ team
4433ee1e2d8linux-2.6.18-028stab023 released
Dmitriy MonakhovDmitriy Monakhov
1e203c60584[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>
Dmitriy MonakhovDmitriy Monakhov
a996105f3c2[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>
Dmitriy MonakhovDmitriy Monakhov
2acc6b50c9d[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, &bh, frame, &hinfo, &retval); if (!(de)) return retval; <<< WOW retval wasn't changed by do_split(), so caller failed ...
Pavel EmelianovPavel Emelianov
8fc6184ef19[IOPRIO] Fix potential deadlock found by lockdepcfq_bc_list_lock should be taken with IRQs disabled
Andrey MirkinAndrey Mirkin
57eaae4286b[CPT] Reserve vsyscall section and object IDSupport 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.
Pavel EmelianovPavel Emelianov
4f4bec72b62[LOCKDEP] Fix lockdep for virtualized runqueueslockdep 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 st...
Pavel EmelianovPavel Emelianov
90720dbdff0[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 deadlockProblem 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
David S. MillerDavid S. Miller
5a86c69d8c0[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
Alexandr AndreevAlexandr Andreev
6c43a89c8f6[VESTATS] Fix memory page allocation latency stats.
Alexandr AndreevAlexandr Andreev
4ac8434820f[IOPRIO] Fix beancounter handling when CONFIG_UBC_IO_PRIO=nwhen CONFIG_UBC_IO_PRIO=n get/put_beancoutner() is done on unitialized pointer to beancounter.
Alexandr AndreevAlexandr Andreev
07f99d55bbd[IOPRIO] Fix compilation when CONFIG_UBC_IO_PRIO=ncompilation fix fo block/cfq-iosched.c when CONFIG_UBC_IO_PRIO=n
Vasily TarasovVasily Tarasov
215274a3981[IOPRIO] Handle subbeancounters correctly in get_io_ub()get_io_ub() should return top beancounters only. plus minor cleanup.
Andrey MirkinAndrey Mirkin
1004f2fd3c9[CPT] Align netroute section in cpt dumpNet route section in image file was not aligned correctly, leading to CPT dump file being corrupted and unreadable on restore.
Andrey MirkinAndrey Mirkin
839daf9afb7[CPT] [IA64] Fix checking of CPU capabilities on IA64
Denis V. LunevDenis V. Lunev
75fd626d932Fix leak of loopback per-cpu stats.
Alexey KuznetsovAlexey Kuznetsov
988f7fa2f08[IA64] unwind did not work for processes born with CLONE_STOPPEDMinor 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.
Alexey KuznetsovAlexey Kuznetsov
8fb2aa401fe[CPT][IA64] add debugging NAT bits, remove debugging RSE
Kirill KorotaevKirill Korotaev
d3870a8a15cCharge vm_area_struct and sigqueue structures to kmemsize.
OpenVZ teamOpenVZ team
9b78e91b01blinux-2.6.18-028stab022 released
Andrey MirkinAndrey Mirkin
f915fc39658[CPT] Fix kernel_thread creation oops when build with regparamsLast kernel was compiled with regparm and we get an oops in our home-made local_kernel_thread_helper which differs from kernel_thread_helper in entry.S The best sollution is to eliminate local_kernel_thread_helper() in CPT code and use kernel_thread_helper() from entry.S.
OpenVZ teamOpenVZ team
b3d0298fdd4linux-2.6.18-028stab021 released
Vasily TarasovVasily Tarasov
f0967ebfed5[IOPRIO] request gets a beancounterPreviously, we could release a beancounter that has requests in-flight. Now, every request gets a ub, so beancounter can disappear only after all requests are accomplished. This reasoning concerns async requests only. Also note, that now the final put of beancounter can occur with queue lock held, so we modify release_beancounter() function in order it always use another thread for actual relea...
Denis V. LunevDenis V. Lunev
eda5b00e671[IOPRIO] Compilation fix for ub_prio
Alexey DobriyanAlexey Dobriyan
099052eb6bbLimit setluid caps in VE as in 2.6.9.
Alexey DobriyanAlexey Dobriyan
3671cac3a93As per debug session and discussions with Pavel, dealing with kmemsizeprecharges was done bit early, i.e. kmem_cache_free(sighand) could shortcut and bump kmemsize precharge again when freeing sighand, after ub_task_uncharge() dealt with it. So we need to deal with kmemsize precharged in ub_task_put()
Vasily TarasovVasily Tarasov
7d547b7630f[IOPRIO] get queue lock on async queues putWhen beancounter dies all async queues assosiated with it are removed from hash list. This operation should be protected by queue lock.
OpenVZ teamOpenVZ team
80e174c9aaclinux-2.6.18-028stab020 released
Vasily TarasovVasily Tarasov
96f3f6cf053[IOPRIO] excess list_del in forced dispatching caseWe don't need to delete cfq_bc_data from active list in forced dispatching case, because it happens automatically: cfq_forced_dispatch_cfqqs() -> cfq_dispatch_insert() -> cfq_remove_request() -> cfq_del_crq_rb() -> cfq_del_cfqq_rr() -> ...
OpenVZ teamOpenVZ team
223b47dc686linux-2.6.18-028test019 released
Andrey MirkinAndrey Mirkin
9b04401d071[VETH] MAC filtering on veth device1. enabled MAC address setting on veth devices from inside VE 2. enabled MAC filtering on veth by default. 3. also added checks for correctness (non-zero and non-multicast) of address.
Andrey SavochkinAndrey Savochkin
e6649e8423bFix for over-optimization of OTHERSOCKBUF accounting. For those sockets there is no protection by socket sock.Bug was provoked by optimization of charging/uncharging othersockbufs: diff-ubc-tcpsndopt-20060429 In brief idea is the following: optimization is based on assumption that soket is always locked by lock_sock and protected from using the socket by more than one users simultaneously. But current assumption is wrong for datagram sockets (for example PF_UNIX ones), that are not locked in the majo...
Alexey DobriyanAlexey Dobriyan
3fb47459ca2[PATCH] buffer: memorder fixunlock_buffer(), like unlock_page(), must not clear the lock without ensuring that the critical section is closed. Mingming later sent the same patch, saying: We are running SDET benchmark and saw double free issue for ext3 extended attributes block, which complains the same xattr block already being freed (in ext3_xattr_release_block()). The problem could also been triggered by multiple thr...
Eric SandeenEric Sandeen
184dd57af87[PATCH] return ENOENT from ext3_link when racing with unlinkReturn -ENOENT from ext[34]_link if we've raced with unlink and i_nlink is 0. Doing otherwise has the potential to corrupt the orphan inode list, because we'd wind up with an inode with a non-zero link count on the list, and it will never get properly cleaned up & removed from the orphan list before it is freed. [akpm@osdl.org: build fix] Signed-off-by: Eric Sandeen <sandeen@redhat.com> Cc: <...
Kirill KorotaevKirill Korotaev
9773dc0823f[PATCH] make static counters in new_inode and iunique be 32 bitsFrom: Jeff Layton <jlayton@redhat.com> To: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org When a 32-bit program that was not compiled with large file offsets does a stat and gets a st_ino value back that won't fit in the 32 bit field, glibc (correctly) generates an EOVERFLOW error. We can't do anything about fs's with larger permanent inode numbers, but when we generate them on th...
Vasily TarasovVasily Tarasov
b2188163f0a[IOPRIO] A handle to switch off write prioritizationAdds write_virt_mode file in /sys/block/<device>/queue/iosched/, that allows to switch off async requests prioritization. Prioritization switching off is achieved by setting an owner of newly created cfq_queues to UB0.
Vasily TarasovVasily Tarasov
7d191bf7c59[IOPRIO] Switches UB context in places necessary for proper write schedulingWe need information about owner of async requests. We get it from the page marked by IO Accounting feature and change context to the context of page's owner. Later cfq picks up current context and handle it properly (previous patch).
Vasily TarasovVasily Tarasov
bb718a47c9f[IOPRIO] Support of prioritized write inside cfqAll ubioprio patches before now do fair prioritization only for sync requests. For async requests the problem exists: who has actually produced the request? Using OVZ IO Accounting feature we can obtain this arcane knowledge. IO Accounting feature sets a mark to page: who's made it dirty. At the moment of request submitting we change context to the context of the owner of the page (this operati...
Vasily TarasovVasily Tarasov
e5b83d9656f[IOPRIO] A handle to switch virtmode off/onAdds virt_mode file in /sys/block/<device>/queue/iosched/, that allows to switch off virtualized mode. Virtualization switching off is achieved by setting an owner of newly created cfq_queues to UB0. Note, it means, the already created process, will still scheduled.
Vasily TarasovVasily Tarasov
1b0602c43c3[IOPRIO] Configurable base timeslice durationelevator's parameters can be managed using files in /sys/block/<device>/queue/iosched/. This patch adds there ub_slice file, that controls base_slice value. By default it is HZ/2.
Vasily TarasovVasily Tarasov
2a92327992f[IOPRIO] Add userspace interface for beancounter ioprio managementioprio_set() syscall is modified by this patch to get as a second parameter IOPRIO_WHO_UBC constant, that indicates, that ioprio should be set for beancounter. Additional information on using this syscall is located in Documentation/block/ioprio.txt file.
Vasily TarasovVasily Tarasov
0f23938a3fb[IOPRIO] Introduce active beancounter switchThis is very important patch, that implements actual scheduling of UBs. UB holds a list of active UBs (UBs that have I/O requests at the moment) in the last serviced order. It allows us to get next UB for service for O(1) time. The duration of time slice depends on UB priority by the following way: ub_slice = base_slice + (base_slice * (ioprio - UB_IOPRIO_MIN)) / (UB_IOPRIO_MAX - UB_IOPRIO_MIN)...
Vasily TarasovVasily Tarasov
8a8e15be204[IOPRIO] Handle forced dispatching caseSometimes driver asks elevator to throw down all requests in-flight to it (to driver). This is called forced dispatching. In CFQ it is handled by separate functions and this patch modifies them to work properly with ubioprio feature.
Vasily TarasovVasily Tarasov
dfcdd8ca977[IOPRIO] Switche cfq to use virtualized data structuresOne of the main part of ubioprio feature is to switch CFQ algorithm from working on per-device structures (cfq_data) to working on per-(device, ub) structures (cfq_bc_data). This patch does it.
Vasily TarasovVasily Tarasov
42a1c406acbAdd hooks on device queue creation/eliminationNow, when creation/elimination of device queue occurs all data structures are properly initialized.
Vasily TarasovVasily Tarasov
27e9397c1ac[IOPRIO] Introduce main data structures and functionsThe patch defines new data structures and functions that forms basic infrastructure of ubioprio feature. cfq_bc_data is a structure that represents pare: (block device, UB). It owns all virtualized data from original cfq_data structure. Each device (cfq_data) holds a list of cfq_bc_data structures. UB holds a list of active cfq_bc_data structures. Sources content more detailed description. The ...
Vasily TarasovVasily Tarasov
48d5939447d[IOPRIO] Adds appropriate description in Kconfig fileThe patch adds description of ubioprio feature to Kconfig file.
Vasily TarasovVasily Tarasov
67b80a9ea60This patch just moves required declarations and definitions from cfq-iosched.c to external cfq-iosched.h file.This patchset introduces I/O prioritization for beancounters. The feature is implemented on basis of CFQ I/O scheduler. In CFQ I/O scheduler each process obtains a time slice, which duration depends on priority of the process. We use the same approach for UBs. All the logic of I/O scheduling for processes belonging to particular UB is preserved. So we obtain something like 2-level CFQ scheduli...