stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org, Josef Bacik <jbacik@fusionio.com>,
	Chris Mason <chris.mason@fusionio.com>
Subject: [PATCH 3.12 111/118] Btrfs: stop using vfs_read in send
Date: Wed, 18 Dec 2013 13:12:28 -0800	[thread overview]
Message-ID: <20131218211222.602365045@linuxfoundation.org> (raw)
In-Reply-To: <20131218211219.461663463@linuxfoundation.org>

3.12-stable review patch.  If anyone has any objections, please let me know.

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

From: Josef Bacik <jbacik@fusionio.com>

commit ed2590953bd06b892f0411fc94e19175d32f197a upstream.

Apparently we don't actually close the files until we return to userspace, so
stop using vfs_read in send.  This is actually better for us since we can avoid
all the extra logic of holding the file we're sending open and making sure to
clean it up.  This will fix people who have been hitting too many files open
errors when trying to send.  Thanks,

Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Signed-off-by: Chris Mason <chris.mason@fusionio.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 fs/btrfs/send.c |  175 +++++++++++++++++++++++---------------------------------
 1 file changed, 72 insertions(+), 103 deletions(-)

--- a/fs/btrfs/send.c
+++ b/fs/btrfs/send.c
@@ -121,7 +121,6 @@ struct send_ctx {
 	struct list_head name_cache_list;
 	int name_cache_size;
 
-	struct file *cur_inode_filp;
 	char *read_buf;
 };
 
@@ -2120,77 +2119,6 @@ out:
 }
 
 /*
- * Called for regular files when sending extents data. Opens a struct file
- * to read from the file.
- */
-static int open_cur_inode_file(struct send_ctx *sctx)
-{
-	int ret = 0;
-	struct btrfs_key key;
-	struct path path;
-	struct inode *inode;
-	struct dentry *dentry;
-	struct file *filp;
-	int new = 0;
-
-	if (sctx->cur_inode_filp)
-		goto out;
-
-	key.objectid = sctx->cur_ino;
-	key.type = BTRFS_INODE_ITEM_KEY;
-	key.offset = 0;
-
-	inode = btrfs_iget(sctx->send_root->fs_info->sb, &key, sctx->send_root,
-			&new);
-	if (IS_ERR(inode)) {
-		ret = PTR_ERR(inode);
-		goto out;
-	}
-
-	dentry = d_obtain_alias(inode);
-	inode = NULL;
-	if (IS_ERR(dentry)) {
-		ret = PTR_ERR(dentry);
-		goto out;
-	}
-
-	path.mnt = sctx->mnt;
-	path.dentry = dentry;
-	filp = dentry_open(&path, O_RDONLY | O_LARGEFILE, current_cred());
-	dput(dentry);
-	dentry = NULL;
-	if (IS_ERR(filp)) {
-		ret = PTR_ERR(filp);
-		goto out;
-	}
-	sctx->cur_inode_filp = filp;
-
-out:
-	/*
-	 * no xxxput required here as every vfs op
-	 * does it by itself on failure
-	 */
-	return ret;
-}
-
-/*
- * Closes the struct file that was created in open_cur_inode_file
- */
-static int close_cur_inode_file(struct send_ctx *sctx)
-{
-	int ret = 0;
-
-	if (!sctx->cur_inode_filp)
-		goto out;
-
-	ret = filp_close(sctx->cur_inode_filp, NULL);
-	sctx->cur_inode_filp = NULL;
-
-out:
-	return ret;
-}
-
-/*
  * Sends a BTRFS_SEND_C_SUBVOL command/item to userspace
  */
 static int send_subvol_begin(struct send_ctx *sctx)
@@ -3622,6 +3550,72 @@ out:
 	return ret;
 }
 
+static ssize_t fill_read_buf(struct send_ctx *sctx, u64 offset, u32 len)
+{
+	struct btrfs_root *root = sctx->send_root;
+	struct btrfs_fs_info *fs_info = root->fs_info;
+	struct inode *inode;
+	struct page *page;
+	char *addr;
+	struct btrfs_key key;
+	pgoff_t index = offset >> PAGE_CACHE_SHIFT;
+	pgoff_t last_index;
+	unsigned pg_offset = offset & ~PAGE_CACHE_MASK;
+	ssize_t ret = 0;
+
+	key.objectid = sctx->cur_ino;
+	key.type = BTRFS_INODE_ITEM_KEY;
+	key.offset = 0;
+
+	inode = btrfs_iget(fs_info->sb, &key, root, NULL);
+	if (IS_ERR(inode))
+		return PTR_ERR(inode);
+
+	if (offset + len > i_size_read(inode)) {
+		if (offset > i_size_read(inode))
+			len = 0;
+		else
+			len = offset - i_size_read(inode);
+	}
+	if (len == 0)
+		goto out;
+
+	last_index = (offset + len - 1) >> PAGE_CACHE_SHIFT;
+	while (index <= last_index) {
+		unsigned cur_len = min_t(unsigned, len,
+					 PAGE_CACHE_SIZE - pg_offset);
+		page = find_or_create_page(inode->i_mapping, index, GFP_NOFS);
+		if (!page) {
+			ret = -ENOMEM;
+			break;
+		}
+
+		if (!PageUptodate(page)) {
+			btrfs_readpage(NULL, page);
+			lock_page(page);
+			if (!PageUptodate(page)) {
+				unlock_page(page);
+				page_cache_release(page);
+				ret = -EIO;
+				break;
+			}
+		}
+
+		addr = kmap(page);
+		memcpy(sctx->read_buf + ret, addr + pg_offset, cur_len);
+		kunmap(page);
+		unlock_page(page);
+		page_cache_release(page);
+		index++;
+		pg_offset = 0;
+		len -= cur_len;
+		ret += cur_len;
+	}
+out:
+	iput(inode);
+	return ret;
+}
+
 /*
  * Read some bytes from the current inode/file and send a write command to
  * user space.
@@ -3630,35 +3624,20 @@ static int send_write(struct send_ctx *s
 {
 	int ret = 0;
 	struct fs_path *p;
-	loff_t pos = offset;
-	int num_read = 0;
-	mm_segment_t old_fs;
+	ssize_t num_read = 0;
 
 	p = fs_path_alloc();
 	if (!p)
 		return -ENOMEM;
 
-	/*
-	 * vfs normally only accepts user space buffers for security reasons.
-	 * we only read from the file and also only provide the read_buf buffer
-	 * to vfs. As this buffer does not come from a user space call, it's
-	 * ok to temporary allow kernel space buffers.
-	 */
-	old_fs = get_fs();
-	set_fs(KERNEL_DS);
-
 verbose_printk("btrfs: send_write offset=%llu, len=%d\n", offset, len);
 
-	ret = open_cur_inode_file(sctx);
-	if (ret < 0)
-		goto out;
-
-	ret = vfs_read(sctx->cur_inode_filp, sctx->read_buf, len, &pos);
-	if (ret < 0)
-		goto out;
-	num_read = ret;
-	if (!num_read)
+	num_read = fill_read_buf(sctx, offset, len);
+	if (num_read <= 0) {
+		if (num_read < 0)
+			ret = num_read;
 		goto out;
+	}
 
 	ret = begin_cmd(sctx, BTRFS_SEND_C_WRITE);
 	if (ret < 0)
@@ -3677,7 +3656,6 @@ verbose_printk("btrfs: send_write offset
 tlv_put_failure:
 out:
 	fs_path_free(p);
-	set_fs(old_fs);
 	if (ret < 0)
 		return ret;
 	return num_read;
@@ -4222,10 +4200,6 @@ static int changed_inode(struct send_ctx
 	u64 left_gen = 0;
 	u64 right_gen = 0;
 
-	ret = close_cur_inode_file(sctx);
-	if (ret < 0)
-		goto out;
-
 	sctx->cur_ino = key->objectid;
 	sctx->cur_inode_new_gen = 0;
 
@@ -4686,11 +4660,6 @@ static int send_subvol(struct send_ctx *
 	}
 
 out:
-	if (!ret)
-		ret = close_cur_inode_file(sctx);
-	else
-		close_cur_inode_file(sctx);
-
 	free_recorded_refs(sctx);
 	return ret;
 }



  parent reply	other threads:[~2013-12-18 21:12 UTC|newest]

Thread overview: 173+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-18 21:10 [PATCH 3.12 000/118] 3.12.6-stable review Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 001/118] arm64: mm: Fix PMD_SECT_PROT_NONE definition Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 002/118] udl: fix issue with imported prime buffers Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 003/118] ALSA: compress: Fix 64bit ABI incompatibility Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 004/118] ALSA: memalloc.h - fix wrong truncation of dma_addr_t Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 005/118] ALSA: hda - Add static DAC/pin mapping for AD1986A codec Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 006/118] ALSA: hda - Mute all aamix inputs as default Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 007/118] ALSA: hda - hdmi: Fix IEC958 ctl indexes for some simple HDMI devices Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 008/118] ARM: pxa: tosa: fix keys mapping Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 009/118] ARM: highbank: handle soft poweroff and reset key events Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 010/118] ARM: sun6i: dt: Fix interrupt trigger types Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 011/118] ARM: pxa: prevent PXA270 occasional reboot freezes Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 012/118] ARM: OMAP3: hwmod data: Dont prevent RESET of USB Host module Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 013/118] ARM: 7912/1: check stack pointer in get_wchan Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 014/118] ARM: 7913/1: fix framepointer check in unwind_frame Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 015/118] ARM: 7917/1: cacheflush: correctly limit range of memory region being flushed Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 016/118] KVM: Improve create VCPU parameter (CVE-2013-4587) Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 017/118] KVM: x86: Fix potential divide by 0 in lapic (CVE-2013-6367) Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 018/118] KVM: x86: Convert vapic synchronization to _cached functions (CVE-2013-6368) Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 019/118] KVM: x86: fix guest-initiated crash with x2apic (CVE-2013-6376) Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 020/118] hwmon: Prevent some divide by zeros in FAN_TO_REG() Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 022/118] hwmon: (w83l786ng) Fix fan speed control mode setting and reporting Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 023/118] hwmon: (w83l768ng) Fix fan speed control range Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 024/118] xfs: growfs overruns AGFL buffer on V4 filesystems Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 025/118] xfs: underflow bug in xfs_attrlist_by_handle() Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 026/118] iwlwifi: pcie: fix interrupt coalescing for 7260 / 3160 Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 027/118] PCI: Disable Bus Master only on kexec reboot Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 028/118] futex: fix handling of read-only-mapped hugepages Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 029/118] nfsd: when reusing an existing repcache entry, unhash it first Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 030/118] usb: hub: Use correct reset for wedged USB3 devices that are NOTATTACHED Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 031/118] usb: dwc3: fix implementation of endpoint wedge Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 032/118] usb: gadget: composite: reset delayed_status on reset_config Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 033/118] usb: xhci: Link TRB must not occur within a USB payload burst Greg Kroah-Hartman
2013-12-31 20:40   ` walt
2013-12-31 22:06     ` Mark Lord
2014-01-02 19:15     ` Sarah Sharp
2014-01-02 21:01       ` Mark Lord
2014-01-02 21:19         ` James Bottomley
2014-01-02 21:33         ` Sarah Sharp
2014-01-03 15:40       ` walt
2014-01-03 19:54         ` Sarah Sharp
2014-01-03 21:21           ` walt
2014-01-03 23:29             ` Sarah Sharp
2014-01-07  0:31               ` Sarah Sharp
2014-01-07 13:29                 ` walt
2014-01-07 13:51                   ` David Laight
2014-01-07 13:58                   ` David Laight
2014-01-07 19:15                     ` walt
2014-01-07 20:00                     ` walt
2014-01-07 23:31                       ` Sarah Sharp
2014-01-07 21:27                     ` Sarah Sharp
2014-01-07 21:21                   ` Sarah Sharp
2014-01-08  0:47                     ` Sarah Sharp
2014-01-08 16:09                       ` David Laight
     [not found]                         ` <52CCA94D.5090700@gmail.com>
2014-01-09 23:50                           ` Sarah Sharp
2014-01-10 14:40                             ` walt
2014-01-10 14:58                               ` David Laight
2014-01-10 15:12                             ` Alan Stern
2014-01-13 23:39                             ` [PATCH 3.12 033/118] usb: xhci: Link TRB must not occur within a USB payload burst [NEW HARDWARE] walt
2014-01-14  9:43                               ` David Laight
2014-01-14 17:20                               ` Sarah Sharp
2014-01-14 21:27                                 ` walt
2014-01-16 20:46                                   ` Sarah Sharp
2014-01-17 14:34                                   ` David Laight
2014-01-18 18:34                                     ` walt
2014-01-18 20:23                                     ` walt
2014-01-20 10:40                                       ` David Laight
2014-01-20 11:21                                       ` David Laight
2014-01-20 18:14                                         ` Sarah Sharp
2014-01-21  9:51                                           ` David Laight
2014-01-21 22:07                                             ` walt
2014-01-22  9:17                                               ` David Laight
2014-01-08 16:39                       ` [PATCH 3.12 033/118] usb: xhci: Link TRB must not occur within a USB payload burst Alan Stern
2014-01-08 16:51                         ` David Laight
2014-01-08 17:14                           ` Alan Stern
2014-01-08 17:24                             ` David Laight
2014-01-09  1:22               ` walt
2014-01-09 10:05                 ` David Laight
2014-01-09 15:10                   ` walt
2014-01-04 14:03         ` Mark Lord
2014-01-06 10:35         ` David Laight
2013-12-18 21:11 ` [PATCH 3.12 034/118] usb: musb: musb_cppi41: factor most of cppi41_dma_callback() into cppi41_trans_done() Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 035/118] usb: musb: musb_cppi41: handle pre-mature TX complete interrupt Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 036/118] USB: serial: option: blacklist interface 1 for Huawei E173s-6 Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 037/118] USB: option: support new huawei devices Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 038/118] Input: usbtouchscreen - separate report and transmit buffer size handling Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 039/118] media: af9035: fix broken I2C and USB I/O Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 040/118] powerpc: Fix PTE page address mismatch in pgtable ctor/dtor Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 041/118] drivers/rtc/rtc-at91rm9200.c: correct alarm over day/month wrap Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 042/118] mm: memcg: do not declare OOM from __GFP_NOFAIL allocations Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 043/118] mm: memcg: do not allow task about to OOM kill to bypass the limit Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 044/118] mm: memcg: fix race condition between memcg teardown and swapin Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 045/118] regulator: pfuze100: Fix address of FABID Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 046/118] Partially revert "mtd: nand: pxa3xx: Introduce marvell,armada370-nand compatible string" Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 047/118] iommu/arm-smmu: use mutex instead of spinlock for locking page tables Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 049/118] ath9k: Fix QuickDrop usage Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 050/118] ath9k: Fix XLNA bias strength Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 051/118] ath9k: fix duration calculation for non-aggregated packets Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 052/118] cfg80211: disable 5/10 MHz support for all drivers Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 053/118] selinux: handle TCP SYN-ACK packets correctly in selinux_ip_output() Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 054/118] selinux: handle TCP SYN-ACK packets correctly in selinux_ip_postroute() Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 055/118] Revert "mac80211: allow disable power save in mesh" Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 056/118] mac80211: fix scheduled scan rtnl deadlock Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 057/118] mac80211: dont attempt to reorder multicast frames Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 058/118] iwlwifi: mvm: check sta_id/drain values in debugfs Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 059/118] mwifiex: fix memory leak issue for ibss join Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 060/118] net: allwinner: emac: Add missing free_irq Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 061/118] igb: Fix for issue where values could be too high for udelay function Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 062/118] drm/i915: use the correct force_wake function at the PC8 code Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 063/118] drm/radeon: fix typo in fetching mpll params Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 064/118] drm/radeon: program DCE2 audio dto just like DCE3 Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 065/118] drm/radeon: fixup bad vram size on SI Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 066/118] drm/radeon/atom: fix bus probes when hw_i2c is set (v2) Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 067/118] x86, efi: Dont use (U)EFI time services on 32 bit Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 068/118] x86/UV: Fix NULL pointer dereference in uv_flush_tlb_others() if the nobau boot option is used Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 069/118] x86, build: Pass in additional -mno-mmx, -mno-sse options Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 070/118] x86, build, icc: Remove uninitialized_var() from compiler-intel.h Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 071/118] media: saa7164: fix return value check in saa7164_initdev() Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 072/118] media: tef6862/radio-tea5764: actually assign clamp result Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 074/118] media: af9033: fix broken I2C Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 075/118] media: wm8775: fix broken audio routing Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 076/118] media: af9035: add [0413:6a05] Leadtek WinFast DTV Dongle Dual Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 077/118] media: af9035: unlock on error in af9035_i2c_master_xfer() Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 078/118] Btrfs: fix access_ok() check in btrfs_ioctl_send() Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 079/118] btrfs: call mnt_drop_write after interrupted subvol deletion Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 080/118] dm bufio: initialize read-only module parameters Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 081/118] dm snapshot: avoid snapshot space leak on crash Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 082/118] dm stats: initialize read-only module parameter Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 083/118] dm array: fix a reference counting bug in shadow_ablock Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 084/118] dm delay: fix a possible deadlock due to shared workqueue Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 085/118] dm space map metadata: return on failure in sm_metadata_new_block Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 086/118] dm space map: disallow decrementing a reference count below zero Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 087/118] dm table: fail dm_table_create on dm_round_up overflow Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 088/118] dm thin: switch to read only mode if a mapping insert fails Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 089/118] dm thin: switch to read-only mode if metadata space is exhausted Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 090/118] dm thin: always fallback the pool mode if commit fails Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 091/118] dm thin: re-establish read-only state when switching to fail mode Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 092/118] dm thin: allow pool in read-only mode to transition to read-write mode Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 093/118] vfs: split out vfs_getattr_nosec Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 094/118] exportfs: fix 32-bit nfsd handling of 64-bit inode numbers Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 095/118] HID: kye: Add report fixup for Genius Manticore Keyboard Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 096/118] HID: kye: Fix missing break in kye_report_fixup() Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 098/118] [media] cxd2820r_core: fix sparse warnings Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 099/118] sched: Avoid throttle_cfs_rq() racing with period_timer stopping Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 100/118] staging: comedi: drivers: use comedi_dio_update_state() for simple cases Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 101/118] staging: comedi: ssv_dnp: use comedi_dio_update_state() Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 102/118] sc1200_wdt: Fix oops Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 103/118] NFSv4 wait on recovery for async session errors Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 104/118] Input: elantech - add support for newer (August 2013) devices Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 105/118] Revert "net: update consumers of MSG_MORE to recognize MSG_SENDPAGE_NOTLAST" Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 106/118] Btrfs: do a full search everytime in btrfs_search_old_slot Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 107/118] Btrfs: reset intwrite on transaction abort Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 108/118] Btrfs: fix memory leak of chunks extent map Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 109/118] Btrfs: fix hole check in log_one_extent Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 110/118] Btrfs: fix incorrect inode acl reset Greg Kroah-Hartman
2013-12-18 21:12 ` Greg Kroah-Hartman [this message]
2013-12-18 21:12 ` [PATCH 3.12 112/118] Btrfs: take ordered root lock when removing ordered operations inode Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 113/118] Btrfs: do not run snapshot-aware defragment on error Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 114/118] Btrfs: fix a crash when running balance and defrag concurrently Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 115/118] Btrfs: fix lockdep error in async commit Greg Kroah-Hartman
2013-12-18 23:48 ` [PATCH 3.12 000/118] 3.12.6-stable review Guenter Roeck
2013-12-19  2:56   ` Greg Kroah-Hartman
2013-12-19  3:00     ` Greg Kroah-Hartman
2013-12-19  3:20       ` Greg Kroah-Hartman
2013-12-19  2:07 ` Guenter Roeck
2013-12-19  3:27 ` Greg Kroah-Hartman
2013-12-19  6:17   ` Guenter Roeck
2013-12-19  6:34     ` Greg Kroah-Hartman
2013-12-19 15:58 ` Ryo Munakata
2013-12-19 16:10   ` Greg Kroah-Hartman
2013-12-19 20:48 ` Shuah Khan
2013-12-19 21:25   ` Greg Kroah-Hartman
2013-12-19 22:34 ` Satoru Takeuchi

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=20131218211222.602365045@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=chris.mason@fusionio.com \
    --cc=jbacik@fusionio.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    /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;
as well as URLs for NNTP newsgroup(s).