mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Greg KH <gregkh@suse.de>
To: linux-kernel@vger.kernel.org, stable@kernel.org
Cc: stable-review@kernel.org, torvalds@linux-foundation.org,
	akpm@linux-foundation.org, alan@lxorguk.ukuu.org.uk,
	xfs@oss.sgi.com, Dave Chinner <david@fromorbit.com>,
	Alex Elder <aelder@sgi.com>
Subject: [026/197] xfs: Non-blocking inode locking in IO completion
Date: Thu, 22 Apr 2010 12:07:57 -0700	[thread overview]
Message-ID: <20100422190909.720368125@kvm.kroah.org> (raw)
In-Reply-To: <20100422191857.GA13268@kroah.com>

2.6.32-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Dave Chinner <david@fromorbit.com>

commit 77d7a0c2eeb285c9069e15396703d0cb9690ac50 upstream

The introduction of barriers to loop devices has created a new IO
order completion dependency that XFS does not handle. The loop
device implements barriers using fsync and so turns a log IO in the
XFS filesystem on the loop device into a data IO in the backing
filesystem. That is, the completion of log IOs in the loop
filesystem are now dependent on completion of data IO in the backing
filesystem.

This can cause deadlocks when a flush daemon issues a log force with
an inode locked because the IO completion of IO on the inode is
blocked by the inode lock. This in turn prevents further data IO
completion from occuring on all XFS filesystems on that CPU (due to
the shared nature of the completion queues). This then prevents the
log IO from completing because the log is waiting for data IO
completion as well.

The fix for this new completion order dependency issue is to make
the IO completion inode locking non-blocking. If the inode lock
can't be grabbed, simply requeue the IO completion back to the work
queue so that it can be processed later. This prevents the
completion queue from being blocked and allows data IO completion on
other inodes to proceed, hence avoiding completion order dependent
deadlocks.

Signed-off-by: Dave Chinner <david@fromorbit.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Alex Elder <aelder@sgi.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
 fs/xfs/linux-2.6/xfs_aops.c |  118 ++++++++++++++++++++++++++++++--------------
 1 file changed, 82 insertions(+), 36 deletions(-)

--- a/fs/xfs/linux-2.6/xfs_aops.c
+++ b/fs/xfs/linux-2.6/xfs_aops.c
@@ -204,14 +204,17 @@ xfs_ioend_new_eof(
 }
 
 /*
- * Update on-disk file size now that data has been written to disk.
- * The current in-memory file size is i_size.  If a write is beyond
- * eof i_new_size will be the intended file size until i_size is
- * updated.  If this write does not extend all the way to the valid
- * file size then restrict this update to the end of the write.
+ * Update on-disk file size now that data has been written to disk.  The
+ * current in-memory file size is i_size.  If a write is beyond eof i_new_size
+ * will be the intended file size until i_size is updated.  If this write does
+ * not extend all the way to the valid file size then restrict this update to
+ * the end of the write.
+ *
+ * This function does not block as blocking on the inode lock in IO completion
+ * can lead to IO completion order dependency deadlocks.. If it can't get the
+ * inode ilock it will return EAGAIN. Callers must handle this.
  */
-
-STATIC void
+STATIC int
 xfs_setfilesize(
 	xfs_ioend_t		*ioend)
 {
@@ -222,9 +225,11 @@ xfs_setfilesize(
 	ASSERT(ioend->io_type != IOMAP_READ);
 
 	if (unlikely(ioend->io_error))
-		return;
+		return 0;
+
+	if (!xfs_ilock_nowait(ip, XFS_ILOCK_EXCL))
+		return EAGAIN;
 
-	xfs_ilock(ip, XFS_ILOCK_EXCL);
 	isize = xfs_ioend_new_eof(ioend);
 	if (isize) {
 		ip->i_d.di_size = isize;
@@ -232,6 +237,28 @@ xfs_setfilesize(
 	}
 
 	xfs_iunlock(ip, XFS_ILOCK_EXCL);
+	return 0;
+}
+
+/*
+ * Schedule IO completion handling on a xfsdatad if this was
+ * the final hold on this ioend. If we are asked to wait,
+ * flush the workqueue.
+ */
+STATIC void
+xfs_finish_ioend(
+	xfs_ioend_t	*ioend,
+	int		wait)
+{
+	if (atomic_dec_and_test(&ioend->io_remaining)) {
+		struct workqueue_struct *wq;
+
+		wq = (ioend->io_type == IOMAP_UNWRITTEN) ?
+			xfsconvertd_workqueue : xfsdatad_workqueue;
+		queue_work(wq, &ioend->io_work);
+		if (wait)
+			flush_workqueue(wq);
+	}
 }
 
 /*
@@ -243,9 +270,23 @@ xfs_end_bio_delalloc(
 {
 	xfs_ioend_t		*ioend =
 		container_of(work, xfs_ioend_t, io_work);
+	int			error;
 
-	xfs_setfilesize(ioend);
-	xfs_destroy_ioend(ioend);
+	/*
+	 * If we didn't complete processing of the ioend, requeue it to the
+	 * tail of the workqueue for another attempt later. Otherwise destroy
+	 * it.
+	 */
+	error = xfs_setfilesize(ioend);
+	if (error == EAGAIN) {
+		atomic_inc(&ioend->io_remaining);
+		xfs_finish_ioend(ioend, 0);
+		/* ensure we don't spin on blocked ioends */
+		delay(1);
+	} else {
+		ASSERT(!error);
+		xfs_destroy_ioend(ioend);
+	}
 }
 
 /*
@@ -257,9 +298,23 @@ xfs_end_bio_written(
 {
 	xfs_ioend_t		*ioend =
 		container_of(work, xfs_ioend_t, io_work);
+	int			error;
 
-	xfs_setfilesize(ioend);
-	xfs_destroy_ioend(ioend);
+	/*
+	 * If we didn't complete processing of the ioend, requeue it to the
+	 * tail of the workqueue for another attempt later. Otherwise destroy
+	 * it.
+	 */
+	error = xfs_setfilesize(ioend);
+	if (error == EAGAIN) {
+		atomic_inc(&ioend->io_remaining);
+		xfs_finish_ioend(ioend, 0);
+		/* ensure we don't spin on blocked ioends */
+		delay(1);
+	} else {
+		ASSERT(!error);
+		xfs_destroy_ioend(ioend);
+	}
 }
 
 /*
@@ -279,13 +334,25 @@ xfs_end_bio_unwritten(
 	size_t			size = ioend->io_size;
 
 	if (likely(!ioend->io_error)) {
+		int	error;
 		if (!XFS_FORCED_SHUTDOWN(ip->i_mount)) {
-			int error;
 			error = xfs_iomap_write_unwritten(ip, offset, size);
 			if (error)
 				ioend->io_error = error;
 		}
-		xfs_setfilesize(ioend);
+		/*
+		 * If we didn't complete processing of the ioend, requeue it to the
+		 * tail of the workqueue for another attempt later. Otherwise destroy
+		 * it.
+		 */
+		error = xfs_setfilesize(ioend);
+		if (error == EAGAIN) {
+			atomic_inc(&ioend->io_remaining);
+			xfs_finish_ioend(ioend, 0);
+			/* ensure we don't spin on blocked ioends */
+			delay(1);
+			return;
+		}
 	}
 	xfs_destroy_ioend(ioend);
 }
@@ -304,27 +371,6 @@ xfs_end_bio_read(
 }
 
 /*
- * Schedule IO completion handling on a xfsdatad if this was
- * the final hold on this ioend. If we are asked to wait,
- * flush the workqueue.
- */
-STATIC void
-xfs_finish_ioend(
-	xfs_ioend_t	*ioend,
-	int		wait)
-{
-	if (atomic_dec_and_test(&ioend->io_remaining)) {
-		struct workqueue_struct *wq = xfsdatad_workqueue;
-		if (ioend->io_work.func == xfs_end_bio_unwritten)
-			wq = xfsconvertd_workqueue;
-
-		queue_work(wq, &ioend->io_work);
-		if (wait)
-			flush_workqueue(wq);
-	}
-}
-
-/*
  * Allocate and initialise an IO completion structure.
  * We need to track unwritten extent write completion here initially.
  * We'll need to extend this for updating the ondisk inode size later



  parent reply	other threads:[~2010-04-22 20:44 UTC|newest]

Thread overview: 238+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-22 19:18 [000/197] 2.6.32.12-stable review Greg KH
2010-04-22 19:07 ` [001/197] drm/edid: allow certain bogus edids to hit a fixup path rather than fail Greg KH
2010-04-22 19:07 ` [002/197] drm/radeon: add new RS880 pci id Greg KH
2010-04-22 19:07 ` [003/197] drm: remove the EDID blob stored in the EDID property when it is disconnected Greg KH
2010-04-22 19:07 ` [004/197] fat: fix buffer overflow in vfat_create_shortname() Greg KH
2010-04-22 19:07 ` [005/197] oom: fix the unsafe usage of badness() in proc_oom_score() Greg KH
2010-04-22 19:07 ` [006/197] drm/radeon/kms: dont print error on -ERESTARTSYS Greg KH
2010-04-22 19:07 ` [007/197] drm/radeon/kms: fix pal tv-out support on legacy IGP chips Greg KH
2010-04-22 19:07 ` [008/197] drm: Return ENODEV if the inode mapping changes Greg KH
2010-04-22 19:07 ` [009/197] xfs: simplify inode teardown Greg KH
2010-04-22 19:07 ` [010/197] xfs: fix mmap_sem/iolock inversion in xfs_free_eofblocks Greg KH
2010-04-22 19:07 ` [011/197] xfs: I/O completion handlers must use NOFS allocations Greg KH
2010-04-22 19:07 ` [012/197] xfs: Wrapped journal record corruption on read at recovery Greg KH
2010-04-22 19:07 ` [013/197] xfs: Fix error return for fallocate() on XFS Greg KH
2010-04-22 19:07 ` [014/197] xfs: check for not fully initialized inodes in xfs_ireclaim Greg KH
2010-04-22 19:07 ` [015/197] xfs: fix timestamp handling in xfs_setattr Greg KH
2010-04-22 19:07 ` [016/197] xfs: Dont flush stale inodes Greg KH
2010-04-22 19:07 ` [017/197] xfs: Ensure we force all busy extents in range to disk Greg KH
2010-04-22 19:07 ` [018/197] xfs: reclaim inodes under a write lock Greg KH
2010-04-22 19:07 ` [019/197] xfs: Avoid inodes in reclaim when flushing from inode cache Greg KH
2010-04-22 19:07 ` [020/197] xfs: reclaim all inodes by background tree walks Greg KH
2010-04-22 19:07 ` [021/197] xfs: fix stale inode flush avoidance Greg KH
2010-04-22 19:07 ` [022/197] xfs: xfs_swap_extents needs to handle dynamic fork offsets Greg KH
2010-04-22 19:07 ` [023/197] xfs: quota limit statvfs available blocks Greg KH
2010-04-22 19:07 ` [024/197] xfs: dont hold onto reserved blocks on remount, ro Greg KH
2010-04-22 19:07 ` [025/197] xfs: remove invalid barrier optimization from xfs_fsync Greg KH
2010-04-22 19:07 ` Greg KH [this message]
2010-04-22 19:07 ` [027/197] xfs: fix locking for inode cache radix tree tag updates Greg KH
2010-04-22 19:07 ` [028/197] sh: Enable the mmu in start_secondary() Greg KH
2010-04-22 19:08 ` [029/197] sh: Fix FDPIC binary loader Greg KH
2010-04-22 19:08 ` [030/197] [SCSI] libiscsi: Fix recovery slowdown regression Greg KH
2010-04-22 19:08 ` [031/197] Freezer: Fix buggy resume test for tasks frozen with cgroup freezer Greg KH
2010-04-22 19:08 ` [032/197] iwlwifi: counting number of tfds can be free for 4965 Greg KH
2010-04-22 19:08 ` [033/197] iwlwifi: fix nfreed-- Greg KH
2010-04-22 19:08 ` [034/197] iwlwifi: range checking issue Greg KH
2010-04-22 19:08 ` [035/197] setup correct int pipe type in ar9170_usb_exec_cmd Greg KH
2010-04-22 19:08 ` [036/197] mac80211: move netdev queue enabling to correct spot Greg KH
2010-04-22 19:08 ` [037/197] mac80211: tear down all agg queues when restart/reconfig hw Greg KH
2010-04-22 19:08 ` [038/197] WATCHDOG: hpwdt - fix lower timeout limit Greg KH
2010-04-22 19:08 ` [039/197] WATCHDOG: iTCO_wdt: TCO Watchdog patch for additional Intel Cougar Point DeviceIDs Greg KH
2010-04-22 19:08 ` [040/197] genirq: Force MSI irq handlers to run with interrupts disabled Greg KH
2010-04-22 19:08 ` [041/197] tty: release_one_tty() forgets to put pids Greg KH
2010-04-22 19:08 ` [042/197] lis3: fix show rate for 8 bits chips Greg KH
2010-04-22 19:08 ` [043/197] pata_ali: Fix regression with old devices Greg KH
2010-04-22 19:08 ` [044/197] HID: fix oops in gyration_event() Greg KH
2010-04-22 19:08 ` [045/197] raw: fsync method is now required Greg KH
2010-04-22 19:08 ` [046/197] readahead: fix NULL filp dereference Greg KH
2010-04-22 19:08 ` [047/197] ALSA: mixart: range checking proc file Greg KH
2010-04-22 19:08 ` [048/197] ALSA: hda: Fix 0 dB offset for Lenovo Thinkpad models using AD1981 Greg KH
2010-04-22 19:08 ` [049/197] x86, amd: Get multi-node CPU info from NodeId MSR instead of PCI config space Greg KH
2010-04-26 17:10   ` Jiri Kosina
2010-04-27  6:55     ` Andreas Herrmann
2010-04-27  7:07       ` Jiri Kosina
2010-04-22 19:08 ` [050/197] resource: move kernel function inside __KERNEL__ Greg KH
2010-04-22 19:08 ` [051/197] backlight: mbp_nvidia_bl - add five more MacBook variants Greg KH
2010-04-22 19:54   ` Evan McClain
2010-04-23 16:02     ` Greg KH
2010-04-23 16:49       ` Evan McClain
2010-04-23 17:05         ` Evan McClain
2010-04-23 17:11           ` [Stable-review] " Willy Tarreau
2010-04-23 18:04             ` Evan McClain
2010-04-23 19:11               ` [stable] " Greg KH
2010-04-22 19:08 ` [052/197] KVM: x86 emulator: Add Virtual-8086 mode of emulation Greg KH
2010-04-22 19:08 ` [053/197] KVM: x86 emulator: fix memory access during x86 emulation Greg KH
2010-04-22 19:08 ` [054/197] KVM: x86 emulator: Check IOPL level during io instruction emulation Greg KH
2010-04-22 19:08 ` [055/197] KVM: x86 emulator: Fix popf emulation Greg KH
2010-04-22 19:08 ` [056/197] KVM: Fix segment descriptor loading Greg KH
2010-04-22 19:08 ` [057/197] KVM: VMX: Update instruction length on intercepted BP Greg KH
2010-04-22 19:08 ` [058/197] KVM: VMX: Use macros instead of hex value on cr0 initialization Greg KH
2010-04-22 19:08 ` [059/197] KVM: SVM: Reset cr0 properly on vcpu reset Greg KH
2010-04-22 19:08 ` [060/197] KVM: VMX: Disable unrestricted guest when EPT disabled Greg KH
2010-04-22 19:08 ` [061/197] KVM: x86: disable paravirt mmu reporting Greg KH
2010-04-22 19:08 ` [062/197] pata_via: Add VIA VX900 support Greg KH
2010-04-22 19:08 ` [063/197] ext3: Dont update the superblock in ext3_statfs() Greg KH
2010-04-22 19:08 ` [064/197] ext3: journal all modifications in ext3_xattr_set_handle Greg KH
2010-04-22 19:08 ` [065/197] thinkpad-acpi: fix some version quirks Greg KH
2010-04-22 19:08 ` [066/197] thinkpad-acpi: issue backlight class events Greg KH
2010-04-22 19:08 ` [067/197] thinkpad-acpi: silence bogus complain during rmmod Greg KH
2010-04-22 19:08 ` [068/197] thinkpad-acpi: adopt input device Greg KH
2010-04-22 19:08 ` [069/197] thinkpad-acpi: expose module parameters Greg KH
2010-04-22 19:08 ` [070/197] thinkpad-acpi: log temperatures on termal alarm (v2) Greg KH
2010-04-22 19:08 ` [071/197] thinkpad-acpi: use input_set_capability Greg KH
2010-04-22 19:08 ` [072/197] thinkpad-acpi: sync input device EV_SW initial state Greg KH
2010-04-22 19:08 ` [073/197] thinkpad-acpi: log initial state of rfkill switches Greg KH
2010-04-22 19:08 ` [074/197] thinkpad-acpi: convert to seq_file Greg KH
2010-04-22 19:08 ` [075/197] thinkpad-acpi: lock down video output state access Greg KH
2010-04-22 19:08 ` [076/197] eeepc-laptop: disable cpu speed control on EeePC 701 Greg KH
2010-04-22 19:08 ` [077/197] eeepc-laptop: dmi blacklist to disable pci hotplug code Greg KH
2010-04-22 19:08 ` [078/197] eeepc-laptop: add hotplug_disable parameter Greg KH
2010-04-22 19:08 ` [079/197] eeepc-laptop: disable wireless hotplug for 1201N Greg KH
2010-04-22 19:08 ` [080/197] eeepc-laptop: disable wireless hotplug for 1005PE Greg KH
2010-04-22 19:08 ` [081/197] libata: disable NCQ on Crucial C300 SSD Greg KH
2010-04-22 19:08 ` [082/197] cifs: Fix a kernel BUG with remote OS/2 server (try #3) Greg KH
2010-04-22 19:08 ` [083/197] CIFS: initialize nbytes at the beginning of CIFSSMBWrite() Greg KH
2010-04-22 19:08 ` [084/197] iwlwifi: need check for valid qos packet before free Greg KH
2010-04-22 19:08 ` [085/197] ARM: 6031/1: fix Thumb-2 decompressor Greg KH
2010-04-22 19:08 ` [086/197] drm/edid/quirks: Envision EN2028 Greg KH
2010-04-22 19:08 ` [087/197] drm/radeon: R300 AD only has one quad pipe Greg KH
2010-04-22 19:08 ` [088/197] drm/radeon/kms: fix washed out image on legacy tv dac Greg KH
2010-04-22 19:09 ` [089/197] x86-32, resume: do a global tlb flush in S4 resume Greg KH
2010-04-22 19:09 ` [090/197] x86: hpet: Make WARN_ON understandable Greg KH
2010-04-22 19:09 ` [091/197] x86, hpet: Erratum workaround for read after write of HPET comparator Greg KH
2010-04-22 19:09 ` [092/197] x86: Fix double enable_IR_x2apic() call on SMP kernel on !SMP boards Greg KH
2010-04-22 19:09 ` [093/197] sched: sched_getaffinity(): Allow less than NR_CPUS length Greg KH
2010-04-22 19:09 ` [094/197] sched: Fix sched_getaffinity() Greg KH
2010-04-22 19:09 ` [095/197] NFSv4: Fall back to ordinary lookup if nfs4_atomic_open() returns EISDIR Greg KH
2010-04-22 19:09 ` [096/197] NFSv4: fix delegated locking Greg KH
2010-04-22 19:09 ` [097/197] ALSA: hda - add a quirk for Clevo M570U laptop Greg KH
2010-04-22 19:09 ` [098/197] ALSA: usb - Fix Oops after usb-midi disconnection Greg KH
2010-04-22 19:09 ` [099/197] hwmon: (sht15) Fix sht15_calc_temp interpolation function Greg KH
2010-04-22 19:09 ` [100/197] hwmon: (sht15) Properly handle the case CONFIG_REGULATOR=n Greg KH
2010-04-22 19:09 ` [101/197] drm/i915: Add no_lvds entry for the Clientron U800 Greg KH
2010-04-22 19:09 ` [102/197] drm/radeon/kms: disable the tv encoder when tv/cv is not in use Greg KH
2010-04-22 19:09 ` [103/197] drm/radeon/kms: fix tv dac conflict resolver Greg KH
2010-04-22 19:09 ` [104/197] drm/radeon/kms: fix rs600 tlb flush Greg KH
2010-04-22 19:09 ` [105/197] drm/radeon/kms: add FireMV 2400 PCI ID Greg KH
2010-04-22 19:09 ` [106/197] x86/amd-iommu: Use helper function to destroy domain Greg KH
2010-04-22 19:09 ` [107/197] x86/amd-iommu: enable iommu before attaching devices Greg KH
2010-04-22 19:09 ` [108/197] Revert "x86: disable IOMMUs on kernel crash" Greg KH
2010-04-22 19:09 ` [109/197] x86, lib: Add wbinvd smp helpers Greg KH
2010-04-22 19:09 ` [110/197] x86, cacheinfo: Fix disabling of L3 cache indices Greg KH
2010-04-22 19:09 ` [111/197] intel-agp: Switch to wbinvd_on_all_cpus Greg KH
2010-04-22 19:09 ` [112/197] x86, cacheinfo: Add cache index disable sysfs attrs only to L3 caches Greg KH
2010-04-22 19:09 ` [113/197] x86, cacheinfo: Calculate L3 indices Greg KH
2010-05-05 16:26   ` Jiri Kosina
2010-05-05 18:02     ` Borislav Petkov
2010-05-05 21:33       ` Jiri Kosina
2010-05-06  8:17         ` Borislav Petkov
2010-05-06 13:46           ` Jiri Kosina
2010-05-06 14:13             ` Borislav Petkov
2010-05-12 23:19               ` [stable] " Greg KH
2010-05-12 23:32                 ` H. Peter Anvin
2010-05-12 23:42                   ` H. Peter Anvin
2010-05-13  5:26                     ` Jiri Kosina
2010-05-13  7:01                       ` Borislav Petkov
2010-04-22 19:09 ` [114/197] x86, cacheinfo: Remove NUMA dependency, fix for AMD Fam10h rev D1 Greg KH
2010-04-22 19:09 ` [115/197] x86, cacheinfo: Enable L3 CID only on AMD Greg KH
2010-04-22 19:09 ` [116/197] vgaarb: fix "target=default" passing Greg KH
2010-04-22 19:09 ` [117/197] x86-32: clean up rwsem inline asm statements Greg KH
2010-04-22 19:09 ` [118/197] x86: clean up rwsem type system Greg KH
2010-04-22 19:09 ` [119/197] x86-64, rwsem: 64-bit xadd rwsem implementation Greg KH
2010-04-22 19:09 ` [120/197] x86-64: support native " Greg KH
2010-04-22 19:09 ` [121/197] x86: Fix breakage of UML from the changes in the rwsem system Greg KH
2010-04-22 19:09 ` [122/197] x86-64, rwsem: Avoid store forwarding hazard in __downgrade_write Greg KH
2010-04-22 19:09 ` [123/197] fix NFS4 handling of mountpoint stat Greg KH
2010-04-22 19:09 ` [124/197] dm mpath: fix stall when requeueing io Greg KH
2010-04-22 19:09 ` [125/197] quota: Fix possible dq_flags corruption Greg KH
2010-04-22 19:09 ` [126/197] Staging: comedi: fix usbdux timeout bug Greg KH
2010-04-22 19:09 ` [127/197] Staging: comedi: usbdux.c: fix locking up of the driver when the comedi ringbuffer runs empty Greg KH
2010-04-22 19:09 ` [128/197] ocfs2: set i_mode on disk during acl operations Greg KH
2010-04-22 19:09 ` [129/197] ocfs2: Change bg_chain check for ocfs2_validate_gd_parent Greg KH
2010-04-22 19:09 ` [130/197] 9p: Skip check for mandatory locks when unlocking Greg KH
2010-04-22 19:09 ` [131/197] [SCSI] fc class: fail fast bsg requests Greg KH
2010-04-22 19:09 ` [132/197] SCSI: add scsi target reset support to scsi ioctl Greg KH
2010-04-22 19:09 ` [133/197] igb: add support for 82576NS SerDes adapter Greg KH
2010-04-22 19:09 ` [134/197] PCIe AER: prevent AER injection if hardware masks error reporting Greg KH
2010-04-22 19:09 ` [135/197] vgaarb: Fix VGA arbiter to accept PCI domains other than 0 Greg KH
2010-04-22 19:09 ` [136/197] SCSI: fc-transport: Use packed modifier for fc_bsg_request structure Greg KH
2010-04-22 19:09 ` [137/197] pci: Update pci_set_vga_state() to call arch functions Greg KH
2010-04-22 19:09 ` [138/197] PCI: kill off pci_register_set_vga_state() symbol export Greg KH
2010-04-22 19:09 ` [139/197] PCI: fix nested spinlock hang in aer_inject Greg KH
2010-04-22 19:09 ` [140/197] IPoIB: Fix TX queue lockup with mixed UD/CM traffic Greg KH
2010-04-22 19:09 ` [141/197] x86/PCI: irq and pci_ids patch for Intel Cougar Point DeviceIDs Greg KH
2010-04-22 19:09 ` [142/197] ALSA: hda_intel: ALSA HD Audio " Greg KH
2010-04-22 19:09 ` [143/197] ALSA: hda - enable snoop for Intel Cougar Point Greg KH
2010-04-22 19:09 ` [144/197] ata_piix: IDE Mode SATA patch for Intel Cougar Point DeviceIDs Greg KH
2010-04-22 19:09 ` [145/197] ahci: AHCI and RAID mode " Greg KH
2010-04-22 19:09 ` [146/197] i2c-i801: Add Intel Cougar Point device IDs Greg KH
2010-04-22 19:09 ` [147/197] b43: Remove reset after fatal DMA error Greg KH
2010-04-22 19:09 ` [148/197] b43: Allow PIO mode to be selected at module load Greg KH
2010-04-22 19:10 ` [149/197] b43: fall back gracefully to PIO mode after fatal DMA errors Greg KH
2010-04-22 19:10 ` [150/197] ALSA: hda - Add position_fix quirk for Biostar mobo Greg KH
2010-04-22 19:10 ` [151/197] agp/hp: fixup hp agp after ACPI changes Greg KH
2010-04-22 19:10 ` [152/197] b43: Optimize PIO scratchbuffer usage Greg KH
2010-04-22 19:10 ` [153/197] ecryptfs: fix use with tmpfs by removing d_drop from ecryptfs_destroy_inode Greg KH
2010-04-22 19:10 ` [154/197] eCryptfs: Decrypt symlink target for stat size Greg KH
2010-04-22 19:10 ` [155/197] ecryptfs: fix error code for missing xattrs in lower fs Greg KH
2010-04-22 19:10 ` [156/197] sched: Fix a race between ttwu() and migrate_task() Greg KH
2010-04-22 19:10 ` [157/197] USB: cdc-acm: Update to new autopm API Greg KH
2010-04-22 19:10 ` [158/197] USB: cdc-acm: Fix stupid NULL pointer in resume() Greg KH
2010-04-22 19:10 ` [159/197] iwlwifi: clear all tx queues when firmware ready Greg KH
2010-04-22 19:10 ` [160/197] iwlwifi: fix scan race Greg KH
2010-04-22 19:10 ` [161/197] e1000e: stop cleaning when we reach tx_ring->next_to_use Greg KH
2010-04-22 19:10 ` [162/197] r8169: offical fix for CVE-2009-4537 (overlength frame DMAs) Greg KH
2010-04-22 19:10 ` [163/197] tcp: fix ICMP-RTO war Greg KH
2010-04-22 19:10 ` [164/197] perf_events, x86: Implement Intel Westmere/Nehalem-EX support Greg KH
2010-04-22 19:10 ` [165/197] ACPI: EC: Allow multibyte access to EC Greg KH
2010-04-22 19:59   ` Linus Torvalds
2010-04-22 20:07     ` Greg KH
2010-04-22 19:10 ` [166/197] md/raid5: allow for more than 2^31 chunks Greg KH
2010-04-23  0:33   ` [Stable-review] " Chuck Ebbert
2010-04-23  0:58     ` Linus Torvalds
2010-04-23  3:11       ` Greg KH
2010-04-23 16:06     ` Greg KH
2010-04-22 19:10 ` [167/197] ACPI: EC: Limit burst to 64 bits Greg KH
2010-04-22 19:10 ` [168/197] Input: wacom - switch mode upon system resume Greg KH
2010-04-22 19:10 ` [169/197] modules: fix incorrect percpu usage Greg KH
2010-04-28 17:46   ` Mathieu Desnoyers
2010-04-22 19:10 ` [170/197] lockdep: " Greg KH
2010-04-22 21:08   ` [Stable-review] " Nikola Ciprich
2010-04-22 22:02     ` Mathieu Desnoyers
2010-04-23 16:05       ` Greg KH
2010-04-28 17:46   ` Mathieu Desnoyers
2010-04-22 19:10 ` [171/197] module: fix __module_ref_addr() Greg KH
2010-04-28 14:52   ` Jiri Benc
2010-04-28 16:20     ` Mathieu Desnoyers
2010-04-28 16:55       ` Jiri Benc
2010-04-28 17:24         ` Tejun Heo
2010-04-28 17:29           ` Greg KH
2010-04-28 17:45             ` Mathieu Desnoyers
2010-05-12 22:14             ` [stable] " Greg KH
2010-04-22 19:10 ` [172/197] md: deal with merge_bvec_fn in component devices better Greg KH
2010-04-22 19:10 ` [173/197] nfsd4: dont try to map gids in generic rpc code Greg KH
2010-04-22 19:10 ` [174/197] Revert "sunrpc: fix peername failed on closed listener" Greg KH
2010-04-22 19:10 ` [175/197] Revert "sunrpc: move the close processing after do recvfrom method" Greg KH
2010-04-22 19:10 ` [176/197] nfsd: ensure sockets are closed on error Greg KH
2010-04-22 19:10 ` [177/197] ALSA: hda: Set Front Mic to input vref 50% for Lenovo 3000 Y410 Greg KH
2010-04-22 19:10 ` [178/197] mac80211: fix deferred hardware scan requests Greg KH
2010-04-22 19:10 ` [179/197] fs-writeback: Add helper function to start writeback if idle Greg KH
2010-04-22 19:10 ` [180/197] ext4: flush delalloc blocks when space is low Greg KH
2010-04-22 19:10 ` [181/197] ext4: fix async i/o writes beyond 4GB to a sparse file Greg KH
2010-04-22 19:10 ` [182/197] tpm: autoload tpm_tis based on system PnP IDs Greg KH
2010-04-22 19:10 ` [183/197] IB/iser: Rewrite SG handling for RDMA logic Greg KH
2010-04-22 19:10 ` [184/197] [SCSI] mptctl : Remove printk which floods unnecessary messages to var/log/message Greg KH
2010-04-22 19:10 ` [185/197] [SCSI] mptspi: Fix for incorrect data underrun errata Greg KH
2010-04-22 19:10 ` [186/197] sched: Use proper type in sched_getaffinity() Greg KH
2010-04-22 19:10 ` [187/197] KVM: SVM: Fix memory leaks that happen when svm_create_vcpu() fails Greg KH
2010-04-22 19:10 ` [188/197] KVM: Dont spam kernel log when injecting exceptions due to bad cr writes Greg KH
2010-04-22 19:10 ` [189/197] KVM: allow bit 10 to be cleared in MSR_IA32_MC4_CTL Greg KH
2010-04-22 19:10 ` [190/197] KVM: VMX: Save/restore rflags.vm correctly in real mode Greg KH
2010-04-22 19:10 ` [191/197] KVM: MMU: fix kvm_mmu_zap_page() and its calling path Greg KH
2010-04-22 19:10 ` [192/197] KVM: fix the handling of dirty bitmaps to avoid overflows Greg KH
2010-04-22 19:10 ` [193/197] KVM: Increase NR_IOBUS_DEVS limit to 200 Greg KH
2010-04-22 19:10 ` [194/197] KVM: x86: Fix TSS size check for 16-bit tasks Greg KH
2010-04-22 19:10 ` [195/197] x86/gart: Disable GART explicitly before initialization Greg KH
2010-04-22 19:10 ` [196/197] MIPS: uasm: Add OR instruction Greg KH
2010-04-22 19:10 ` [197/197] MIPS: Sibyte: Fix M3 TLB exception handler workaround Greg KH
2010-04-23 16:10 ` [stable] [000/197] 2.6.32.12-stable review Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100422190909.720368125@kvm.kroah.org \
    --to=gregkh@suse.de \
    --cc=aelder@sgi.com \
    --cc=akpm@linux-foundation.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=david@fromorbit.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable-review@kernel.org \
    --cc=stable@kernel.org \
    --cc=torvalds@linux-foundation.org \
    --cc=xfs@oss.sgi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome