From patchwork Sun Jan 31 02:00:26 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yan, Zheng" X-Patchwork-Id: 75940 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.3) with ESMTP id o0V20UIn011195 for ; Sun, 31 Jan 2010 02:00:32 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754474Ab0AaCA2 (ORCPT ); Sat, 30 Jan 2010 21:00:28 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754360Ab0AaCA2 (ORCPT ); Sat, 30 Jan 2010 21:00:28 -0500 Received: from mail-pz0-f172.google.com ([209.85.222.172]:60364 "EHLO mail-pz0-f172.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754175Ab0AaCA1 convert rfc822-to-8bit (ORCPT ); Sat, 30 Jan 2010 21:00:27 -0500 Received: by pzk2 with SMTP id 2so2950667pzk.21 for ; Sat, 30 Jan 2010 18:00:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:message-id:subject:from:to:cc :content-type:content-transfer-encoding; bh=ZiA3xH7V5Z76v8SCOYn6SoHop0Mmwx22zXEk0RdaT9o=; b=CX3FrzVdDgVi0hZY0X9SK7u8cBTxI9df9XEykv/vkjqjkAaQEt59hIaH1GR9NvbyFA hfHmxry5neDJJJkBLoWdAlPNoINj48/0iefCCDcBYcBzyVskVy4cQ5ISrRVrM57hYsC9 FUkmubo4hyMKSTWik3CMY/FsGonauhoKFiYTA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; b=gw9UFoNFbr7uC1MtZRRlXy+v/S2dVkS2mGzZhas+cJOEv70DgOTYLHR/F3NiDsf2GA 9Q3rZgpkmWQwK5zMsa4pyLnIpkYFyp8mFQO3DFk3gkik3jzY/ZGG2TM1iqgq/2O5PbPY yiaTiKHZ6gah0fG6uiko3AjzATQPw31gp7JNg= MIME-Version: 1.0 Received: by 10.114.236.20 with SMTP id j20mr1836718wah.185.1264903226858; Sat, 30 Jan 2010 18:00:26 -0800 (PST) In-Reply-To: <4B646D08.1020307@gmail.com> References: <4B63CC39.1020505@gmail.com> <3d0408631001300409i13326d13vac10a3f639f6db92@mail.gmail.com> <4B646D08.1020307@gmail.com> Date: Sun, 31 Jan 2010 10:00:26 +0800 X-Google-Sender-Auth: 6f091e0299ac5a0a Message-ID: <3d0408631001301800y5de8a412w1d29bdb5e5e79f84@mail.gmail.com> Subject: Re: panic during rebalance, and now upon mount From: "Yan, Zheng " To: Troy Ablan Cc: linux-btrfs@vger.kernel.org Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter.kernel.org [140.211.167.41]); Sun, 31 Jan 2010 02:00:32 +0000 (UTC) diff -urp 1/fs/btrfs/extent-tree.c 2/fs/btrfs/extent-tree.c --- 1/fs/btrfs/extent-tree.c 2010-01-22 12:16:34.203525744 +0800 +++ 2/fs/btrfs/extent-tree.c 2010-01-31 09:29:01.131484542 +0800 @@ -5372,9 +5372,19 @@ static noinline int walk_up_proc(struct if (eb == root->node) { if (wc->flags[level] & BTRFS_BLOCK_FLAG_FULL_BACKREF) parent = eb->start; - else - BUG_ON(root->root_key.objectid != - btrfs_header_owner(eb)); + else { + if (root->root_key.objectid != btrfs_header_owner(eb)) { + printk("root %llu %llu\n", + root->root_key.objectid, root->root_key.offset); + printk("node %llu refs %llu flags %llu owner %llu " + "reloc %d level %d nritems %d\n", + eb->start, wc->refs[level], wc->flags[level], + btrfs_header_owner(eb), + btrfs_header_flag(eb, BTRFS_HEADER_FLAG_RELOC), + btrfs_header_level(eb), btrfs_header_nritems(eb)); + BUG(); + } + } } else { if (wc->flags[level + 1] & BTRFS_BLOCK_FLAG_FULL_BACKREF) parent = path->nodes[level + 1]->start; @@ -5496,6 +5506,8 @@ int btrfs_drop_snapshot(struct btrfs_roo sizeof(wc->update_progress)); } else { btrfs_disk_key_to_cpu(&key, &root_item->drop_progress); + printk("drop progress %llu %d %llu\n", key.objectid, + key.type, key.offset); memcpy(&wc->update_progress, &key, sizeof(wc->update_progress)); --- For btrfsck: --- diff -urp btrfs-progs-unstable/btrfsck.c btrfs-progs-2/btrfsck.c --- btrfs-progs-unstable/btrfsck.c 2009-09-28 15:54:55.980479398 +0800 +++ btrfs-progs-2/btrfsck.c 2010-01-31 09:46:24.645485459 +0800 @@ -581,7 +581,6 @@ again: } ret = insert_existing_cache_extent(dst, &ins->cache); if (ret == -EEXIST) { - WARN_ON(src == &src_node->root_cache); conflict = get_inode_rec(dst, rec->ino, 1); merge_inode_recs(rec, conflict, dst); if (rec->checked) {