[Btrfs-devel] Oops

Christian Hesse list at eworm.de
Sun Dec 9 11:50:57 PST 2007


On Sunday 09 December 2007, Chris Mason wrote:
> On Sat, 8 Dec 2007 19:50:50 +0100
>
> Christian Hesse <list at eworm.de> wrote:
> > On Saturday 08 December 2007, Yan Zheng wrote:
> > > It's seem that the btrfs is damaged. have you reformatted the image
> > > file after the first Oops?
> >
> > It's a clean image. After the first oops I deleted it an created a
> > new one. After the  second oops I did not delete the image nor
> > formatted it, I still use it. The difference is that I unmounted it
> > before suspend (or directly after resume without any other access to
> > it). The logfiles do not show any hints though.
>
> So we've got a few possible causes:
>
> 1) A btrfs bug.
>
> 2) A tuxonice bug
>
> 3) A tuxonice bug with loopback mounted filesystems
>
> Since the rest of your filesystems aren't corrupted, I think we can
> rule out a generic tuxonice problem.  But, have you tried other
> loopback mounted filesystems with tuxonice?

Yes, ext3 loopback on ext3 is no problem.

> Every suspend is going to start with flushing out all the dirty pages
> to disk.  Instead of running tuxonice, could you please do:
>
> echo 3 > /proc/sys/vm/drop_caches
>
> With the btrfs FS mounted?  That should do something similar to the
> flushing done by suspend.  Then run your emerge command again without
> doing a suspend and see what happens.

No Problems. Dropped caches, deleted a part of the tree (was already up to 
date :), dropped caches again, resynced the data.

Tuxonice calls freeze_bdev() before suspend and calls thaw_bdev() after resume 
(both located in fs/buffer.c). This happens in reverse order to freeze a 
loopback mounted filesystem before the one the image is stored on.
-- 
Regards,
Chris



More information about the Btrfs-devel mailing list