Thread (2 messages) 2 messages, 2 authors, 2012-11-01

Re: Resizing bcache backing store

From: James Sefton <hidden>
Date: 2012-11-01 19:06:01

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:
quoted
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  http://vger.kernel.org/majordomo-info.html

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 
device?

I hope that makes sense.

Many thanks,

James
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help