Re: Crash in __btrfs_reserve_extent

Chris Mason
2009-08-06T19:22:19Z

On Thu, Aug 06, 2009 at 03:01:18PM -0400, Josef Bacik wrote:
> On Thu, Aug 06, 2009 at 08:49:39PM +0200, Tore Anderson wrote:
> > * Josef Bacik
> >
> > > Ok good news is, btrfs-vol -b will fix your problem. Somehow most of
> > > your disk has been allocated to use metadata. So did you have a
> > > whole bunch of stuff on this disk and then delete it all? Because
> > > that would put you in that situation. If you have not then there is
> > > likely a bug in the metadata ratio stuff that needs to be fixed.
> >
> > As far as I know there hasn't been a lot of stuff on the file system,
> > I'm afraid. The file system was created by the Fedora 11 installer,
> > and it has just been used as the system drive (I've got /home on NFS).
> >
> > btrfs-vol -b / (from btrfs-progs-0.19) made my system crash and burn.
> > I've was able to get output from dmesg before my SSH sessions started
> > hanging - maybe you can make anything out of it? Anyway, right now I
> > have no more remote access to the box so any further debugging will
> > have to wait until tomorrow morning.
> >
>
> Hrm yeah I was afraid of that. So you will have to try and free up some data so
> the balancer as enough room to move things around. Also one thing that _may_
> help is mounting with nocow for a little bit, so any writing (like logging and
> such) just over-writes stuff instead of needing a new extent, until btrfs-vol -b
> can finish, and then you can go back to the normal mount options. I still can't
> figure out how this happened, but one thing to do for now would be to mount with
> metadata_ratio=100. This will make you more likely to panic in the event that
> you run out of metadata, but its not that likely to happen, especially with as
> much disk space as you have. Sorry about all of this, hopefully a better
> solution will be coming down in a few months. Thanks,

We can code a fix for the balancer problem quickly, but you might have a
hard time recompiling it and getting it on that box.

If this data is critical we'll write something up.

-chris