archive mirror
 help / color / mirror / Atom feed
From: James Sefton <>
Subject: Re: Resizing bcache backing store
Date: Thu, 1 Nov 2012 19:06:01 +0000 (UTC)	[thread overview]
Message-ID: <> (raw)
In-Reply-To: <>

Kent Overstreet <koverstreet@...> writes:

> For the backing device, I think things will just work - you'll just
> have to close and reopen the backing device in order for bcache to
> notice the new size. Bcache's superblock doesn't remember the size, it
> just goes off of what the size of the backing device is when it's
> registered.
> There's currently no way to make bcache notice the backing device has
> grown to do it at runtime, though that ought to be fairly simple too.
> On Wed, Apr 11, 2012 at 6:47 PM, David Rhodes Clymer
> <david@...> wrote:
> > In the case where the bcache backing store is resizeable (eg. a
> > logical volume), is it possible to resize the backing store without
> > breaking bcache? Let's say, for example, that I would
> > unmount/unregister /dev/bcacheX, resize the backing store,
> > reregister/remount the cache.
> >
> > I imagine a better approach would be to layer LVM on the cache device
> > itself. However, in this particular case, I set up the bcache before I
> > had learned how to get LVM to use a bcache device as a PV.
> >
> > -davidc
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-bcache" in
> > the body of a message to majordomo@...
> > More majordomo info at

Hi Kent,

I am new to bcache and have a question relating to the above.
Resizing sounds pretty straight forward following the procedure you outlined 
above when you are growing the disk.   However, what would happen if you wanted 
to shrink the backing device and had writeback enabled.

We would obviously shrink the filesystem first through the cash so any blocks in 
the area beyond the new filesystem boundary that may still be dirty in the cache 
would not matter any more.

Then we would unregister the backing store and truncate the backing store block 
device before re-registering it.

I am wondering if any dirty blocks that are in the cache that are beyond the new 
size of the backing device are going to cause a problem?   It does not matter if 
they are simply discarded since the filesystem was resized but would bcache know 
what to do with them or could they cause a crash (or other undesirable effects) 
due to bcache trying to write to blocks that no longer exist on the backing 

I hope that makes sense.

Many thanks,


  reply	other threads:[~2012-11-01 19:06 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-11 22:47 David Rhodes Clymer
     [not found] ` <>
2012-04-11 23:55   ` Kent Overstreet
2012-11-01 19:06     ` James Sefton [this message]
     [not found]       ` <>
2012-11-02 15:20         ` Kent Overstreet

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:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \
    --subject='Re: Resizing bcache backing store' \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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).