From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1WW9Xc-0001UE-4T for mharc-grub-devel@gnu.org; Fri, 04 Apr 2014 15:12:40 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37547) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WW9XU-0001Ms-GE for grub-devel@gnu.org; Fri, 04 Apr 2014 15:12:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WW9XO-00032x-MQ for grub-devel@gnu.org; Fri, 04 Apr 2014 15:12:32 -0400 Received: from mail-la0-x22b.google.com ([2a00:1450:4010:c03::22b]:33628) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WW9XO-00032l-Ez for grub-devel@gnu.org; Fri, 04 Apr 2014 15:12:26 -0400 Received: by mail-la0-f43.google.com with SMTP id e16so2808770lan.2 for ; Fri, 04 Apr 2014 12:12:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-type:content-transfer-encoding; bh=QxivrMdI+RMUJoIsCcCbwMgwUmDoQ4CZ+kGP2DNWZRo=; b=pc2mIlvg5pepjAdnW5uJ6NvNCf9abMTewvLFwznKXqR0qyoatABFbDVKE5a3d5fg67 SL2qqNqCGWePE0Wt/Jm/UKSe7yNJ+SQeMo+xpLAmv+Dl8FNQnbKvd56ByPZtbJ83ND2Q Gqbw59BATJ+a2w3SX594yTxBwvGXgoPPmvlFlMYqRJEANq6RSHK3Es9o38uRv12TFiMY El5FH0OPpgaLSl8+Vypr02zfHow1vuBUUKtt7BK3ekxnmOs+yHZM3T8m1W7MiueuGvFc lh2x6pkeCJgVYtU7ynxArqj6sZJejBMq1pBHgUsF+nH92gO7gWvuXhQTJ0XzFt9IIXOR vEPw== X-Received: by 10.152.4.41 with SMTP id h9mr2626724lah.43.1396638745492; Fri, 04 Apr 2014 12:12:25 -0700 (PDT) Received: from opensuse.site (ppp37-190-15-130.pppoe.spdop.ru. [37.190.15.130]) by mx.google.com with ESMTPSA id a2sm6214889lbz.25.2014.04.04.12.12.24 for (version=SSLv3 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 04 Apr 2014 12:12:24 -0700 (PDT) Date: Fri, 4 Apr 2014 23:12:23 +0400 From: Andrey Borzenkov To: Dinar Valeev Subject: Re: [RFC PATCH 21/23] powerpc64 is not necessarily BigEndian anymore! :) Message-ID: <20140404231223.371fd610@opensuse.site> In-Reply-To: <1396635898.2170.12.camel@petersburg.suse.cz> References: <20140401214945.209b4894@opensuse.site> <533B1FF2.9040503@gmail.com> <20140403173336.GA16534@ram.oc3035372033.ibm.com> <20140403215356.1b953172@opensuse.site> <20140403183705.GK29218@ram.oc3035372033.ibm.com> <20140403230329.06d61900@opensuse.site> <20140403192657.GM29218@ram.oc3035372033.ibm.com> <20140403235446.2c69a649@opensuse.site> <20140403203222.GO29218@ram.oc3035372033.ibm.com> <20140404062851.1228cd3b@opensuse.site> <20140404174735.GB16534@ram.oc3035372033.ibm.com> <20140404221744.1ac39311@opensuse.site> <1396635898.2170.12.camel@petersburg.suse.cz> X-Mailer: Claws Mail 3.9.2 (GTK+ 2.24.22; x86_64-suse-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:4010:c03::22b Cc: The development of GNU GRUB , linuxram@us.ibm.com, pfsmorigo@br.ibm.com, phcoder@gmail.com X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Apr 2014 19:12:38 -0000 В Fri, 04 Apr 2014 20:24:58 +0200 Dinar Valeev пишет: > > Right, my mistake. I recall a message message with 64bit LE patches. But > seems that came from somewhere else. > > Long story short. With 32Bit BE stage one I had several issues like > accessing btrfs and booting from media. I gave up on my hack, and now > use proposed patches (64Bit LE). > Well, then this is the real bug that has to be fixed. btrfs driver is supposed to be endian-clean. Did you try to disable SUSE btrfs patch to verify? There is at least one suspicious place + tree = grub_le_to_cpu64(data->sblock.root_tree); + err = get_fs_root(data, tree, grub_cpu_to_le64(GRUB_BTRFS_FS_TREE_OBJECTID), + 0, &fs_root); get_fs_root expects "tree" in on-disk format, not in CPU format. +get_fs_root(struct grub_btrfs_data *data, grub_uint64_t tree, + grub_uint64_t objectid, grub_uint64_t offset, + grub_uint64_t *fs_root) ... + err = lower_bound(data, &key_in, &key_out, tree, + &elemaddr, &elemsize, &desc, 0); and lower_bound converts fourth argument again lower_bound (struct grub_btrfs_data *data, const struct grub_btrfs_key *key_in, struct grub_btrfs_key *key_out, grub_uint64_t root ... grub_disk_addr_t addr = grub_le_to_cpu64 (root); > I'll submit it to Base:System. >