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: [018/197] xfs: reclaim inodes under a write lock
Date: Thu, 22 Apr 2010 12:07:49 -0700 [thread overview]
Message-ID: <20100422190909.024649557@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 c8e20be020f234c8d492927a424a7d8bbefd5b5d upstream
Make the inode tree reclaim walk exclusive to avoid races with
concurrent sync walkers and lookups. This is a version of a patch
posted by Christoph Hellwig that avoids all the code duplication.
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_sync.c | 154 ++++++++++++++++++-----------------------
fs/xfs/linux-2.6/xfs_sync.h | 2
fs/xfs/quota/xfs_qm_syscalls.c | 2
3 files changed, 71 insertions(+), 87 deletions(-)
--- a/fs/xfs/linux-2.6/xfs_sync.c
+++ b/fs/xfs/linux-2.6/xfs_sync.c
@@ -64,7 +64,6 @@ xfs_inode_ag_lookup(
* as the tree is sparse and a gang lookup walks to find
* the number of objects requested.
*/
- read_lock(&pag->pag_ici_lock);
if (tag == XFS_ICI_NO_TAG) {
nr_found = radix_tree_gang_lookup(&pag->pag_ici_root,
(void **)&ip, *first_index, 1);
@@ -73,7 +72,7 @@ xfs_inode_ag_lookup(
(void **)&ip, *first_index, 1, tag);
}
if (!nr_found)
- goto unlock;
+ return NULL;
/*
* Update the index for the next lookup. Catch overflows
@@ -83,13 +82,8 @@ xfs_inode_ag_lookup(
*/
*first_index = XFS_INO_TO_AGINO(mp, ip->i_ino + 1);
if (*first_index < XFS_INO_TO_AGINO(mp, ip->i_ino))
- goto unlock;
-
+ return NULL;
return ip;
-
-unlock:
- read_unlock(&pag->pag_ici_lock);
- return NULL;
}
STATIC int
@@ -99,7 +93,8 @@ xfs_inode_ag_walk(
int (*execute)(struct xfs_inode *ip,
struct xfs_perag *pag, int flags),
int flags,
- int tag)
+ int tag,
+ int exclusive)
{
struct xfs_perag *pag = &mp->m_perag[ag];
uint32_t first_index;
@@ -113,10 +108,20 @@ restart:
int error = 0;
xfs_inode_t *ip;
+ if (exclusive)
+ write_lock(&pag->pag_ici_lock);
+ else
+ read_lock(&pag->pag_ici_lock);
ip = xfs_inode_ag_lookup(mp, pag, &first_index, tag);
- if (!ip)
+ if (!ip) {
+ if (exclusive)
+ write_unlock(&pag->pag_ici_lock);
+ else
+ read_unlock(&pag->pag_ici_lock);
break;
+ }
+ /* execute releases pag->pag_ici_lock */
error = execute(ip, pag, flags);
if (error == EAGAIN) {
skipped++;
@@ -124,9 +129,8 @@ restart:
}
if (error)
last_error = error;
- /*
- * bail out if the filesystem is corrupted.
- */
+
+ /* bail out if the filesystem is corrupted. */
if (error == EFSCORRUPTED)
break;
@@ -147,7 +151,8 @@ xfs_inode_ag_iterator(
int (*execute)(struct xfs_inode *ip,
struct xfs_perag *pag, int flags),
int flags,
- int tag)
+ int tag,
+ int exclusive)
{
int error = 0;
int last_error = 0;
@@ -156,7 +161,8 @@ xfs_inode_ag_iterator(
for (ag = 0; ag < mp->m_sb.sb_agcount; ag++) {
if (!mp->m_perag[ag].pag_ici_init)
continue;
- error = xfs_inode_ag_walk(mp, ag, execute, flags, tag);
+ error = xfs_inode_ag_walk(mp, ag, execute, flags, tag,
+ exclusive);
if (error) {
last_error = error;
if (error == EFSCORRUPTED)
@@ -180,11 +186,7 @@ xfs_sync_inode_valid(
return EFSCORRUPTED;
}
- /*
- * If we can't get a reference on the inode, it must be in reclaim.
- * Leave it for the reclaim code to flush. Also avoid inodes that
- * haven't been fully initialised.
- */
+ /* If we can't get a reference on the inode, it must be in reclaim. */
if (!igrab(inode)) {
read_unlock(&pag->pag_ici_lock);
return ENOENT;
@@ -281,7 +283,7 @@ xfs_sync_data(
ASSERT((flags & ~(SYNC_TRYLOCK|SYNC_WAIT)) == 0);
error = xfs_inode_ag_iterator(mp, xfs_sync_inode_data, flags,
- XFS_ICI_NO_TAG);
+ XFS_ICI_NO_TAG, 0);
if (error)
return XFS_ERROR(error);
@@ -303,7 +305,7 @@ xfs_sync_attr(
ASSERT((flags & ~SYNC_WAIT) == 0);
return xfs_inode_ag_iterator(mp, xfs_sync_inode_attr, flags,
- XFS_ICI_NO_TAG);
+ XFS_ICI_NO_TAG, 0);
}
STATIC int
@@ -663,60 +665,6 @@ xfs_syncd_stop(
kthread_stop(mp->m_sync_task);
}
-STATIC int
-xfs_reclaim_inode(
- xfs_inode_t *ip,
- int sync_mode)
-{
- xfs_perag_t *pag = xfs_get_perag(ip->i_mount, ip->i_ino);
-
- /* The hash lock here protects a thread in xfs_iget_core from
- * racing with us on linking the inode back with a vnode.
- * Once we have the XFS_IRECLAIM flag set it will not touch
- * us.
- */
- write_lock(&pag->pag_ici_lock);
- spin_lock(&ip->i_flags_lock);
- if (__xfs_iflags_test(ip, XFS_IRECLAIM) ||
- !__xfs_iflags_test(ip, XFS_IRECLAIMABLE)) {
- spin_unlock(&ip->i_flags_lock);
- write_unlock(&pag->pag_ici_lock);
- return -EAGAIN;
- }
- __xfs_iflags_set(ip, XFS_IRECLAIM);
- spin_unlock(&ip->i_flags_lock);
- write_unlock(&pag->pag_ici_lock);
- xfs_put_perag(ip->i_mount, pag);
-
- /*
- * If the inode is still dirty, then flush it out. If the inode
- * is not in the AIL, then it will be OK to flush it delwri as
- * long as xfs_iflush() does not keep any references to the inode.
- * We leave that decision up to xfs_iflush() since it has the
- * knowledge of whether it's OK to simply do a delwri flush of
- * the inode or whether we need to wait until the inode is
- * pulled from the AIL.
- * We get the flush lock regardless, though, just to make sure
- * we don't free it while it is being flushed.
- */
- xfs_ilock(ip, XFS_ILOCK_EXCL);
- xfs_iflock(ip);
-
- /*
- * In the case of a forced shutdown we rely on xfs_iflush() to
- * wait for the inode to be unpinned before returning an error.
- */
- if (!is_bad_inode(VFS_I(ip)) && xfs_iflush(ip, sync_mode) == 0) {
- /* synchronize with xfs_iflush_done */
- xfs_iflock(ip);
- xfs_ifunlock(ip);
- }
-
- xfs_iunlock(ip, XFS_ILOCK_EXCL);
- xfs_ireclaim(ip);
- return 0;
-}
-
void
__xfs_inode_set_reclaim_tag(
struct xfs_perag *pag,
@@ -759,19 +707,55 @@ __xfs_inode_clear_reclaim_tag(
}
STATIC int
-xfs_reclaim_inode_now(
+xfs_reclaim_inode(
struct xfs_inode *ip,
struct xfs_perag *pag,
- int flags)
+ int sync_mode)
{
- /* ignore if already under reclaim */
- if (xfs_iflags_test(ip, XFS_IRECLAIM)) {
- read_unlock(&pag->pag_ici_lock);
+ /*
+ * The radix tree lock here protects a thread in xfs_iget from racing
+ * with us starting reclaim on the inode. Once we have the
+ * XFS_IRECLAIM flag set it will not touch us.
+ */
+ spin_lock(&ip->i_flags_lock);
+ ASSERT_ALWAYS(__xfs_iflags_test(ip, XFS_IRECLAIMABLE));
+ if (__xfs_iflags_test(ip, XFS_IRECLAIM)) {
+ /* ignore as it is already under reclaim */
+ spin_unlock(&ip->i_flags_lock);
+ write_unlock(&pag->pag_ici_lock);
return 0;
}
- read_unlock(&pag->pag_ici_lock);
+ __xfs_iflags_set(ip, XFS_IRECLAIM);
+ spin_unlock(&ip->i_flags_lock);
+ write_unlock(&pag->pag_ici_lock);
- return xfs_reclaim_inode(ip, flags);
+ /*
+ * If the inode is still dirty, then flush it out. If the inode
+ * is not in the AIL, then it will be OK to flush it delwri as
+ * long as xfs_iflush() does not keep any references to the inode.
+ * We leave that decision up to xfs_iflush() since it has the
+ * knowledge of whether it's OK to simply do a delwri flush of
+ * the inode or whether we need to wait until the inode is
+ * pulled from the AIL.
+ * We get the flush lock regardless, though, just to make sure
+ * we don't free it while it is being flushed.
+ */
+ xfs_ilock(ip, XFS_ILOCK_EXCL);
+ xfs_iflock(ip);
+
+ /*
+ * In the case of a forced shutdown we rely on xfs_iflush() to
+ * wait for the inode to be unpinned before returning an error.
+ */
+ if (!is_bad_inode(VFS_I(ip)) && xfs_iflush(ip, sync_mode) == 0) {
+ /* synchronize with xfs_iflush_done */
+ xfs_iflock(ip);
+ xfs_ifunlock(ip);
+ }
+
+ xfs_iunlock(ip, XFS_ILOCK_EXCL);
+ xfs_ireclaim(ip);
+ return 0;
}
int
@@ -779,6 +763,6 @@ xfs_reclaim_inodes(
xfs_mount_t *mp,
int mode)
{
- return xfs_inode_ag_iterator(mp, xfs_reclaim_inode_now, mode,
- XFS_ICI_RECLAIM_TAG);
+ return xfs_inode_ag_iterator(mp, xfs_reclaim_inode, mode,
+ XFS_ICI_RECLAIM_TAG, 1);
}
--- a/fs/xfs/linux-2.6/xfs_sync.h
+++ b/fs/xfs/linux-2.6/xfs_sync.h
@@ -54,6 +54,6 @@ void __xfs_inode_clear_reclaim_tag(struc
int xfs_sync_inode_valid(struct xfs_inode *ip, struct xfs_perag *pag);
int xfs_inode_ag_iterator(struct xfs_mount *mp,
int (*execute)(struct xfs_inode *ip, struct xfs_perag *pag, int flags),
- int flags, int tag);
+ int flags, int tag, int write_lock);
#endif
--- a/fs/xfs/quota/xfs_qm_syscalls.c
+++ b/fs/xfs/quota/xfs_qm_syscalls.c
@@ -893,7 +893,7 @@ xfs_qm_dqrele_all_inodes(
uint flags)
{
ASSERT(mp->m_quotainfo);
- xfs_inode_ag_iterator(mp, xfs_dqrele_inode, flags, XFS_ICI_NO_TAG);
+ xfs_inode_ag_iterator(mp, xfs_dqrele_inode, flags, XFS_ICI_NO_TAG, 0);
}
/*------------------------------------------------------------------------*/
next prev parent reply other threads:[~2010-04-22 19:27 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 ` Greg KH [this message]
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 ` [026/197] xfs: Non-blocking inode locking in IO completion Greg KH
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.024649557@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