public inbox for linux-block@vger.kernel.org
 help / color / mirror / Atom feed
From: Michael Lyle <mlyle@lyle.org>
To: Coly Li <colyli@suse.de>, linux-bcache@vger.kernel.org
Cc: linux-block@vger.kernel.org, Junhui Tang <tang.junhui@zte.com.cn>,
	Pavel Vazharov <freakpv@gmail.com>
Subject: Re: [PATCH v7 4/9] bcache: add CACHE_SET_IO_DISABLE to struct cache_set flags
Date: Tue, 27 Feb 2018 10:07:05 -0800	[thread overview]
Message-ID: <aefa3d5a-f168-9105-385a-4bb6bf6fa136@lyle.org> (raw)
In-Reply-To: <20180227165557.20442-5-colyli@suse.de>

Hi Coly Li--

On 02/27/2018 08:55 AM, Coly Li wrote:
> When too many I/Os failed on cache device, bch_cache_set_error() is called
> in the error handling code path to retire whole problematic cache set. If
> new I/O requests continue to come and take refcount dc->count, the cache
> set won't be retired immediately, this is a problem.
> 
> Further more, there are several kernel thread and self-armed kernel work
> may still running after bch_cache_set_error() is called. It needs to wait
> quite a while for them to stop, or they won't stop at all. They also
> prevent the cache set from being retired.

It's too bad this is necessary-- I wish the IO layer could latch error
for us in some kind of meaningful way instead of us having to do it
ourselves (and for filesystems, etc, having to each do similar things to
prevent just continuously hitting IO timeouts).  That said, the code
looks good.

Reviewed-by: Michael Lyle <mlyle@lyle.org>

  reply	other threads:[~2018-02-27 18:07 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-27 16:55 [PATCH v7 0/9] bcache: device failure handling improvement Coly Li
2018-02-27 16:55 ` [PATCH v7 1/9] bcache: fix cached_dev->count usage for bch_cache_set_error() Coly Li
2018-02-27 18:01   ` Michael Lyle
2018-02-27 16:55 ` [PATCH v7 2/9] bcache: quit dc->writeback_thread when BCACHE_DEV_DETACHING is set Coly Li
2018-02-27 16:55 ` [PATCH v7 3/9] bcache: stop dc->writeback_rate_update properly Coly Li
2018-02-27 18:53   ` Michael Lyle
2018-02-27 16:55 ` [PATCH v7 4/9] bcache: add CACHE_SET_IO_DISABLE to struct cache_set flags Coly Li
2018-02-27 18:07   ` Michael Lyle [this message]
2018-02-27 16:55 ` [PATCH v7 5/9] bcache: add stop_when_cache_set_failed option to backing device Coly Li
2018-02-27 16:55 ` [PATCH v7 6/9] bcache: fix inaccurate io state for detached bcache devices Coly Li
2018-02-27 16:55 ` [PATCH v7 7/9] bcache: add backing_request_endio() for bi_end_io of attached backing device I/O Coly Li
2018-03-14 18:30   ` Michael Lyle
2018-03-14 19:08   ` Michael Lyle
2018-02-27 16:55 ` [PATCH v7 8/9] bcache: add io_disable to struct cached_dev Coly Li
2018-03-14 18:35   ` Michael Lyle
2018-03-14 19:09   ` Michael Lyle
2018-02-27 16:55 ` [PATCH v7 9/9] bcache: stop bcache device when backing device is offline Coly Li
2018-02-27 18:20   ` Michael Lyle
2018-02-28  4:54     ` Coly Li
2018-02-27 18:29 ` [PATCH v7 0/9] bcache: device failure handling improvement Michael Lyle
2018-02-27 18:33   ` Michael Lyle
2018-02-27 19:27     ` Michael Lyle
2018-02-28  4:55       ` Coly Li

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=aefa3d5a-f168-9105-385a-4bb6bf6fa136@lyle.org \
    --to=mlyle@lyle.org \
    --cc=colyli@suse.de \
    --cc=freakpv@gmail.com \
    --cc=linux-bcache@vger.kernel.org \
    --cc=linux-block@vger.kernel.org \
    --cc=tang.junhui@zte.com.cn \
    /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