Re: Resizing bcache backing store

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Nov 01, 2012 at 07:06:01PM +0000, James Sefton wrote:
> 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  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?

Hmm, it most likely would.

You could certainly work around it by disabling writeback and waiting
for all the dirty data to be flushed, but this is something that could
be improved.

It'd be fairly straightforward to fix it so background writeback and
garbage collection took into account the current size of the device, but
to be honest I'm currently swamped with work and I'm not going to have
time to do it myself any time soon.

I'd be happy to help anyone who wanted to work on it, though.
--
To unsubscribe from this list: send the line "unsubscribe linux-bcache" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux ARM Kernel]     [Linux Filesystem Development]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux