All of lore.kernel.org
 help / color / mirror / Atom feed
From: Coly Li <colyli@suse.de>
To: axboe@kernel.dk
Cc: linux-bcache@vger.kernel.org, linux-block@vger.kernel.org,
	Shenghui Wang <shhuiw@foxmail.com>, Coly Li <colyli@suse.de>
Subject: [PATCH 01/15] bcache: account size of buckets used in uuid write to ca->meta_sectors_written
Date: Mon,  8 Oct 2018 20:41:07 +0800	[thread overview]
Message-ID: <20181008124121.20192-2-colyli@suse.de> (raw)
In-Reply-To: <20181008124121.20192-1-colyli@suse.de>

From: Shenghui Wang <shhuiw@foxmail.com>

UUIDs are considered as metadata. __uuid_write should add the number
of buckets (in sectors) written to disk to ca->meta_sectors_written.
Currently only 1 bucket is used in uuid write.

Steps to test:
1) create a fresh backing device and a fresh cache device separately.
   The backing device didn't attach to any cache set.
2) cd /sys/block/<cache device>/bcache
   cat metadata_written      // record the output value
   cat bucket_size
3) attach the backing device to cache set
4) cat metadata_written
   The output value is almost the same as the value in step 2
   before the change.
   After the change, the value is bigger about 1 bucket size.

Signed-off-by: Shenghui Wang <shhuiw@foxmail.com>
Reviewed-by: Tang Junhui <tang.junhui.linux@gmail.com>
Signed-off-by: Coly Li <colyli@suse.de>
---
 drivers/md/bcache/super.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/md/bcache/super.c b/drivers/md/bcache/super.c
index 94c756c66bd7..448e531e8c2d 100644
--- a/drivers/md/bcache/super.c
+++ b/drivers/md/bcache/super.c
@@ -417,6 +417,7 @@ static int __uuid_write(struct cache_set *c)
 {
 	BKEY_PADDED(key) k;
 	struct closure cl;
+	struct cache *ca;
 
 	closure_init_stack(&cl);
 	lockdep_assert_held(&bch_register_lock);
@@ -428,6 +429,10 @@ static int __uuid_write(struct cache_set *c)
 	uuid_io(c, REQ_OP_WRITE, 0, &k.key, &cl);
 	closure_sync(&cl);
 
+	/* Only one bucket used for uuid write */
+	ca = PTR_CACHE(c, &k.key, 0);
+	atomic_long_add(ca->sb.bucket_size, &ca->meta_sectors_written);
+
 	bkey_copy(&c->uuid_bucket, &k.key);
 	bkey_put(c, &k.key);
 	return 0;
-- 
2.19.0

  reply	other threads:[~2018-10-08 12:41 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-08 12:41 [PATCH 00/15] bcache patches for 4.20 Coly Li
2018-10-08 12:41 ` Coly Li [this message]
2018-10-08 12:41 ` [PATCH 02/15] bcache: trace missed reading by cache_missed Coly Li
2018-10-08 12:41 ` [PATCH 03/15] bcache: use REQ_PRIO to indicate bio for metadata Coly Li
2018-10-08 12:41 ` [PATCH 04/15] bcache: fix ioctl in flash device Coly Li
2018-10-08 12:41 ` [PATCH 05/15] bcache: fix typo in code comments of closure_return_with_destructor() Coly Li
2018-10-08 12:41 ` [PATCH 06/15] bcache: correct dirty data statistics Coly Li
2018-10-08 12:41 ` [PATCH 07/15] bcache: Populate writeback_rate_minimum attribute Coly Li
2018-10-08 14:19   ` Jens Axboe
2018-10-08 15:02     ` Coly Li
2018-10-08 15:22       ` Jens Axboe
2018-10-08 12:41 ` [PATCH 08/15] bcache: fix miss key refill->end in writeback Coly Li
2018-10-08 12:41 ` [PATCH 09/15] bcache: recal cached_dev_sectors on detach Coly Li
2018-10-08 12:41 ` [PATCH 10/15] bcache: remove unused bch_passthrough_cache Coly Li
2018-10-08 12:41 ` [PATCH 11/15] bcache: remove useless parameter of bch_debug_init() Coly Li
2018-10-08 12:41 ` [PATCH 12/15] bcache: replace hard coded number with BUCKET_GC_GEN_MAX Coly Li
2018-10-08 12:41 ` [PATCH 13/15] bcache: use MAX_CACHES_PER_SET instead of magic number 8 in __bch_bucket_alloc_set Coly Li
2018-10-08 12:41 ` [PATCH 14/15] bcache: split combined if-condition code into separate ones Coly Li
2018-10-08 12:41 ` [PATCH 15/15] bcache: panic fix for making cache device Coly Li
2018-10-08 14:20 ` [PATCH 00/15] bcache patches for 4.20 Jens Axboe

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=20181008124121.20192-2-colyli@suse.de \
    --to=colyli@suse.de \
    --cc=axboe@kernel.dk \
    --cc=linux-bcache@vger.kernel.org \
    --cc=linux-block@vger.kernel.org \
    --cc=shhuiw@foxmail.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.