From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Mason Subject: Re: kernel bug in file-item.c Date: Wed, 29 Apr 2009 13:53:38 -0400 Message-ID: <1241027618.20099.48.camel@think.oraclecorp.com> References: <49F73F69.4010205@oel.state.nj.us> <1240946633.15136.55.camel@think.oraclecorp.com> <49F87A7F.7090804@oel.state.nj.us> Mime-Version: 1.0 Content-Type: text/plain Cc: linux-btrfs@vger.kernel.org To: mroconnor@oel.state.nj.us Return-path: In-Reply-To: <49F87A7F.7090804@oel.state.nj.us> List-ID: On Wed, 2009-04-29 at 12:04 -0400, Marc R. O'Connor wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > full file-item.c attached > > Chris Mason wrote: > > On Tue, 2009-04-28 at 13:39 -0400, Marc R. O'Connor wrote: > >> I have had two 'kernel bug' issues today both referencing file-item.c. > >> The first oops happened when i was cp'ing from and external HD(ext3) to > >> and ext3 partition. The second happened during boot up. I have attached > >> them both. > >> > >> Im using btrfs that was merged into my kernel yesterday. > >> > >> plain text document attachment (btrfs_bug_1) > >> Apr 28 10:55:10 cosmo2 ------------[ cut here ]------------ > >> Apr 28 10:55:10 cosmo2 kernel BUG at fs/btrfs/file-item.c:494! > > > > Well, I think I see the bug. It looks like we want to do > > > > - if (key->offset < bytenr && csum_end <= end_byte) { > > + if (key->offset <= bytenr && csum_end <= end_byte) { > > > > in truncate_one_csum. But I need to test that here for a bit and send > > you a patch. Ok, line 494 is actually this one ;) key->offset = end_byte; ret = btrfs_set_item_key_safe(trans, root, path, key); BUG_ON(ret); <---- 494 Which means we're finding things out of order in the btree leaf. Could you please run btrfsck on this filesystem? -chris