Skip to contentSkip to conversation

FAILED: patch "[PATCH] libnvdimm, btt: fix btt_rw_page not returning errors" failed to apply to 4.4-stable tree

PATCH [email protected] 2 participants 3 messages Jul 25, 2017 – Aug 3, 2017

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

The patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

Quoted 1 line

From c13c43d54f2c6a3be1c675766778ac1ad8dfbfcc Mon Sep 17 00:00:00 2001

From: Vishal Verma <[email protected]>
Date: Thu, 29 Jun 2017 16:59:11 -0600
Subject: [PATCH] libnvdimm, btt: fix btt_rw_page not returning errors

btt_rw_page was not propagating errors frm btt_do_bvec, resulting in any IO errors via the rw_page path going unnoticed. the pmem driver recently fixed this in e10624f pmem: fail io-requests to known bad blocks but same problem in BTT went neglected.

Fixes 5212e11fde4d ("nd_btt: atomic sector updates")
Cc Toshi Kani <[email protected]>
Cc Dan Williams <[email protected]>
Cc Jeff Moyer <[email protected]>
drivers/nvdimm/btt.c +6 -3
index 7ca11df80ae8..4e56e720288d 100644
@@ -1248,10 +1248,13 @@ static int btt_rw_page(struct block_device *bdev, sector_t sector,
 		struct page *page, bool is_write)
 {
 	struct btt *btt = bdev->bd_disk->private_data;
+	int rc;
 
-	btt_do_bvec(btt, NULL, page, PAGE_SIZE, 0, is_write, sector);
-	page_endio(page, is_write, 0);
-	return 0;
+	rc = btt_do_bvec(btt, NULL, page, PAGE_SIZE, 0, is_write, sector);
+	if (rc == 0)
+		page_endio(page, is_write, 0);
+
+	return rc;
 }
 
 
maintainer
#1 lore raw
Quoted 8 lines · On 07/24, [email protected] wrote:

The patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

thanks,

Quoted 9 lines

greg k-h

------------------ original commit in Linus's tree ------------------

From c13c43d54f2c6a3be1c675766778ac1ad8dfbfcc Mon Sep 17 00:00:00 2001
From: Vishal Verma <[email protected]>
Date: Thu, 29 Jun 2017 16:59:11 -0600
Subject: [PATCH] libnvdimm, btt: fix btt_rw_page not returning errors

[...]

Hi Greg,

The following backported patch should apply to the 4.4.y branch.

Thanks,
-Vishal

8<-----

Quoted 1 line

From 888a5c381f3307196536c3d6842b3d12c8a062b9 Mon Sep 17 00:00:00 2001

From: Vishal Verma <[email protected]>
Date: Thu, 29 Jun 2017 16:59:11 -0600
Subject: [PATCH] libnvdimm, btt: fix btt_rw_page not returning errors

btt_rw_page was not propagating errors frm btt_do_bvec, resulting in any IO errors via the rw_page path going unnoticed. the pmem driver recently fixed this in e10624f pmem: fail io-requests to known bad blocks but same problem in BTT went neglected.

Fixes 5212e11fde4d ("nd_btt: atomic sector updates")
Cc Toshi Kani <[email protected]>
Cc Dan Williams <[email protected]>
Cc Jeff Moyer <[email protected]>
---
 drivers/nvdimm/btt.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
drivers/nvdimm/btt.c +6 -3
index efb2c1c..9572342 100644
@@ -1205,10 +1205,13 @@ static int btt_rw_page(struct block_device *bdev, sector_t sector,
 		struct page *page, int rw)
 {
 	struct btt *btt = bdev->bd_disk->private_data;
+	int rc;
 
-	btt_do_bvec(btt, NULL, page, PAGE_CACHE_SIZE, 0, rw, sector);
-	page_endio(page, rw & WRITE, 0);
-	return 0;
+	rc = btt_do_bvec(btt, NULL, page, PAGE_CACHE_SIZE, 0, rw, sector);
+	if (rc == 0)
+		page_endio(page, rw & WRITE, 0);
+
+	return rc;
 }
 
 
Signature · 1 line
2.9.3
author maintainer
#2 lore raw
Quoted 18 lines · Vishal Verma
Quoted 8 lines · On 07/24, [email protected] wrote:

The patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

thanks,

Quoted 9 lines

greg k-h

------------------ original commit in Linus's tree ------------------

From c13c43d54f2c6a3be1c675766778ac1ad8dfbfcc Mon Sep 17 00:00:00 2001
From: Vishal Verma <[email protected]>
Date: Thu, 29 Jun 2017 16:59:11 -0600
Subject: [PATCH] libnvdimm, btt: fix btt_rw_page not returning errors

Quoted 5 lines

[...]

Hi Greg,

The following backported patch should apply to the 4.4.y branch.

Thanks, now applied.

greg k-h