From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from magic.merlins.org ([209.81.13.136]:36859 "EHLO mail1.merlins.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756982AbdKQGRO (ORCPT ); Fri, 17 Nov 2017 01:17:14 -0500 Date: Thu, 16 Nov 2017 22:17:07 -0800 From: Marc MERLIN To: Qu Wenruo Cc: Lu Fengqi , Btrfs BTRFS , David Sterba Message-ID: <20171117061707.geqtk3ydj2elv4o7@merlins.org> References: <20171117022615.GO10969@merlins.org> <3e4de2ce-28c8-23c0-c25d-70659a378865@gmx.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 In-Reply-To: <3e4de2ce-28c8-23c0-c25d-70659a378865@gmx.com> Subject: Re: btrfs check: add_missing_dir_index: BUG_ON `ret` triggered, value -17 Sender: linux-btrfs-owner@vger.kernel.org List-ID: On Fri, Nov 17, 2017 at 01:17:19PM +0800, Qu Wenruo wrote: > > > On 2017年11月17日 10:26, Marc MERLIN wrote: > > Howdy, > > > > Up to date git pull from btrfs-progs: > > > > gargamel:~# btrfs check --repair /dev/mapper/raid0d1 > > enabling repair mode > > Checking filesystem on /dev/mapper/raid0d1 > > UUID: 01334b81-c0db-4e80-92e4-cac4da867651 > > checking extents > > corrupt extent record: key 203003699200 168 40960 > > corrupt extent record: key 203003764736 168 172032 > > ref mismatch on [203003699200 40960] extent item 0, found 1 > > Data backref 203003699200 root 258 owner 1933897829 offset 0 num_refs 0 not found in extent tree > > Incorrect local backref count on 203003699200 root 258 owner 1933897829 offset 0 found 1 wanted 0 back 0x5596988c2130 > > backpointer mismatch on [203003699200 40960] > > repair deleting extent record: key 203003699200 168 40960 > > adding new data backref on 203003699200 root 258 owner 1933897829 offset 0 found 1 > > Repaired extent references for 203003699200 > > Data backref 203003764736 root 258 owner 1932315368 offset 0 num_refs 0 not found in extent tree > > Incorrect local backref count on 203003764736 root 258 owner 1932315368 offset 0 found 1 wanted 0 back 0x5596dde358f0 > > backpointer mismatch on [203003764736 172032] > > repair deleting extent record: key 203003764736 168 172032 > > adding new data backref on 203003764736 root 258 owner 1932315368 offset 0 found 1 > > Repaired extent references for 203003764736 > > Fixed 0 roots. > > checking free space cache > > cache and super generation don't match, space cache will be invalidated > > checking fs roots > > invalid location in dir item 0 > > Deleting bad dir index [1919785864,96,1958] root 258 > > Deleting bad dir index [1919785864,96,1957] root 258 > > repairing missing dir index item for inode 1919805647 > > cmds-check.c:2614: add_missing_dir_index: BUG_ON `ret` triggered, value -17 > > -EEXIST. Btrfs check --repair is trying to re-insert some key which > exists already. > > Would you please provide the output of "btrfs-debug-tree -t 258 | grep > 1919805647" to help the debugging? Sure. It may run all night and I'm going to bed now, but the output I got so far, is: gargamel:~# btrfs-debug-tree -t 258 /dev/mapper/raid0d1 | grep 1919805647 location key (1919805647 INODE_ITEM 0) type FILE item 30 key (1919805647 INODE_ITEM 0) itemoff 14415 itemsize 160 item 31 key (1919805647 INODE_REF 1919785864) itemoff 14389 itemsize 26 item 32 key (1919805647 EXTENT_DATA 0) itemoff 14336 itemsize 53 (...) I'll post tomorrow if I get more overnight Marc -- "A mouse is a device used to point at the xterm you want to type in" - A.S.R. Microsoft is to operating systems .... .... what McDonalds is to gourmet cooking Home page: http://marc.merlins.org/ | PGP 1024R/763BE901