summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Volkov <pva@gentoo.org>2009-09-22 19:30:19 +0000
committerPeter Volkov <pva@gentoo.org>2009-09-22 19:30:19 +0000
commit789fd4484b3316707743a3a3b4b4848c8a32547e (patch)
tree0e0e00b5ac33982a233f4d8dd5be336aa2e74144 /sys-kernel
parentVersion bump (diff)
downloadgentoo-2-789fd4484b3316707743a3a3b4b4848c8a32547e.tar.gz
gentoo-2-789fd4484b3316707743a3a3b4b4848c8a32547e.tar.bz2
gentoo-2-789fd4484b3316707743a3a3b4b4848c8a32547e.zip
Remove old kernels, which are _really old_ and affected by bug #279260, thank Daniel Robbins for report.
(Portage version: 2.1.6.13/cvs/Linux x86_64)
Diffstat (limited to 'sys-kernel')
-rw-r--r--sys-kernel/openvz-sources/ChangeLog18
-rw-r--r--sys-kernel/openvz-sources/files/openvz-sources-2.6.18.028.056.1-3ware.patch430
-rw-r--r--sys-kernel/openvz-sources/files/openvz-sources-2.6.18.028.056.1-CONFIG_SECCOMP-build.patch154
-rw-r--r--sys-kernel/openvz-sources/files/openvz-sources-2.6.18.028.056.1-utimensat.patch18
-rw-r--r--sys-kernel/openvz-sources/files/openvz-sources-2.6.18.028.057.2-fix-CIFS-build.patch25
-rw-r--r--sys-kernel/openvz-sources/files/openvz-sources-2.6.18.028.057.2-missed-PATH_MAX-sumversion.c.patch13
-rw-r--r--sys-kernel/openvz-sources/files/openvz-sources-2.6.18.028.057.2-qouta-compat-build.patch13
-rw-r--r--sys-kernel/openvz-sources/files/openvz-sources-2.6.18.028.057.2-utimenstat.patch18
-rw-r--r--sys-kernel/openvz-sources/files/openvz-sources-2.6.18.028.059.6-proper-utimensat.patch306
-rw-r--r--sys-kernel/openvz-sources/openvz-sources-2.6.18.028.056.1.ebuild42
-rw-r--r--sys-kernel/openvz-sources/openvz-sources-2.6.18.028.062.3.ebuild43
-rw-r--r--sys-kernel/openvz-sources/openvz-sources-2.6.24.009.1-r2.ebuild37
-rw-r--r--sys-kernel/openvz-sources/openvz-sources-2.6.27.2.1-r1.ebuild46
13 files changed, 17 insertions, 1146 deletions
diff --git a/sys-kernel/openvz-sources/ChangeLog b/sys-kernel/openvz-sources/ChangeLog
index 0d72b8cd7ff2..a54afb159779 100644
--- a/sys-kernel/openvz-sources/ChangeLog
+++ b/sys-kernel/openvz-sources/ChangeLog
@@ -1,6 +1,22 @@
# ChangeLog for sys-kernel/openvz-sources
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/openvz-sources/ChangeLog,v 1.114 2009/07/22 05:54:03 pva Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/openvz-sources/ChangeLog,v 1.115 2009/09/22 19:30:19 pva Exp $
+
+ 22 Sep 2009; Peter Volkov <pva@gentoo.org>
+ -openvz-sources-2.6.18.028.056.1.ebuild,
+ -files/openvz-sources-2.6.18.028.056.1-3ware.patch,
+ -files/openvz-sources-2.6.18.028.056.1-CONFIG_SECCOMP-build.patch,
+ -files/openvz-sources-2.6.18.028.056.1-utimensat.patch,
+ -files/openvz-sources-2.6.18.028.057.2-fix-CIFS-build.patch,
+ -files/openvz-sources-2.6.18.028.057.2-missed-PATH_MAX-sumversion.c.patch,
+ -files/openvz-sources-2.6.18.028.057.2-qouta-compat-build.patch,
+ -files/openvz-sources-2.6.18.028.057.2-utimenstat.patch,
+ -files/openvz-sources-2.6.18.028.059.6-proper-utimensat.patch,
+ -openvz-sources-2.6.18.028.062.3.ebuild,
+ -openvz-sources-2.6.24.009.1-r2.ebuild,
+ -openvz-sources-2.6.27.2.1-r1.ebuild:
+ Remove old kernels, which are _really old_ and affected by bug #279260,
+ thank Daniel Robbins for report.
22 Jul 2009; Peter Volkov <pva@gentoo.org>
openvz-sources-2.6.27.2.1-r2.ebuild,
diff --git a/sys-kernel/openvz-sources/files/openvz-sources-2.6.18.028.056.1-3ware.patch b/sys-kernel/openvz-sources/files/openvz-sources-2.6.18.028.056.1-3ware.patch
deleted file mode 100644
index 3f509f180714..000000000000
--- a/sys-kernel/openvz-sources/files/openvz-sources-2.6.18.028.056.1-3ware.patch
+++ /dev/null
@@ -1,430 +0,0 @@
-From: Chip Coldwell <coldwell@redhat.com>
-Subject: [RHEL-5.1 PATCH] bz223465 3ware 9650SE not recognized by updated 3w-9xxx module
-Date: Thu, 31 May 2007 15:40:55 -0400 (EDT)
-Bugzilla: 223465
-Message-Id: <Pine.LNX.4.64.0705311538030.3365@bogart.boston.redhat.com>
-Changelog: [scsi] 3ware 9650SE not recognized by updated 3w-9xxx module
-
-
-This is a literal (i.e. no changes) backport of the upstream commit
-below. I do not have the 9650SE hardware, so I tested on a 9500S for
-regressions (using iozone). I think we might as well include the
-whole patch instead of just cherry-picking out the hardware support,
-since the other two changes look like fixes we want anyway.
-
-commit 4039c30ef5d9189ff8dc72aaf610d1c933877e20
-Author: adam radford <aradford@gmail.com>
-
- [SCSI] 3ware 9000 add support for 9650SE
-
- Updates the 3ware 9000 driver:
-
- - Free irq handler in __twa_shutdown().
- - Serialize reset code.
- - Add support for 9650SE controllers.
-
- Signed-off-by: Adam Radford <linuxraid@amcc.com>
- Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
-
-diff --git a/drivers/scsi/3w-9xxx.c b/drivers/scsi/3w-9xxx.c
-index 5f8c26c..b091a0f 100644
---- a/drivers/scsi/3w-9xxx.c
-+++ b/drivers/scsi/3w-9xxx.c
-@@ -66,6 +66,9 @@
- 2.26.02.006 - Fix 9550SX pchip reset timeout.
- Add big endian support.
- 2.26.02.007 - Disable local interrupts during kmap/unmap_atomic().
-+ 2.26.02.008 - Free irq handler in __twa_shutdown().
-+ Serialize reset code.
-+ Add support for 9650SE controllers.
- */
-
- #include <linux/module.h>
-@@ -89,7 +92,7 @@
- #include "3w-9xxx.h"
-
- /* Globals */
--#define TW_DRIVER_VERSION "2.26.02.007"
-+#define TW_DRIVER_VERSION "2.26.02.008"
- static TW_Device_Extension *twa_device_extension_list[TW_MAX_SLOT];
- static unsigned int twa_device_extension_count;
- static int twa_major = -1;
-@@ -566,9 +569,9 @@ static int twa_check_srl(TW_Device_Extension *tw_dev, int *flashed)
- goto out;
- }
-
-- tw_dev->working_srl = fw_on_ctlr_srl;
-- tw_dev->working_branch = fw_on_ctlr_branch;
-- tw_dev->working_build = fw_on_ctlr_build;
-+ tw_dev->tw_compat_info.working_srl = fw_on_ctlr_srl;
-+ tw_dev->tw_compat_info.working_branch = fw_on_ctlr_branch;
-+ tw_dev->tw_compat_info.working_build = fw_on_ctlr_build;
-
- /* Try base mode compatibility */
- if (!(init_connect_result & TW_CTLR_FW_COMPATIBLE)) {
-@@ -590,10 +593,23 @@ static int twa_check_srl(TW_Device_Extension *tw_dev, int *flashed)
- }
- goto out;
- }
-- tw_dev->working_srl = TW_BASE_FW_SRL;
-- tw_dev->working_branch = TW_BASE_FW_BRANCH;
-- tw_dev->working_build = TW_BASE_FW_BUILD;
-- }
-+ tw_dev->tw_compat_info.working_srl = TW_BASE_FW_SRL;
-+ tw_dev->tw_compat_info.working_branch = TW_BASE_FW_BRANCH;
-+ tw_dev->tw_compat_info.working_build = TW_BASE_FW_BUILD;
-+ }
-+
-+ /* Load rest of compatibility struct */
-+ strncpy(tw_dev->tw_compat_info.driver_version, TW_DRIVER_VERSION, strlen(TW_DRIVER_VERSION));
-+ tw_dev->tw_compat_info.driver_srl_high = TW_CURRENT_DRIVER_SRL;
-+ tw_dev->tw_compat_info.driver_branch_high = TW_CURRENT_DRIVER_BRANCH;
-+ tw_dev->tw_compat_info.driver_build_high = TW_CURRENT_DRIVER_BUILD;
-+ tw_dev->tw_compat_info.driver_srl_low = TW_BASE_FW_SRL;
-+ tw_dev->tw_compat_info.driver_branch_low = TW_BASE_FW_BRANCH;
-+ tw_dev->tw_compat_info.driver_build_low = TW_BASE_FW_BUILD;
-+ tw_dev->tw_compat_info.fw_on_ctlr_srl = fw_on_ctlr_srl;
-+ tw_dev->tw_compat_info.fw_on_ctlr_branch = fw_on_ctlr_branch;
-+ tw_dev->tw_compat_info.fw_on_ctlr_build = fw_on_ctlr_build;
-+
- retval = 0;
- out:
- return retval;
-@@ -631,7 +647,7 @@ static int twa_chrdev_ioctl(struct inode *inode, struct file *file, unsigned int
- goto out2;
-
- /* Check data buffer size */
-- if (driver_command.buffer_length > TW_MAX_SECTORS * 512) {
-+ if (driver_command.buffer_length > TW_MAX_SECTORS * 2048) {
- retval = TW_IOCTL_ERROR_OS_EINVAL;
- goto out2;
- }
-@@ -680,13 +696,6 @@ static int twa_chrdev_ioctl(struct inode *inode, struct file *file, unsigned int
- /* Now wait for command to complete */
- timeout = wait_event_timeout(tw_dev->ioctl_wqueue, tw_dev->chrdev_request_id == TW_IOCTL_CHRDEV_FREE, timeout);
-
-- /* See if we reset while waiting for the ioctl to complete */
-- if (test_bit(TW_IN_RESET, &tw_dev->flags)) {
-- clear_bit(TW_IN_RESET, &tw_dev->flags);
-- retval = TW_IOCTL_ERROR_OS_ERESTARTSYS;
-- goto out3;
-- }
--
- /* We timed out, and didn't get an interrupt */
- if (tw_dev->chrdev_request_id != TW_IOCTL_CHRDEV_FREE) {
- /* Now we need to reset the board */
-@@ -694,11 +703,6 @@ static int twa_chrdev_ioctl(struct inode *inode, struct file *file, unsigned int
- tw_dev->host->host_no, TW_DRIVER, 0xc,
- cmd);
- retval = TW_IOCTL_ERROR_OS_EIO;
-- spin_lock_irqsave(tw_dev->host->host_lock, flags);
-- tw_dev->state[request_id] = TW_S_COMPLETED;
-- twa_free_request_id(tw_dev, request_id);
-- tw_dev->posted_request_count--;
-- spin_unlock_irqrestore(tw_dev->host->host_lock, flags);
- twa_reset_device_extension(tw_dev, 1);
- goto out3;
- }
-@@ -717,16 +721,7 @@ static int twa_chrdev_ioctl(struct inode *inode, struct file *file, unsigned int
- tw_ioctl->driver_command.status = 0;
- /* Copy compatiblity struct into ioctl data buffer */
- tw_compat_info = (TW_Compatibility_Info *)tw_ioctl->data_buffer;
-- strncpy(tw_compat_info->driver_version, TW_DRIVER_VERSION, strlen(TW_DRIVER_VERSION));
-- tw_compat_info->working_srl = tw_dev->working_srl;
-- tw_compat_info->working_branch = tw_dev->working_branch;
-- tw_compat_info->working_build = tw_dev->working_build;
-- tw_compat_info->driver_srl_high = TW_CURRENT_DRIVER_SRL;
-- tw_compat_info->driver_branch_high = TW_CURRENT_DRIVER_BRANCH;
-- tw_compat_info->driver_build_high = TW_CURRENT_DRIVER_BUILD;
-- tw_compat_info->driver_srl_low = TW_BASE_FW_SRL;
-- tw_compat_info->driver_branch_low = TW_BASE_FW_BRANCH;
-- tw_compat_info->driver_build_low = TW_BASE_FW_BUILD;
-+ memcpy(tw_compat_info, &tw_dev->tw_compat_info, sizeof(TW_Compatibility_Info));
- break;
- case TW_IOCTL_GET_LAST_EVENT:
- if (tw_dev->event_queue_wrapped) {
-@@ -895,7 +890,8 @@ static int twa_decode_bits(TW_Device_Extension *tw_dev, u32 status_reg_value)
- }
-
- if (status_reg_value & TW_STATUS_QUEUE_ERROR) {
-- TW_PRINTK(tw_dev->host, TW_DRIVER, 0xe, "Controller Queue Error: clearing");
-+ if ((tw_dev->tw_pci_dev->device != PCI_DEVICE_ID_3WARE_9650SE) || (!test_bit(TW_IN_RESET, &tw_dev->flags)))
-+ TW_PRINTK(tw_dev->host, TW_DRIVER, 0xe, "Controller Queue Error: clearing");
- writel(TW_CONTROL_CLEAR_QUEUE_ERROR, TW_CONTROL_REG_ADDR(tw_dev));
- }
-
-@@ -939,10 +935,12 @@ static int twa_empty_response_queue_large(TW_Device_Extension *tw_dev)
- unsigned long before;
- int retval = 1;
-
-- if (tw_dev->tw_pci_dev->device == PCI_DEVICE_ID_3WARE_9550SX) {
-+ if ((tw_dev->tw_pci_dev->device == PCI_DEVICE_ID_3WARE_9550SX) ||
-+ (tw_dev->tw_pci_dev->device == PCI_DEVICE_ID_3WARE_9650SE)) {
- before = jiffies;
- while ((response_que_value & TW_9550SX_DRAIN_COMPLETED) != TW_9550SX_DRAIN_COMPLETED) {
- response_que_value = readl(TW_RESPONSE_QUEUE_REG_ADDR_LARGE(tw_dev));
-+ msleep(1);
- if (time_after(jiffies, before + HZ * 30))
- goto out;
- }
-@@ -1214,6 +1212,10 @@ static irqreturn_t twa_interrupt(int irq, void *dev_instance)
-
- handled = 1;
-
-+ /* If we are resetting, bail */
-+ if (test_bit(TW_IN_RESET, &tw_dev->flags))
-+ goto twa_interrupt_bail;
-+
- /* Check controller for errors */
- if (twa_check_bits(status_reg_value)) {
- if (twa_decode_bits(tw_dev, status_reg_value)) {
-@@ -1355,8 +1357,8 @@ static void twa_load_sgl(TW_Command_Full *full_command_packet, int request_id, d
-
- if (TW_OP_OUT(full_command_packet->command.newcommand.opcode__reserved) == TW_OP_EXECUTE_SCSI) {
- newcommand = &full_command_packet->command.newcommand;
-- newcommand->request_id__lunl =
-- TW_REQ_LUN_IN(TW_LUN_OUT(newcommand->request_id__lunl), request_id);
-+ newcommand->request_id__lunl =
-+ cpu_to_le16(TW_REQ_LUN_IN(TW_LUN_OUT(newcommand->request_id__lunl), request_id));
- newcommand->sg_list[0].address = TW_CPU_TO_SGL(dma_handle + sizeof(TW_Ioctl_Buf_Apache) - 1);
- newcommand->sg_list[0].length = cpu_to_le32(length);
- newcommand->sgl_entries__lunh =
-@@ -1531,6 +1533,13 @@ static int twa_post_command_packet(TW_Device_Extension *tw_dev, int request_id,
- int retval = 1;
-
- command_que_value = tw_dev->command_packet_phys[request_id];
-+
-+ /* For 9650SE write low 4 bytes first */
-+ if (tw_dev->tw_pci_dev->device == PCI_DEVICE_ID_3WARE_9650SE) {
-+ command_que_value += TW_COMMAND_OFFSET;
-+ writel((u32)command_que_value, TW_COMMAND_QUEUE_REG_ADDR_LARGE(tw_dev));
-+ }
-+
- status_reg_value = readl(TW_STATUS_REG_ADDR(tw_dev));
-
- if (twa_check_bits(status_reg_value))
-@@ -1557,13 +1566,17 @@ static int twa_post_command_packet(TW_Device_Extension *tw_dev, int request_id,
- TW_UNMASK_COMMAND_INTERRUPT(tw_dev);
- goto out;
- } else {
-- /* We successfully posted the command packet */
-- if (sizeof(dma_addr_t) > 4) {
-- command_que_value += TW_COMMAND_OFFSET;
-- writel((u32)command_que_value, TW_COMMAND_QUEUE_REG_ADDR(tw_dev));
-- writel((u32)((u64)command_que_value >> 32), TW_COMMAND_QUEUE_REG_ADDR(tw_dev) + 0x4);
-+ if (tw_dev->tw_pci_dev->device == PCI_DEVICE_ID_3WARE_9650SE) {
-+ /* Now write upper 4 bytes */
-+ writel((u32)((u64)command_que_value >> 32), TW_COMMAND_QUEUE_REG_ADDR_LARGE(tw_dev) + 0x4);
- } else {
-- writel(TW_COMMAND_OFFSET + command_que_value, TW_COMMAND_QUEUE_REG_ADDR(tw_dev));
-+ if (sizeof(dma_addr_t) > 4) {
-+ command_que_value += TW_COMMAND_OFFSET;
-+ writel((u32)command_que_value, TW_COMMAND_QUEUE_REG_ADDR(tw_dev));
-+ writel((u32)((u64)command_que_value >> 32), TW_COMMAND_QUEUE_REG_ADDR(tw_dev) + 0x4);
-+ } else {
-+ writel(TW_COMMAND_OFFSET + command_que_value, TW_COMMAND_QUEUE_REG_ADDR(tw_dev));
-+ }
- }
- tw_dev->state[request_id] = TW_S_POSTED;
- tw_dev->posted_request_count++;
-@@ -1620,14 +1633,9 @@ static int twa_reset_device_extension(TW_Device_Extension *tw_dev, int ioctl_res
- goto out;
-
- TW_ENABLE_AND_CLEAR_INTERRUPTS(tw_dev);
-+ clear_bit(TW_IN_RESET, &tw_dev->flags);
-+ tw_dev->chrdev_request_id = TW_IOCTL_CHRDEV_FREE;
-
-- /* Wake up any ioctl that was pending before the reset */
-- if ((tw_dev->chrdev_request_id == TW_IOCTL_CHRDEV_FREE) || (ioctl_reset)) {
-- clear_bit(TW_IN_RESET, &tw_dev->flags);
-- } else {
-- tw_dev->chrdev_request_id = TW_IOCTL_CHRDEV_FREE;
-- wake_up(&tw_dev->ioctl_wqueue);
-- }
- retval = 0;
- out:
- return retval;
-@@ -1736,6 +1744,9 @@ static int twa_scsi_eh_reset(struct scsi_cmnd *SCpnt)
- "WARNING: (0x%02X:0x%04X): Command (0x%x) timed out, resetting card.\n",
- TW_DRIVER, 0x2c, SCpnt->cmnd[0]);
-
-+ /* Make sure we are not issuing an ioctl or resetting from ioctl */
-+ mutex_lock(&tw_dev->ioctl_lock);
-+
- /* Now reset the card and some of the device extension data */
- if (twa_reset_device_extension(tw_dev, 0)) {
- TW_PRINTK(tw_dev->host, TW_DRIVER, 0x2b, "Controller reset failed during scsi host reset");
-@@ -1744,6 +1755,7 @@ static int twa_scsi_eh_reset(struct scsi_cmnd *SCpnt)
-
- retval = SUCCESS;
- out:
-+ mutex_unlock(&tw_dev->ioctl_lock);
- return retval;
- } /* End twa_scsi_eh_reset() */
-
-@@ -1753,8 +1765,14 @@ static int twa_scsi_queue(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_cmnd
- int request_id, retval;
- TW_Device_Extension *tw_dev = (TW_Device_Extension *)SCpnt->device->host->hostdata;
-
-+ /* If we are resetting due to timed out ioctl, report as busy */
-+ if (test_bit(TW_IN_RESET, &tw_dev->flags)) {
-+ retval = SCSI_MLQUEUE_HOST_BUSY;
-+ goto out;
-+ }
-+
- /* Check if this FW supports luns */
-- if ((SCpnt->device->lun != 0) && (tw_dev->working_srl < TW_FW_SRL_LUNS_SUPPORTED)) {
-+ if ((SCpnt->device->lun != 0) && (tw_dev->tw_compat_info.working_srl < TW_FW_SRL_LUNS_SUPPORTED)) {
- SCpnt->result = (DID_BAD_TARGET << 16);
- done(SCpnt);
- retval = 0;
-@@ -1960,6 +1978,9 @@ static void __twa_shutdown(TW_Device_Extension *tw_dev)
- /* Disable interrupts */
- TW_DISABLE_INTERRUPTS(tw_dev);
-
-+ /* Free up the IRQ */
-+ free_irq(tw_dev->tw_pci_dev->irq, tw_dev);
-+
- printk(KERN_WARNING "3w-9xxx: Shutting down host %d.\n", tw_dev->host->host_no);
-
- /* Tell the card we are shutting down */
-@@ -2091,21 +2112,25 @@ static int __devinit twa_probe(struct pci_dev *pdev, const struct pci_device_id
-
- /* Initialize the card */
- if (twa_reset_sequence(tw_dev, 0))
-- goto out_release_mem_region;
-+ goto out_iounmap;
-
- /* Set host specific parameters */
-- host->max_id = TW_MAX_UNITS;
-+ if (pdev->device == PCI_DEVICE_ID_3WARE_9650SE)
-+ host->max_id = TW_MAX_UNITS_9650SE;
-+ else
-+ host->max_id = TW_MAX_UNITS;
-+
- host->max_cmd_len = TW_MAX_CDB_LEN;
-
- /* Channels aren't supported by adapter */
-- host->max_lun = TW_MAX_LUNS(tw_dev->working_srl);
-+ host->max_lun = TW_MAX_LUNS(tw_dev->tw_compat_info.working_srl);
- host->max_channel = 0;
-
- /* Register the card with the kernel SCSI layer */
- retval = scsi_add_host(host, &pdev->dev);
- if (retval) {
- TW_PRINTK(tw_dev->host, TW_DRIVER, 0x27, "scsi add host failed");
-- goto out_release_mem_region;
-+ goto out_iounmap;
- }
-
- pci_set_drvdata(pdev, host);
-@@ -2145,6 +2170,8 @@ static int __devinit twa_probe(struct pci_dev *pdev, const struct pci_device_id
-
- out_remove_host:
- scsi_remove_host(host);
-+out_iounmap:
-+ iounmap(tw_dev->base_addr);
- out_release_mem_region:
- pci_release_regions(pdev);
- out_free_device_extension:
-@@ -2170,12 +2197,12 @@ static void twa_remove(struct pci_dev *pdev)
- twa_major = -1;
- }
-
-- /* Free up the IRQ */
-- free_irq(tw_dev->tw_pci_dev->irq, tw_dev);
--
- /* Shutdown the card */
- __twa_shutdown(tw_dev);
-
-+ /* Free IO remapping */
-+ iounmap(tw_dev->base_addr);
-+
- /* Free up the mem region */
- pci_release_regions(pdev);
-
-@@ -2193,6 +2220,8 @@ static struct pci_device_id twa_pci_tbl[] __devinitdata = {
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
- { PCI_VENDOR_ID_3WARE, PCI_DEVICE_ID_3WARE_9550SX,
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
-+ { PCI_VENDOR_ID_3WARE, PCI_DEVICE_ID_3WARE_9650SE,
-+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
- { }
- };
- MODULE_DEVICE_TABLE(pci, twa_pci_tbl);
-diff --git a/drivers/scsi/3w-9xxx.h b/drivers/scsi/3w-9xxx.h
-index e5685be..7901517 100644
---- a/drivers/scsi/3w-9xxx.h
-+++ b/drivers/scsi/3w-9xxx.h
-@@ -289,7 +289,6 @@ static twa_message_type twa_error_table[] = {
- #define TW_STATUS_VALID_INTERRUPT 0x00DF0000
-
- /* PCI related defines */
--#define TW_NUMDEVICES 1
- #define TW_PCI_CLEAR_PARITY_ERRORS 0xc100
- #define TW_PCI_CLEAR_PCI_ABORT 0x2000
-
-@@ -335,6 +334,7 @@ static twa_message_type twa_error_table[] = {
- #define TW_ALIGNMENT_9000 4 /* 4 bytes */
- #define TW_ALIGNMENT_9000_SGL 0x3
- #define TW_MAX_UNITS 16
-+#define TW_MAX_UNITS_9650SE 32
- #define TW_INIT_MESSAGE_CREDITS 0x100
- #define TW_INIT_COMMAND_PACKET_SIZE 0x3
- #define TW_INIT_COMMAND_PACKET_SIZE_EXTENDED 0x6
-@@ -354,7 +354,6 @@ static twa_message_type twa_error_table[] = {
- #define TW_MAX_RESPONSE_DRAIN 256
- #define TW_MAX_AEN_DRAIN 40
- #define TW_IN_RESET 2
--#define TW_IN_CHRDEV_IOCTL 3
- #define TW_IN_ATTENTION_LOOP 4
- #define TW_MAX_SECTORS 256
- #define TW_AEN_WAIT_TIME 1000
-@@ -417,6 +416,9 @@ static twa_message_type twa_error_table[] = {
- #ifndef PCI_DEVICE_ID_3WARE_9550SX
- #define PCI_DEVICE_ID_3WARE_9550SX 0x1003
- #endif
-+#ifndef PCI_DEVICE_ID_3WARE_9650SE
-+#define PCI_DEVICE_ID_3WARE_9650SE 0x1004
-+#endif
-
- /* Bitmask macros to eliminate bitfields */
-
-@@ -442,6 +444,7 @@ static twa_message_type twa_error_table[] = {
- #define TW_CONTROL_REG_ADDR(x) (x->base_addr)
- #define TW_STATUS_REG_ADDR(x) ((unsigned char __iomem *)x->base_addr + 0x4)
- #define TW_COMMAND_QUEUE_REG_ADDR(x) (sizeof(dma_addr_t) > 4 ? ((unsigned char __iomem *)x->base_addr + 0x20) : ((unsigned char __iomem *)x->base_addr + 0x8))
-+#define TW_COMMAND_QUEUE_REG_ADDR_LARGE(x) ((unsigned char __iomem *)x->base_addr + 0x20)
- #define TW_RESPONSE_QUEUE_REG_ADDR(x) ((unsigned char __iomem *)x->base_addr + 0xC)
- #define TW_RESPONSE_QUEUE_REG_ADDR_LARGE(x) ((unsigned char __iomem *)x->base_addr + 0x30)
- #define TW_CLEAR_ALL_INTERRUPTS(x) (writel(TW_STATUS_VALID_INTERRUPT, TW_CONTROL_REG_ADDR(x)))
-@@ -626,6 +629,9 @@ typedef struct TAG_TW_Compatibility_Info
- unsigned short driver_srl_low;
- unsigned short driver_branch_low;
- unsigned short driver_build_low;
-+ unsigned short fw_on_ctlr_srl;
-+ unsigned short fw_on_ctlr_branch;
-+ unsigned short fw_on_ctlr_build;
- } TW_Compatibility_Info;
-
- #pragma pack()
-@@ -668,9 +674,7 @@ typedef struct TAG_TW_Device_Extension {
- wait_queue_head_t ioctl_wqueue;
- struct mutex ioctl_lock;
- char aen_clobber;
-- unsigned short working_srl;
-- unsigned short working_branch;
-- unsigned short working_build;
-+ TW_Compatibility_Info tw_compat_info;
- } TW_Device_Extension;
-
- #endif /* _3W_9XXX_H */
-
-Chip
-
---
-Charles M. "Chip" Coldwell
-Senior Software Engineer
-Red Hat, Inc
-978-392-2426
-
diff --git a/sys-kernel/openvz-sources/files/openvz-sources-2.6.18.028.056.1-CONFIG_SECCOMP-build.patch b/sys-kernel/openvz-sources/files/openvz-sources-2.6.18.028.056.1-CONFIG_SECCOMP-build.patch
deleted file mode 100644
index 742b91c5ee41..000000000000
--- a/sys-kernel/openvz-sources/files/openvz-sources-2.6.18.028.056.1-CONFIG_SECCOMP-build.patch
+++ /dev/null
@@ -1,154 +0,0 @@
-diff --git a/fs/compat.c b/fs/compat.c
-index 6c4741a..4f983e2 100644
---- a/fs/compat.c
-+++ b/fs/compat.c
-@@ -56,6 +56,10 @@
- #include <asm/mmu_context.h>
- #include <asm/ioctls.h>
-
-+#ifdef CONFIG_QUOTA_COMPAT
-+#include <linux/quota-compat.h>
-+#endif
-+
- extern void sigset_from_compat(sigset_t *set, compat_sigset_t *compat);
-
- int compat_log = 1;
-diff --git a/fs/quota.c b/fs/quota.c
-index e037b78..ca7a9be 100644
---- a/fs/quota.c
-+++ b/fs/quota.c
-@@ -18,6 +18,10 @@
- #include <linux/capability.h>
- #include <linux/quotaops.h>
-
-+#ifdef CONFIG_QUOTA_COMPAT
-+#include <linux/quota-compat.h>
-+#endif
-+
- /* Check validity of generic quotactl commands */
- static int generic_quotactl_valid(struct super_block *sb, int type, int cmd, qid_t id)
- {
-diff --git a/include/linux/quota-compat.h b/include/linux/quota-compat.h
-new file mode 100644
-index 0000000..c2f3435
---- /dev/null
-+++ b/include/linux/quota-compat.h
-@@ -0,0 +1,60 @@
-+/*
-+ * include/linux/quota-compat.h
-+ *
-+ * Copyright (C) 2008 SWsoft
-+ * All rights reserved.
-+ *
-+ * Licensing governed by "linux/COPYING.SWsoft" file.
-+ *
-+ */
-+
-+#ifndef _LINUX_QUOTA_COMPAT_
-+#define _LINUX_QUOTA_COMPAT_
-+
-+#include <linux/compat.h>
-+
-+#define QC_QUOTAON 0x0100 /* enable quotas */
-+#define QC_QUOTAOFF 0x0200 /* disable quotas */
-+
-+/* GETQUOTA, SETQUOTA and SETUSE which were at 0x0300-0x0500 has now
-+ * other parameteres
-+ */
-+#define QC_SYNC 0x0600 /* sync disk copy of a filesystems quotas */
-+#define QC_SETQLIM 0x0700 /* set limits */
-+/* GETSTATS at 0x0800 is now longer... */
-+#define QC_GETINFO 0x0900 /* get info about quotas - graces, flags... */
-+#define QC_SETINFO 0x0A00 /* set info about quotas */
-+#define QC_SETGRACE 0x0B00 /* set inode and block grace */
-+#define QC_SETFLAGS 0x0C00 /* set flags for quota */
-+#define QC_GETQUOTA 0x0D00 /* get limits and usage */
-+#define QC_SETQUOTA 0x0E00 /* set limits and usage */
-+#define QC_SETUSE 0x0F00 /* set usage */
-+/* 0x1000 used by old RSQUASH */
-+#define QC_GETSTATS 0x1100 /* get collected stats */
-+
-+struct compat_v2_dqblk {
-+ unsigned int dqb_ihardlimit;
-+ unsigned int dqb_isoftlimit;
-+ unsigned int dqb_curinodes;
-+ unsigned int dqb_bhardlimit;
-+ unsigned int dqb_bsoftlimit;
-+ qsize_t dqb_curspace;
-+ __kernel_time_t dqb_btime;
-+ __kernel_time_t dqb_itime;
-+};
-+
-+#ifdef CONFIG_COMPAT
-+struct compat_v2_dqblk_32 {
-+ unsigned int dqb_ihardlimit;
-+ unsigned int dqb_isoftlimit;
-+ unsigned int dqb_curinodes;
-+ unsigned int dqb_bhardlimit;
-+ unsigned int dqb_bsoftlimit;
-+ qsize_t dqb_curspace;
-+ compat_time_t dqb_btime;
-+ compat_time_t dqb_itime;
-+} __attribute__ ((packed));
-+#endif
-+
-+#endif /* _LINUX_QUOTA_COMPAT_ */
-+
-diff --git a/include/linux/quota.h b/include/linux/quota.h
-index c8ae394..55afad9 100644
---- a/include/linux/quota.h
-+++ b/include/linux/quota.h
-@@ -321,53 +321,6 @@ int mark_dquot_dirty(struct dquot *dquot);
- int register_quota_format(struct quota_format_type *fmt);
- void unregister_quota_format(struct quota_format_type *fmt);
-
--#ifdef CONFIG_QUOTA_COMPAT
--#include <linux/compat.h>
--
--#define QC_QUOTAON 0x0100 /* enable quotas */
--#define QC_QUOTAOFF 0x0200 /* disable quotas */
--
--/* GETQUOTA, SETQUOTA and SETUSE which were at 0x0300-0x0500 has now
-- * other parameteres
-- */
--#define QC_SYNC 0x0600 /* sync disk copy of a filesystems quotas */
--#define QC_SETQLIM 0x0700 /* set limits */
--/* GETSTATS at 0x0800 is now longer... */
--#define QC_GETINFO 0x0900 /* get info about quotas - graces, flags... */
--#define QC_SETINFO 0x0A00 /* set info about quotas */
--#define QC_SETGRACE 0x0B00 /* set inode and block grace */
--#define QC_SETFLAGS 0x0C00 /* set flags for quota */
--#define QC_GETQUOTA 0x0D00 /* get limits and usage */
--#define QC_SETQUOTA 0x0E00 /* set limits and usage */
--#define QC_SETUSE 0x0F00 /* set usage */
--/* 0x1000 used by old RSQUASH */
--#define QC_GETSTATS 0x1100 /* get collected stats */
--
--struct compat_v2_dqblk {
-- unsigned int dqb_ihardlimit;
-- unsigned int dqb_isoftlimit;
-- unsigned int dqb_curinodes;
-- unsigned int dqb_bhardlimit;
-- unsigned int dqb_bsoftlimit;
-- qsize_t dqb_curspace;
-- __kernel_time_t dqb_btime;
-- __kernel_time_t dqb_itime;
--};
--
--#ifdef CONFIG_COMPAT
--struct compat_v2_dqblk_32 {
-- unsigned int dqb_ihardlimit;
-- unsigned int dqb_isoftlimit;
-- unsigned int dqb_curinodes;
-- unsigned int dqb_bhardlimit;
-- unsigned int dqb_bsoftlimit;
-- qsize_t dqb_curspace;
-- compat_time_t dqb_btime;
-- compat_time_t dqb_itime;
--} __attribute__ ((packed));
--#endif
--#endif
--
- struct quota_module_name {
- int qm_fmt_id;
- char *qm_mod_name;
diff --git a/sys-kernel/openvz-sources/files/openvz-sources-2.6.18.028.056.1-utimensat.patch b/sys-kernel/openvz-sources/files/openvz-sources-2.6.18.028.056.1-utimensat.patch
deleted file mode 100644
index 7ddc69688618..000000000000
--- a/sys-kernel/openvz-sources/files/openvz-sources-2.6.18.028.056.1-utimensat.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff -up ./fs/utimes.c.touchkludge ./fs/utimes.c
---- ./fs/utimes.c.touchkludge 2008-08-20 20:54:10.000000000 +0400
-+++ ./fs/utimes.c 2008-08-20 21:07:40.000000000 +0400
-@@ -14,6 +14,14 @@ asmlinkage long sys_utimensat(int dfd, c
- {
- struct timespec tstimes[2];
- struct timeval time[2];
-+
-+ if (filename == NULL)
-+ /*
-+ * a kludge for thuse, checking for utimensat
-+ * availability via this maneuver
-+ */
-+ return -ENOSYS;
-+
- if (utimes) {
- if (copy_from_user(&tstimes, utimes, sizeof(tstimes)))
- return -EFAULT;
diff --git a/sys-kernel/openvz-sources/files/openvz-sources-2.6.18.028.057.2-fix-CIFS-build.patch b/sys-kernel/openvz-sources/files/openvz-sources-2.6.18.028.057.2-fix-CIFS-build.patch
deleted file mode 100644
index f6dda3340bba..000000000000
--- a/sys-kernel/openvz-sources/files/openvz-sources-2.6.18.028.057.2-fix-CIFS-build.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-http://bugzilla.openvz.org/show_bug.cgi?id=951
-
-commit 516897a208bc1423d561ce2ccce0624c3b652275
-Author: Steve French <sfrench@us.ibm.com>
-Date: Fri Oct 12 19:24:06 2007 +0000
-
- [CIFS] fix build break when lanman not enabled
-
- Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
- Signed-off-by: Steve French <sfrench@us.ibm.com>
-
-diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h
-index fbde55c..61d6173 100644
---- a/fs/cifs/cifsglob.h
-+++ b/fs/cifs/cifsglob.h
-@@ -479,6 +479,9 @@ struct dir_notify_req {
- #ifdef CONFIG_CIFS_WEAK_PW_HASH
- #define CIFSSEC_MAY_LANMAN 0x00010
- #define CIFSSEC_MAY_PLNTXT 0x00020
-+#else
-+#define CIFSSEC_MAY_LANMAN 0
-+#define CIFSSEC_MAY_PLNTXT 0
- #endif /* weak passwords */
- #define CIFSSEC_MAY_SEAL 0x00040 /* not supported yet */
-
diff --git a/sys-kernel/openvz-sources/files/openvz-sources-2.6.18.028.057.2-missed-PATH_MAX-sumversion.c.patch b/sys-kernel/openvz-sources/files/openvz-sources-2.6.18.028.057.2-missed-PATH_MAX-sumversion.c.patch
deleted file mode 100644
index 9efd6ab15124..000000000000
--- a/sys-kernel/openvz-sources/files/openvz-sources-2.6.18.028.057.2-missed-PATH_MAX-sumversion.c.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-http://bugzilla.openvz.org/show_bug.cgi?id=951
-
-diff -up ./scripts/mod/sumversion.c.cfx ./scripts/mod/sumversion.c
---- ./scripts/mod/sumversion.c.cfx 2006-09-20 07:42:06.000000000 +0400
-+++ ./scripts/mod/sumversion.c 2008-08-20 16:59:14.000000000 +0400
-@@ -7,6 +7,7 @@
- #include <ctype.h>
- #include <errno.h>
- #include <string.h>
-+#include <limits.h>
- #include "modpost.h"
-
- /*
diff --git a/sys-kernel/openvz-sources/files/openvz-sources-2.6.18.028.057.2-qouta-compat-build.patch b/sys-kernel/openvz-sources/files/openvz-sources-2.6.18.028.057.2-qouta-compat-build.patch
deleted file mode 100644
index b34ed695d75a..000000000000
--- a/sys-kernel/openvz-sources/files/openvz-sources-2.6.18.028.057.2-qouta-compat-build.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- ./fs/compat.c.bk 2008-08-06 15:31:16.000000000 +0400
-+++ ./fs/compat.c 2008-08-06 15:41:47.000000000 +0400
-@@ -1565,8 +1565,10 @@ asmlinkage long sys32_quotactl(unsigned
- __u32 dqb_itime[2];
- __u32 dqb_valid;
- } dqblk32;
-+#ifdef CONFIG_QUOTA_COMPAT
- struct compat_v2_dqblk cdq;
- struct compat_v2_dqblk_32 cdq32;
-+#endif
-
- cmds = cmd >> SUBCMDSHIFT;
-
diff --git a/sys-kernel/openvz-sources/files/openvz-sources-2.6.18.028.057.2-utimenstat.patch b/sys-kernel/openvz-sources/files/openvz-sources-2.6.18.028.057.2-utimenstat.patch
deleted file mode 100644
index 7ddc69688618..000000000000
--- a/sys-kernel/openvz-sources/files/openvz-sources-2.6.18.028.057.2-utimenstat.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff -up ./fs/utimes.c.touchkludge ./fs/utimes.c
---- ./fs/utimes.c.touchkludge 2008-08-20 20:54:10.000000000 +0400
-+++ ./fs/utimes.c 2008-08-20 21:07:40.000000000 +0400
-@@ -14,6 +14,14 @@ asmlinkage long sys_utimensat(int dfd, c
- {
- struct timespec tstimes[2];
- struct timeval time[2];
-+
-+ if (filename == NULL)
-+ /*
-+ * a kludge for thuse, checking for utimensat
-+ * availability via this maneuver
-+ */
-+ return -ENOSYS;
-+
- if (utimes) {
- if (copy_from_user(&tstimes, utimes, sizeof(tstimes)))
- return -EFAULT;
diff --git a/sys-kernel/openvz-sources/files/openvz-sources-2.6.18.028.059.6-proper-utimensat.patch b/sys-kernel/openvz-sources/files/openvz-sources-2.6.18.028.059.6-proper-utimensat.patch
deleted file mode 100644
index 8181bc754059..000000000000
--- a/sys-kernel/openvz-sources/files/openvz-sources-2.6.18.028.059.6-proper-utimensat.patch
+++ /dev/null
@@ -1,306 +0,0 @@
-=== modified file 'fs/compat.c'
---- fs/compat.c 2008-11-21 10:57:31 +0000
-+++ fs/compat.c 2008-11-21 11:08:01 +0000
-@@ -84,31 +84,6 @@
- return ret;
- }
-
--asmlinkage long compat_sys_utimensat(unsigned int dfd, char __user *filename,
-- struct compat_timespec __user *t, int flags)
--{
-- struct timeval tv[2];
--
-- if (t) {
-- if (get_user(tv[0].tv_sec, &t[0].tv_sec) || get_user(tv[0].tv_usec, &t[0].tv_nsec) ||
-- get_user(tv[1].tv_sec, &t[1].tv_sec) || get_user(tv[1].tv_usec, &t[1].tv_nsec))
-- return -EFAULT;
--
-- if ((tv[0].tv_usec == UTIME_OMIT || tv[0].tv_usec == UTIME_NOW)
-- && tv[0].tv_sec != 0)
-- return -EINVAL;
-- if ((tv[1].tv_usec == UTIME_OMIT || tv[1].tv_usec == UTIME_NOW)
-- && tv[1].tv_sec != 0)
-- return -EINVAL;
--
-- if (tv[0].tv_usec == UTIME_OMIT && tv[1].tv_usec == UTIME_OMIT)
-- return 0;
-- }
-- tv[0].tv_usec/=1000; /* nsec->usec */
-- tv[1].tv_usec/=1000;
-- return do_utimes(dfd, filename, t ? tv : NULL, flags);
--}
--
- /*
- * Not all architectures have sys_utime, so implement this in terms
- * of sys_utimes.
-
-=== modified file 'fs/utimes.c'
---- fs/utimes.c 2008-11-21 10:57:31 +0000
-+++ fs/utimes.c 2008-11-21 11:08:02 +0000
-@@ -1,43 +1,183 @@
--#include <linux/compiler.h>
- #include <linux/file.h>
- #include <linux/fs.h>
--#include <linux/linkage.h>
- #include <linux/namei.h>
--#include <linux/sched.h>
- #include <linux/stat.h>
- #include <linux/utime.h>
- #include <asm/uaccess.h>
--#include <asm/unistd.h>
--
--
--asmlinkage long sys_utimensat(int dfd, char __user *filename, struct timespec __user *utimes, int flags)
-+
-+static int nsec_valid(long nsec)
-+{
-+ if (nsec == UTIME_OMIT || nsec == UTIME_NOW)
-+ return 1;
-+
-+ return nsec >= 0 && nsec <= 999999999;
-+}
-+
-+static int utimes_common(struct dentry *dentry, struct timespec *times)
-+{
-+ int error;
-+ struct iattr newattrs;
-+ struct inode *inode = dentry->d_inode;
-+
-+ error = -EROFS;
-+ if (IS_RDONLY(inode))
-+ goto out;
-+
-+ if (times && times[0].tv_nsec == UTIME_NOW &&
-+ times[1].tv_nsec == UTIME_NOW)
-+ times = NULL;
-+
-+ newattrs.ia_valid = ATTR_CTIME | ATTR_MTIME | ATTR_ATIME;
-+ if (times) {
-+ if (times[0].tv_nsec == UTIME_OMIT)
-+ newattrs.ia_valid &= ~ATTR_ATIME;
-+ else if (times[0].tv_nsec != UTIME_NOW) {
-+ newattrs.ia_atime.tv_sec = times[0].tv_sec;
-+ newattrs.ia_atime.tv_nsec = times[0].tv_nsec;
-+ newattrs.ia_valid |= ATTR_ATIME_SET;
-+ }
-+
-+ if (times[1].tv_nsec == UTIME_OMIT)
-+ newattrs.ia_valid &= ~ATTR_MTIME;
-+ else if (times[1].tv_nsec != UTIME_NOW) {
-+ newattrs.ia_mtime.tv_sec = times[1].tv_sec;
-+ newattrs.ia_mtime.tv_nsec = times[1].tv_nsec;
-+ newattrs.ia_valid |= ATTR_MTIME_SET;
-+ }
-+ /*
-+ * if neither ATTR_ATIME_SET nor ATTR_MTIME_SET were used
-+ * we need to check permissions, because
-+ * inode_change_ok() won't do it.
-+ */
-+ if (!(newattrs.ia_valid & (ATTR_ATIME_SET | ATTR_MTIME_SET))) {
-+ error = -EPERM;
-+ if (current->fsuid != inode->i_uid && !capable(CAP_FOWNER))
-+ goto out;
-+ }
-+ } else {
-+ /*
-+ * If times is NULL (or both times are UTIME_NOW),
-+ * then we need to check permissions, because
-+ * inode_change_ok() won't do it.
-+ */
-+ error = -EACCES;
-+ if (IS_IMMUTABLE(inode))
-+ goto out;
-+
-+ if (current->fsuid != inode->i_uid && !capable(CAP_FOWNER)) {
-+ error = permission(inode, MAY_WRITE, NULL);
-+ if (error)
-+ goto out;
-+ }
-+ }
-+ mutex_lock(&inode->i_mutex);
-+ error = notify_change(dentry, &newattrs);
-+ mutex_unlock(&inode->i_mutex);
-+
-+out:
-+ return error;
-+}
-+
-+/*
-+ * do_utimes - change times on filename or file descriptor
-+ * @dfd: open file descriptor, -1 or AT_FDCWD
-+ * @filename: path name or NULL
-+ * @times: new times or NULL
-+ * @flags: zero or more flags (only AT_SYMLINK_NOFOLLOW for the moment)
-+ *
-+ * If filename is NULL and dfd refers to an open file, then operate on
-+ * the file. Otherwise look up filename, possibly using dfd as a
-+ * starting point.
-+ *
-+ * If times==NULL, set access and modification to current time,
-+ * must be owner or have write permission.
-+ * Else, update from *times, must be owner or super user.
-+ */
-+static long __do_utimes(int dfd, char __user *filename, struct timespec *times, int flags)
-+{
-+ int error = -EINVAL;
-+
-+ if (times && (!nsec_valid(times[0].tv_nsec) ||
-+ !nsec_valid(times[1].tv_nsec))) {
-+ goto out;
-+ }
-+
-+ if (flags & ~AT_SYMLINK_NOFOLLOW)
-+ goto out;
-+
-+ if (filename == NULL && dfd != AT_FDCWD) {
-+ struct file *file;
-+
-+ if (flags & AT_SYMLINK_NOFOLLOW)
-+ goto out;
-+
-+ file = fget(dfd);
-+ error = -EBADF;
-+ if (!file)
-+ goto out;
-+
-+ error = utimes_common(file->f_dentry, times);
-+ fput(file);
-+ } else {
-+ struct nameidata nd;
-+ int lookup_flags = 0;
-+
-+ if (!(flags & AT_SYMLINK_NOFOLLOW))
-+ lookup_flags |= LOOKUP_FOLLOW;
-+
-+ error = __user_walk_fd(dfd, filename, lookup_flags, &nd);
-+ if (error)
-+ goto out;
-+
-+ error = utimes_common(nd.dentry, times);
-+ path_release(&nd);
-+ }
-+
-+out:
-+ return error;
-+}
-+
-+asmlinkage long sys_utimensat(int dfd, char __user *filename,
-+ struct timespec __user *utimes, int flags)
- {
- struct timespec tstimes[2];
-- struct timeval time[2];
-+
- if (utimes) {
- if (copy_from_user(&tstimes, utimes, sizeof(tstimes)))
- return -EFAULT;
-- if ((tstimes[0].tv_nsec == UTIME_OMIT ||
-- tstimes[0].tv_nsec == UTIME_NOW) &&
-- tstimes[0].tv_sec != 0)
-- return -EINVAL;
-- if ((tstimes[1].tv_nsec == UTIME_OMIT ||
-- tstimes[1].tv_nsec == UTIME_NOW) &&
-- tstimes[1].tv_sec != 0)
-- return -EINVAL;
--
-- /* Nothing to do, we must not even check the path. */
-- if (tstimes[0].tv_nsec == UTIME_OMIT &&
-- tstimes[1].tv_nsec == UTIME_OMIT)
-- return 0;
-- }
--
--/* Note: declaration of lutimes from glibc is:
--int lutimes(const char *path, const struct timeval *times);
--while 2.6.23 had timespec instead of timeval, but sizeof(timespec)==sizeof(timeval) */
-- time[0].tv_sec =tstimes[0].tv_sec;
-- time[0].tv_usec=tstimes[0].tv_nsec/1000;
-- time[1].tv_sec =tstimes[1].tv_sec;
-- time[1].tv_usec=tstimes[1].tv_nsec/1000;
-- return do_utimes(dfd, filename, utimes ? time : NULL, flags);
--}
-+
-+ /* Nothing to do, we must not even check the path. */
-+ if (tstimes[0].tv_nsec == UTIME_OMIT &&
-+ tstimes[1].tv_nsec == UTIME_OMIT)
-+ return 0;
-+ }
-+
-+ return __do_utimes(dfd, filename, utimes ? tstimes : NULL, flags);
-+}
-+
-+#ifdef CONFIG_COMPAT
-+
-+asmlinkage long compat_sys_utimensat(unsigned int dfd, char __user *filename,
-+ struct compat_timespec __user *t, int flags)
-+{
-+ struct timespec tv[2];
-+
-+ if (t) {
-+ if (get_compat_timespec(&tv[0], &t[0]) ||
-+ get_compat_timespec(&tv[1], &t[1]))
-+ return -EFAULT;
-+
-+ if ((tv[0].tv_nsec == UTIME_OMIT || tv[0].tv_nsec == UTIME_NOW)
-+ && tv[0].tv_sec != 0)
-+ return -EINVAL;
-+ if ((tv[1].tv_nsec == UTIME_OMIT || tv[1].tv_nsec == UTIME_NOW)
-+ && tv[1].tv_sec != 0)
-+ return -EINVAL;
-+
-+ if (tv[0].tv_nsec == UTIME_OMIT && tv[1].tv_nsec == UTIME_OMIT)
-+ return 0;
-+ }
-+ return __do_utimes(dfd, filename, t ? tv : NULL, flags);
-+}
-+
-+#endif
-
-=== modified file 'include/linux/compat.h'
---- include/linux/compat.h 2008-11-21 10:57:31 +0000
-+++ include/linux/compat.h 2008-11-21 11:08:02 +0000
-@@ -230,7 +230,9 @@
- extern int ve_compat_printk(int dst, const char *fmt, ...);
-
- extern long compat_nanosleep_restart(struct restart_block *restart);
--asmlinkage long compat_sys_utimensat(unsigned int dfd, char __user *filename,struct compat_timespec __user *t, int flags);
-+
-+asmlinkage long compat_sys_utimensat(unsigned int dfd, char __user *filename,
-+ struct compat_timespec __user *t, int flags);
-
- /*
- * epoll (fs/eventpoll.c) compat bits follow ...
-
-=== modified file 'include/linux/stat.h'
---- include/linux/stat.h 2008-11-21 10:57:31 +0000
-+++ include/linux/stat.h 2008-11-21 11:08:02 +0000
-@@ -53,8 +53,8 @@
- #define S_IWUGO (S_IWUSR|S_IWGRP|S_IWOTH)
- #define S_IXUGO (S_IXUSR|S_IXGRP|S_IXOTH)
-
--#define UTIME_NOW ((1l << 30) - 1l)
--#define UTIME_OMIT ((1l << 30) - 2l)
-+#define UTIME_NOW ((1l << 30) - 1l)
-+#define UTIME_OMIT ((1l << 30) - 2l)
-
- #include <linux/types.h>
- #include <linux/time.h>
-
-=== modified file 'include/linux/syscalls.h'
---- include/linux/syscalls.h 2008-11-21 10:57:31 +0000
-+++ include/linux/syscalls.h 2008-11-21 11:09:53 +0000
-@@ -577,6 +577,8 @@
- struct stat64 __user *statbuf, int flag);
- asmlinkage long sys_readlinkat(int dfd, const char __user *path, char __user *buf,
- int bufsiz);
-+asmlinkage long sys_utimensat(int dfd, char __user *filename,
-+ struct timespec __user *utimes, int flags);
- asmlinkage long compat_sys_futimesat(unsigned int dfd, char __user *filename,
- struct compat_timeval __user *t);
- asmlinkage long compat_sys_newfstatat(unsigned int dfd, char __user * filename,
-@@ -603,6 +605,5 @@
- asmlinkage long sys_set_robust_list(struct robust_list_head __user *head,
- size_t len);
- asmlinkage long sys_getcpu(unsigned *cpu, unsigned *node, struct getcpu_cache *cache);
--asmlinkage long sys_utimensat(int dfd, char __user *filename,struct timespec __user *utimes, int flags);
-
- #endif
-
diff --git a/sys-kernel/openvz-sources/openvz-sources-2.6.18.028.056.1.ebuild b/sys-kernel/openvz-sources/openvz-sources-2.6.18.028.056.1.ebuild
deleted file mode 100644
index a0e8b7ddedb8..000000000000
--- a/sys-kernel/openvz-sources/openvz-sources-2.6.18.028.056.1.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2008 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/openvz-sources/openvz-sources-2.6.18.028.056.1.ebuild,v 1.4 2008/11/23 20:55:30 pva Exp $
-
-inherit versionator
-
-ETYPE="sources"
-
-CKV=$(get_version_component_range 1-3)
-OKV=${OKV:-${CKV}}
-if [[ ${PR} == "r0" ]]; then
-KV_FULL=${CKV}-${PN/-*}-$(get_version_component_range 4).$(get_version_component_range 5)
-else
-KV_FULL=${CKV}-${PN/-*}-$(get_version_component_range 4).$(get_version_component_range 5)-${PR}
-fi
-OVZ_KERNEL="$(get_version_component_range 4)stab$(get_version_component_range 5)"
-OVZ_REV="$(get_version_component_range 6)"
-EXTRAVERSION=-${OVZ_KERNEL}
-KERNEL_URI="mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/linux-${OKV}.tar.bz2"
-
-inherit kernel-2
-detect_version
-
-KEYWORDS="amd64 ~ia64 ~ppc64 ~sparc x86"
-IUSE=""
-
-DESCRIPTION="Full sources including OpenVZ patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
-HOMEPAGE="http://www.openvz.org"
-SRC_URI="${KERNEL_URI} ${ARCH_URI}
- http://download.openvz.org/kernel/branches/${CKV}/${OVZ_KERNEL}.${OVZ_REV}/patches/patch-ovz${OVZ_KERNEL}.${OVZ_REV}-combined.gz"
-
-UNIPATCH_STRICTORDER=1
-UNIPATCH_LIST="${DISTDIR}/patch-ovz${OVZ_KERNEL}.${OVZ_REV}-combined.gz
-${FILESDIR}/${P}-utimensat.patch
-${FILESDIR}/openvz-sources-2.6.18.028.057.2-qouta-compat-build.patch
-${FILESDIR}/openvz-sources-2.6.18.028.057.2-fix-CIFS-build.patch
-${FILESDIR}/openvz-sources-2.6.18.028.057.2-missed-PATH_MAX-sumversion.c.patch
-${FILESDIR}/openvz-sources-2.6.18.028.056.1-CONFIG_SECCOMP-build.patch
-${FILESDIR}/${P}-3ware.patch"
-
-K_EXTRAEWARN="This kernel is stable only when built with gcc-4.1.x and is known
-to oops in random places if built with newer compilers."
diff --git a/sys-kernel/openvz-sources/openvz-sources-2.6.18.028.062.3.ebuild b/sys-kernel/openvz-sources/openvz-sources-2.6.18.028.062.3.ebuild
deleted file mode 100644
index e3e07c60b01e..000000000000
--- a/sys-kernel/openvz-sources/openvz-sources-2.6.18.028.062.3.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2009 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/openvz-sources/openvz-sources-2.6.18.028.062.3.ebuild,v 1.1 2009/06/26 11:28:54 pva Exp $
-
-inherit versionator
-
-ETYPE="sources"
-
-CKV=$(get_version_component_range 1-3)
-OKV=${OKV:-${CKV}}
-if [[ ${PR} == "r0" ]]; then
-KV_FULL=${CKV}-${PN/-*}-$(get_version_component_range 4-6)
-else
-KV_FULL=${CKV}-${PN/-*}-$(get_version_component_range 4-6)-${PR}
-fi
-OVZ_KERNEL="$(get_version_component_range 4)stab$(get_version_component_range 5)"
-OVZ_REV="$(get_version_component_range 6)"
-EXTRAVERSION=-${OVZ_KERNEL}
-KERNEL_URI="mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/linux-${OKV}.tar.bz2"
-
-inherit kernel-2
-detect_version
-
-KEYWORDS="~amd64 ~ia64 ~ppc64 ~sparc ~x86"
-IUSE=""
-
-DESCRIPTION="Full sources including OpenVZ patchset for the 2.6.18 kernel tree"
-HOMEPAGE="http://www.openvz.org"
-SRC_URI="${KERNEL_URI} ${ARCH_URI}
- http://download.openvz.org/kernel/branches/rhel5-${CKV}/${OVZ_KERNEL}.${OVZ_REV}/patches/patch-128.1.1.el5.${OVZ_KERNEL}.${OVZ_REV}-combined.gz"
-
-UNIPATCH_STRICTORDER=1
-UNIPATCH_LIST="${DISTDIR}/patch-128.1.1.el5.${OVZ_KERNEL}.${OVZ_REV}-combined.gz"
-
-K_EXTRAEINFO="This openvz kernel uses RHEL5 patchset instead of vanilla kernel.
-This patchset considered to be more stable and security supported by upstream,
-that why they suggested us to use it. But note: RHEL5 patchset is very fragile
-and fails to build in many configurations so if you have problems use config
-files from openvz team
-http://wiki.openvz.org/Download/kernel/rhel5/028stab059.9"
-
-K_EXTRAEWARN="This kernel is stable only when built with gcc-4.1.x and is known
-to oops in random places if built with newer compilers."
diff --git a/sys-kernel/openvz-sources/openvz-sources-2.6.24.009.1-r2.ebuild b/sys-kernel/openvz-sources/openvz-sources-2.6.24.009.1-r2.ebuild
deleted file mode 100644
index ac817ad1bf29..000000000000
--- a/sys-kernel/openvz-sources/openvz-sources-2.6.24.009.1-r2.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2009 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/openvz-sources/openvz-sources-2.6.24.009.1-r2.ebuild,v 1.1 2009/04/18 20:10:36 bangert Exp $
-
-inherit versionator
-
-ETYPE="sources"
-
-CKV=$(get_version_component_range 1-3)
-OKV=${OKV:-${CKV}}
-OVZ_REV="$(get_version_component_range 5)"
-OVZ_KERNEL="$(get_version_component_range 4)"
-if [[ ${PR} == "r0" ]]; then
- EXTRAVERSION=-${PN/-*}-${OVZ_KERNEL}.${OVZ_REV}
-else
- EXTRAVERSION=-${PN/-*}-${OVZ_KERNEL}.${OVZ_REV}-${PR}
-fi
-KV_FULL=${CKV}${EXTRAVERSION}
-KERNEL_URI="mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/linux-${OKV}.tar.bz2"
-
-inherit kernel-2
-detect_version
-
-KEYWORDS="~amd64 ~ia64 ~ppc64 ~sparc ~x86"
-IUSE=""
-
-DESCRIPTION="Full sources including OpenVZ patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
-HOMEPAGE="http://www.openvz.org"
-SRC_URI="${KERNEL_URI} ${ARCH_URI}
- http://download.openvz.org/kernel/branches/${CKV}/${CKV}-${OVZ_KERNEL}.${OVZ_REV}/patches/patch-ovz${OVZ_KERNEL}.${OVZ_REV}-combined.gz"
-
-UNIPATCH_STRICTORDER=1
-UNIPATCH_LIST="${DISTDIR}/patch-ovz${OVZ_KERNEL}.${OVZ_REV}-combined.gz"
-
-K_EXTRAEINFO="This is development branch of openvz-sources. For more information
-about this kernel tak a look at:
-http://wiki.openvz.org/Download/kernel/${CKV}/${CKV}-${OVZ_KERNEL}.${OVZ_REV}"
diff --git a/sys-kernel/openvz-sources/openvz-sources-2.6.27.2.1-r1.ebuild b/sys-kernel/openvz-sources/openvz-sources-2.6.27.2.1-r1.ebuild
deleted file mode 100644
index 03344da7265e..000000000000
--- a/sys-kernel/openvz-sources/openvz-sources-2.6.27.2.1-r1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2009 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/openvz-sources/openvz-sources-2.6.27.2.1-r1.ebuild,v 1.2 2009/05/18 15:17:19 mr_bones_ Exp $
-
-inherit versionator
-
-# Upstream uses string to version their releases. To make portage version
-# comparisment working we have to use numbers instead of strings, that is 4th
-# component of our version. So we have aivazovsky - 1, briullov - 2 and so on.
-# Keep this string on top since we have to modify it each new release.
-OVZ_KERNEL="briullov.$(get_version_component_range 5)"
-
-ETYPE="sources"
-
-CKV=$(get_version_component_range 1-3)
-OKV=${OKV:-${CKV}}
-EXTRAVERSION=-${PN/-*}-${OVZ_KERNEL}
-KV_FULL=${CKV}${EXTRAVERSION}
-if [[ ${PR} != r0 ]]; then
- KV_FULL+=-${PR}
- EXTRAVERSION+=-${PR}
-fi
-
-# ${KV_MAJOR}.${KV_MINOR}.${KV_PATCH} should succeed.
-KV_MAJOR=$(get_version_component_range 1 ${OKV})
-KV_MINOR=$(get_version_component_range 2 ${OKV})
-KV_PATCH=$(get_version_component_range 3 ${OKV})
-
-KERNEL_URI="mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/linux-${OKV}.tar.bz2"
-
-inherit kernel-2
-detect_version
-
-KEYWORDS="~amd64 ~ia64 ~ppc64 ~sparc ~x86"
-IUSE=""
-
-DESCRIPTION="Kernel sources with OpenVZ patchset"
-HOMEPAGE="http://www.openvz.org"
-SRC_URI="${KERNEL_URI} ${ARCH_URI}
- http://download.openvz.org/kernel/branches/${CKV}/${CKV}-${OVZ_KERNEL}/patches/patch-${OVZ_KERNEL}-combined.gz"
-
-UNIPATCH_STRICTORDER=1
-UNIPATCH_LIST="${DISTDIR}/patch-${OVZ_KERNEL}-combined.gz"
-
-K_EXTRAEINFO="For more information about this kernel take a look at:
-http://wiki.openvz.org/Download/kernel/${CKV}/${CKV}-${OVZ_KERNEL}"