]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop bcache-only-permit-to-recovery-read-error-when-cache-device-is-clean.patch
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 28 Nov 2017 09:06:00 +0000 (10:06 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 28 Nov 2017 09:06:00 +0000 (10:06 +0100)
queue-3.18/bcache-only-permit-to-recovery-read-error-when-cache-device-is-clean.patch [deleted file]
queue-3.18/series
queue-4.14/bcache-only-permit-to-recovery-read-error-when-cache-device-is-clean.patch [deleted file]
queue-4.14/series
queue-4.4/bcache-only-permit-to-recovery-read-error-when-cache-device-is-clean.patch [deleted file]
queue-4.4/series
queue-4.9/bcache-only-permit-to-recovery-read-error-when-cache-device-is-clean.patch [deleted file]
queue-4.9/series

diff --git a/queue-3.18/bcache-only-permit-to-recovery-read-error-when-cache-device-is-clean.patch b/queue-3.18/bcache-only-permit-to-recovery-read-error-when-cache-device-is-clean.patch
deleted file mode 100644 (file)
index bc86d8b..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-From d59b23795933678c9638fd20c942d2b4f3cd6185 Mon Sep 17 00:00:00 2001
-From: Coly Li <colyli@suse.de>
-Date: Mon, 30 Oct 2017 14:46:31 -0700
-Subject: bcache: only permit to recovery read error when cache device is clean
-
-From: Coly Li <colyli@suse.de>
-
-commit d59b23795933678c9638fd20c942d2b4f3cd6185 upstream.
-
-When bcache does read I/Os, for example in writeback or writethrough mode,
-if a read request on cache device is failed, bcache will try to recovery
-the request by reading from cached device. If the data on cached device is
-not synced with cache device, then requester will get a stale data.
-
-For critical storage system like database, providing stale data from
-recovery may result an application level data corruption, which is
-unacceptible.
-
-With this patch, for a failed read request in writeback or writethrough
-mode, recovery a recoverable read request only happens when cache device
-is clean. That is to say, all data on cached device is up to update.
-
-For other cache modes in bcache, read request will never hit
-cached_dev_read_error(), they don't need this patch.
-
-Please note, because cache mode can be switched arbitrarily in run time, a
-writethrough mode might be switched from a writeback mode. Therefore
-checking dc->has_data in writethrough mode still makes sense.
-
-Changelog:
-V4: Fix parens error pointed by Michael Lyle.
-v3: By response from Kent Oversteet, he thinks recovering stale data is a
-    bug to fix, and option to permit it is unnecessary. So this version
-    the sysfs file is removed.
-v2: rename sysfs entry from allow_stale_data_on_failure  to
-    allow_stale_data_on_failure, and fix the confusing commit log.
-v1: initial patch posted.
-
-[small change to patch comment spelling by mlyle]
-
-Signed-off-by: Coly Li <colyli@suse.de>
-Signed-off-by: Michael Lyle <mlyle@lyle.org>
-Reported-by: Arne Wolf <awolf@lenovo.com>
-Reviewed-by: Michael Lyle <mlyle@lyle.org>
-Cc: Kent Overstreet <kent.overstreet@gmail.com>
-Cc: Nix <nix@esperi.org.uk>
-Cc: Kai Krakow <hurikhan77@gmail.com>
-Cc: Eric Wheeler <bcache@lists.ewheeler.net>
-Cc: Junhui Tang <tang.junhui@zte.com.cn>
-Signed-off-by: Jens Axboe <axboe@kernel.dk>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
----
- drivers/md/bcache/request.c |   10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
-
---- a/drivers/md/bcache/request.c
-+++ b/drivers/md/bcache/request.c
-@@ -705,8 +705,16 @@ static void cached_dev_read_error(struct
- {
-       struct search *s = container_of(cl, struct search, cl);
-       struct bio *bio = &s->bio.bio;
-+      struct cached_dev *dc = container_of(s->d, struct cached_dev, disk);
--      if (s->recoverable) {
-+      /*
-+       * If cache device is dirty (dc->has_dirty is non-zero), then
-+       * recovery a failed read request from cached device may get a
-+       * stale data back. So read failure recovery is only permitted
-+       * when cache device is clean.
-+       */
-+      if (s->recoverable &&
-+          (dc && !atomic_read(&dc->has_dirty))) {
-               /* Retry from the backing device: */
-               trace_bcache_read_retry(s->orig_bio);
index 3daac3401c858dbbe308776d8933c1a3e3b3accb..576197cf276ae96d12b06e389effae95654ebb66 100644 (file)
@@ -13,7 +13,6 @@ autofs-don-t-fail-mount-for-transient-error.patch
 nilfs2-fix-race-condition-that-causes-file-system-corruption.patch
 ecryptfs-use-after-free-in-ecryptfs_release_messaging.patch
 bcache-check-ca-alloc_thread-initialized-before-wake-up-it.patch
-bcache-only-permit-to-recovery-read-error-when-cache-device-is-clean.patch
 isofs-fix-timestamps-beyond-2027.patch
 nfs-fix-typo-in-nomigration-mount-option.patch
 nfs-fix-ugly-referral-attributes.patch
diff --git a/queue-4.14/bcache-only-permit-to-recovery-read-error-when-cache-device-is-clean.patch b/queue-4.14/bcache-only-permit-to-recovery-read-error-when-cache-device-is-clean.patch
deleted file mode 100644 (file)
index 112bf74..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-From d59b23795933678c9638fd20c942d2b4f3cd6185 Mon Sep 17 00:00:00 2001
-From: Coly Li <colyli@suse.de>
-Date: Mon, 30 Oct 2017 14:46:31 -0700
-Subject: bcache: only permit to recovery read error when cache device is clean
-
-From: Coly Li <colyli@suse.de>
-
-commit d59b23795933678c9638fd20c942d2b4f3cd6185 upstream.
-
-When bcache does read I/Os, for example in writeback or writethrough mode,
-if a read request on cache device is failed, bcache will try to recovery
-the request by reading from cached device. If the data on cached device is
-not synced with cache device, then requester will get a stale data.
-
-For critical storage system like database, providing stale data from
-recovery may result an application level data corruption, which is
-unacceptible.
-
-With this patch, for a failed read request in writeback or writethrough
-mode, recovery a recoverable read request only happens when cache device
-is clean. That is to say, all data on cached device is up to update.
-
-For other cache modes in bcache, read request will never hit
-cached_dev_read_error(), they don't need this patch.
-
-Please note, because cache mode can be switched arbitrarily in run time, a
-writethrough mode might be switched from a writeback mode. Therefore
-checking dc->has_data in writethrough mode still makes sense.
-
-Changelog:
-V4: Fix parens error pointed by Michael Lyle.
-v3: By response from Kent Oversteet, he thinks recovering stale data is a
-    bug to fix, and option to permit it is unnecessary. So this version
-    the sysfs file is removed.
-v2: rename sysfs entry from allow_stale_data_on_failure  to
-    allow_stale_data_on_failure, and fix the confusing commit log.
-v1: initial patch posted.
-
-[small change to patch comment spelling by mlyle]
-
-Signed-off-by: Coly Li <colyli@suse.de>
-Signed-off-by: Michael Lyle <mlyle@lyle.org>
-Reported-by: Arne Wolf <awolf@lenovo.com>
-Reviewed-by: Michael Lyle <mlyle@lyle.org>
-Cc: Kent Overstreet <kent.overstreet@gmail.com>
-Cc: Nix <nix@esperi.org.uk>
-Cc: Kai Krakow <hurikhan77@gmail.com>
-Cc: Eric Wheeler <bcache@lists.ewheeler.net>
-Cc: Junhui Tang <tang.junhui@zte.com.cn>
-Signed-off-by: Jens Axboe <axboe@kernel.dk>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
----
- drivers/md/bcache/request.c |   10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
-
---- a/drivers/md/bcache/request.c
-+++ b/drivers/md/bcache/request.c
-@@ -698,8 +698,16 @@ static void cached_dev_read_error(struct
- {
-       struct search *s = container_of(cl, struct search, cl);
-       struct bio *bio = &s->bio.bio;
-+      struct cached_dev *dc = container_of(s->d, struct cached_dev, disk);
--      if (s->recoverable) {
-+      /*
-+       * If cache device is dirty (dc->has_dirty is non-zero), then
-+       * recovery a failed read request from cached device may get a
-+       * stale data back. So read failure recovery is only permitted
-+       * when cache device is clean.
-+       */
-+      if (s->recoverable &&
-+          (dc && !atomic_read(&dc->has_dirty))) {
-               /* Retry from the backing device: */
-               trace_bcache_read_retry(s->orig_bio);
index fc7d7bd8f5c2f6c8ec56e30933b8e7faa9bdff79..8619b1390bb071261027d774a31b69f6a8ca73a7 100644 (file)
@@ -59,7 +59,6 @@ fscrypt-lock-mutex-before-checking-for-bounce-page-pool.patch
 ecryptfs-use-after-free-in-ecryptfs_release_messaging.patch
 libceph-don-t-warn-if-user-tries-to-add-invalid-key.patch
 bcache-check-ca-alloc_thread-initialized-before-wake-up-it.patch
-bcache-only-permit-to-recovery-read-error-when-cache-device-is-clean.patch
 fs-guard_bio_eod-needs-to-consider-partitions.patch
 fanotify-fix-fsnotify_prepare_user_wait-failure.patch
 isofs-fix-timestamps-beyond-2027.patch
diff --git a/queue-4.4/bcache-only-permit-to-recovery-read-error-when-cache-device-is-clean.patch b/queue-4.4/bcache-only-permit-to-recovery-read-error-when-cache-device-is-clean.patch
deleted file mode 100644 (file)
index 73039d8..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-From d59b23795933678c9638fd20c942d2b4f3cd6185 Mon Sep 17 00:00:00 2001
-From: Coly Li <colyli@suse.de>
-Date: Mon, 30 Oct 2017 14:46:31 -0700
-Subject: bcache: only permit to recovery read error when cache device is clean
-
-From: Coly Li <colyli@suse.de>
-
-commit d59b23795933678c9638fd20c942d2b4f3cd6185 upstream.
-
-When bcache does read I/Os, for example in writeback or writethrough mode,
-if a read request on cache device is failed, bcache will try to recovery
-the request by reading from cached device. If the data on cached device is
-not synced with cache device, then requester will get a stale data.
-
-For critical storage system like database, providing stale data from
-recovery may result an application level data corruption, which is
-unacceptible.
-
-With this patch, for a failed read request in writeback or writethrough
-mode, recovery a recoverable read request only happens when cache device
-is clean. That is to say, all data on cached device is up to update.
-
-For other cache modes in bcache, read request will never hit
-cached_dev_read_error(), they don't need this patch.
-
-Please note, because cache mode can be switched arbitrarily in run time, a
-writethrough mode might be switched from a writeback mode. Therefore
-checking dc->has_data in writethrough mode still makes sense.
-
-Changelog:
-V4: Fix parens error pointed by Michael Lyle.
-v3: By response from Kent Oversteet, he thinks recovering stale data is a
-    bug to fix, and option to permit it is unnecessary. So this version
-    the sysfs file is removed.
-v2: rename sysfs entry from allow_stale_data_on_failure  to
-    allow_stale_data_on_failure, and fix the confusing commit log.
-v1: initial patch posted.
-
-[small change to patch comment spelling by mlyle]
-
-Signed-off-by: Coly Li <colyli@suse.de>
-Signed-off-by: Michael Lyle <mlyle@lyle.org>
-Reported-by: Arne Wolf <awolf@lenovo.com>
-Reviewed-by: Michael Lyle <mlyle@lyle.org>
-Cc: Kent Overstreet <kent.overstreet@gmail.com>
-Cc: Nix <nix@esperi.org.uk>
-Cc: Kai Krakow <hurikhan77@gmail.com>
-Cc: Eric Wheeler <bcache@lists.ewheeler.net>
-Cc: Junhui Tang <tang.junhui@zte.com.cn>
-Signed-off-by: Jens Axboe <axboe@kernel.dk>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
----
- drivers/md/bcache/request.c |   10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
-
---- a/drivers/md/bcache/request.c
-+++ b/drivers/md/bcache/request.c
-@@ -707,8 +707,16 @@ static void cached_dev_read_error(struct
- {
-       struct search *s = container_of(cl, struct search, cl);
-       struct bio *bio = &s->bio.bio;
-+      struct cached_dev *dc = container_of(s->d, struct cached_dev, disk);
--      if (s->recoverable) {
-+      /*
-+       * If cache device is dirty (dc->has_dirty is non-zero), then
-+       * recovery a failed read request from cached device may get a
-+       * stale data back. So read failure recovery is only permitted
-+       * when cache device is clean.
-+       */
-+      if (s->recoverable &&
-+          (dc && !atomic_read(&dc->has_dirty))) {
-               /* Retry from the backing device: */
-               trace_bcache_read_retry(s->orig_bio);
index 00ef5727cc2ae9ed5e9fcbc92b1806c0d53886a9..f213b98bc50156e7ac1a76b87a0845c35857e7ad 100644 (file)
@@ -21,7 +21,6 @@ autofs-don-t-fail-mount-for-transient-error.patch
 nilfs2-fix-race-condition-that-causes-file-system-corruption.patch
 ecryptfs-use-after-free-in-ecryptfs_release_messaging.patch
 bcache-check-ca-alloc_thread-initialized-before-wake-up-it.patch
-bcache-only-permit-to-recovery-read-error-when-cache-device-is-clean.patch
 isofs-fix-timestamps-beyond-2027.patch
 nfs-fix-typo-in-nomigration-mount-option.patch
 nfs-fix-ugly-referral-attributes.patch
diff --git a/queue-4.9/bcache-only-permit-to-recovery-read-error-when-cache-device-is-clean.patch b/queue-4.9/bcache-only-permit-to-recovery-read-error-when-cache-device-is-clean.patch
deleted file mode 100644 (file)
index decc6c8..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-From d59b23795933678c9638fd20c942d2b4f3cd6185 Mon Sep 17 00:00:00 2001
-From: Coly Li <colyli@suse.de>
-Date: Mon, 30 Oct 2017 14:46:31 -0700
-Subject: bcache: only permit to recovery read error when cache device is clean
-
-From: Coly Li <colyli@suse.de>
-
-commit d59b23795933678c9638fd20c942d2b4f3cd6185 upstream.
-
-When bcache does read I/Os, for example in writeback or writethrough mode,
-if a read request on cache device is failed, bcache will try to recovery
-the request by reading from cached device. If the data on cached device is
-not synced with cache device, then requester will get a stale data.
-
-For critical storage system like database, providing stale data from
-recovery may result an application level data corruption, which is
-unacceptible.
-
-With this patch, for a failed read request in writeback or writethrough
-mode, recovery a recoverable read request only happens when cache device
-is clean. That is to say, all data on cached device is up to update.
-
-For other cache modes in bcache, read request will never hit
-cached_dev_read_error(), they don't need this patch.
-
-Please note, because cache mode can be switched arbitrarily in run time, a
-writethrough mode might be switched from a writeback mode. Therefore
-checking dc->has_data in writethrough mode still makes sense.
-
-Changelog:
-V4: Fix parens error pointed by Michael Lyle.
-v3: By response from Kent Oversteet, he thinks recovering stale data is a
-    bug to fix, and option to permit it is unnecessary. So this version
-    the sysfs file is removed.
-v2: rename sysfs entry from allow_stale_data_on_failure  to
-    allow_stale_data_on_failure, and fix the confusing commit log.
-v1: initial patch posted.
-
-[small change to patch comment spelling by mlyle]
-
-Signed-off-by: Coly Li <colyli@suse.de>
-Signed-off-by: Michael Lyle <mlyle@lyle.org>
-Reported-by: Arne Wolf <awolf@lenovo.com>
-Reviewed-by: Michael Lyle <mlyle@lyle.org>
-Cc: Kent Overstreet <kent.overstreet@gmail.com>
-Cc: Nix <nix@esperi.org.uk>
-Cc: Kai Krakow <hurikhan77@gmail.com>
-Cc: Eric Wheeler <bcache@lists.ewheeler.net>
-Cc: Junhui Tang <tang.junhui@zte.com.cn>
-Signed-off-by: Jens Axboe <axboe@kernel.dk>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
----
- drivers/md/bcache/request.c |   10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
-
---- a/drivers/md/bcache/request.c
-+++ b/drivers/md/bcache/request.c
-@@ -702,8 +702,16 @@ static void cached_dev_read_error(struct
- {
-       struct search *s = container_of(cl, struct search, cl);
-       struct bio *bio = &s->bio.bio;
-+      struct cached_dev *dc = container_of(s->d, struct cached_dev, disk);
--      if (s->recoverable) {
-+      /*
-+       * If cache device is dirty (dc->has_dirty is non-zero), then
-+       * recovery a failed read request from cached device may get a
-+       * stale data back. So read failure recovery is only permitted
-+       * when cache device is clean.
-+       */
-+      if (s->recoverable &&
-+          (dc && !atomic_read(&dc->has_dirty))) {
-               /* Retry from the backing device: */
-               trace_bcache_read_retry(s->orig_bio);
index 8461dfac41ea6ba12c707f8ea05acdf7e0aea289..77733a15741e42a70c6776f0ca3a3b66c255d9b2 100644 (file)
@@ -31,7 +31,6 @@ nilfs2-fix-race-condition-that-causes-file-system-corruption.patch
 ecryptfs-use-after-free-in-ecryptfs_release_messaging.patch
 libceph-don-t-warn-if-user-tries-to-add-invalid-key.patch
 bcache-check-ca-alloc_thread-initialized-before-wake-up-it.patch
-bcache-only-permit-to-recovery-read-error-when-cache-device-is-clean.patch
 isofs-fix-timestamps-beyond-2027.patch
 nfs-fix-typo-in-nomigration-mount-option.patch
 nfs-fix-ugly-referral-attributes.patch