summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Gortmaker <paul.gortmaker@windriver.com>2018-07-23 17:43:59 -0400
committerPaul Gortmaker <paul.gortmaker@windriver.com>2018-07-23 17:43:59 -0400
commiteff41f4c40b9f98c6fe95cc2344d6503c657127a (patch)
tree6a01027c414566fde71bf5d0ee3f867e6c7fdcb7
parent6caed6fc294291176ec8f723e0324c6813d1ce99 (diff)
downloadlongterm-queue-4.12-eff41f4c40b9f98c6fe95cc2344d6503c657127a.tar.gz
btrfs: drop patch n/a for 4.12
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-rw-r--r--queue/btrfs-fix-false-EIO-for-missing-device.patch56
-rw-r--r--queue/series1
2 files changed, 0 insertions, 57 deletions
diff --git a/queue/btrfs-fix-false-EIO-for-missing-device.patch b/queue/btrfs-fix-false-EIO-for-missing-device.patch
deleted file mode 100644
index 9606de4..0000000
--- a/queue/btrfs-fix-false-EIO-for-missing-device.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 102ed2c5ff932439bbbe74c7bd63e6d5baa9f732 Mon Sep 17 00:00:00 2001
-From: Anand Jain <anand.jain@oracle.com>
-Date: Sat, 14 Oct 2017 08:34:02 +0800
-Subject: [PATCH] btrfs: fix false EIO for missing device
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-commit 102ed2c5ff932439bbbe74c7bd63e6d5baa9f732 upstream.
-
-When one of the device is missing, bbio_error() takes care of setting
-the error status. And if its only IO that is pending in that stripe, it
-fails to check the status of the other IO at %bbio_error before setting
-the error %bi_status for the %orig_bio. Fix this by checking if
-%bbio->error has exceeded the %bbio->max_errors.
-
-Reproducer as below fdatasync error is seen intermittently.
-
- mount -o degraded /dev/sdc /btrfs
- dd status=none if=/dev/zero of=$(mktemp /btrfs/XXX) bs=4096 count=1 conv=fdatasync
-
- dd: fdatasync failed for ‘/btrfs/LSe’: Input/output error
-
- The reason for the intermittences of the problem is because
- the following conditions have to be met, which depends on timing:
- In btrfs_map_bio()
- - the RAID1 the missing device has to be at %dev_nr = 1
- In bbio_error()
- . before bbio_error() is called the bio of the not-missing
- device at %dev_nr = 0 must be completed so that the below
- condition is true
- if (atomic_dec_and_test(&bbio->stripes_pending)) {
-
-Signed-off-by: Anand Jain <anand.jain@oracle.com>
-Reviewed-by: Liu Bo <bo.li.liu@oracle.com>
-Signed-off-by: David Sterba <dsterba@suse.com>
-
-diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
-index 6df39b5fda89..11d7707a3fb3 100644
---- a/fs/btrfs/volumes.c
-+++ b/fs/btrfs/volumes.c
-@@ -6129,7 +6129,10 @@ static void bbio_error(struct btrfs_bio *bbio, struct bio *bio, u64 logical)
-
- btrfs_io_bio(bio)->mirror_num = bbio->mirror_num;
- bio->bi_iter.bi_sector = logical >> 9;
-- bio->bi_status = BLK_STS_IOERR;
-+ if (atomic_read(&bbio->error) > bbio->max_errors)
-+ bio->bi_status = BLK_STS_IOERR;
-+ else
-+ bio->bi_status = BLK_STS_OK;
- btrfs_end_bbio(bbio, bio);
- }
- }
---
-2.15.0
-
diff --git a/queue/series b/queue/series
index 9d1633e..86b64d8 100644
--- a/queue/series
+++ b/queue/series
@@ -68,7 +68,6 @@ bcache-explicitly-destroy-mutex-while-exiting.patch
bcache-fix-wrong-cache_misses-statistics.patch
Ib-hfi1-Return-actual-operational-VLs-in-port-info-q.patch
Bluetooth-hci_ldisc-Fix-another-race-when-closing-th.patch
-btrfs-fix-false-EIO-for-missing-device.patch
btrfs-Explicitly-handle-btrfs_update_root-failure.patch
btrfs-undo-writable-superblocke-when-sprouting-fails.patch
btrfs-avoid-null-pointer-dereference-on-fs_info-when.patch