From: Coly Li <colyli@suse.de>
To: linux-bcache@vger.kernel.org
Cc: linux-block@vger.kernel.org, Coly Li <colyli@suse.de>
Subject: [PATCH 3/3] bcache-tools: convert writeback to writethrough mode for zoned backing device
Date: Sat, 16 May 2020 22:09:40 +0800 [thread overview]
Message-ID: <20200516140940.101190-4-colyli@suse.de> (raw)
In-Reply-To: <20200516140940.101190-1-colyli@suse.de>
Currently bcache does not support writeback cache mode for zoned device
as backing device.
If the backing device is zoned device, and cache mode is explicitly set
to writeback mode, a information will be print to terminal,
"Zoned device <device name> detected: convert to writethrough mode."
Then the cache mode will be automatically converted to writethrough,
which is the default cache mode of bcache-tools.
Signed-off-by: Coly Li <colyli@suse.de>
---
make.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/make.c b/make.c
index c1090a6..c5658ba 100644
--- a/make.c
+++ b/make.c
@@ -378,6 +378,19 @@ static void write_sb(char *dev, unsigned int block_size,
SET_BDEV_CACHE_MODE(&sb, writeback ?
CACHE_MODE_WRITEBACK : CACHE_MODE_WRITETHROUGH);
+ /*
+ * Currently bcache does not support writeback mode for
+ * zoned device as backing device. If the cache mode is
+ * explicitly set to writeback, automatically convert to
+ * writethough mode.
+ */
+ if (is_zoned_device(dev) &&
+ BDEV_CACHE_MODE(&sb) == CACHE_MODE_WRITEBACK) {
+ printf("Zoned device %s detected: convert to writethrough mode.\n",
+ dev);
+ SET_BDEV_CACHE_MODE(&sb, CACHE_MODE_WRITETHROUGH);
+ }
+
if (data_offset != BDEV_DATA_START_DEFAULT) {
sb.version = BCACHE_SB_VERSION_BDEV_WITH_OFFSET;
sb.data_offset = data_offset;
--
2.25.0
prev parent reply other threads:[~2020-05-16 14:10 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-16 14:09 [PATCH 0/3] bcache-tools: suport zoned device as making backing evice Coly Li
2020-05-16 14:09 ` [PATCH 1/3] bcache-tools: set zoned size aligned data_offset on backing device for zoned devive Coly Li
2020-05-16 14:09 ` [PATCH 2/3] bcache-tools: add is_zoned_device() Coly Li
2020-05-16 14:09 ` Coly Li [this message]
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=20200516140940.101190-4-colyli@suse.de \
--to=colyli@suse.de \
--cc=linux-bcache@vger.kernel.org \
--cc=linux-block@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).