Hello,

thanks. But is there any way to recover from this error? Like removing
the item or so? Data loss isn't a problem. Just reconstructing the whole
FS will take quite a long time.

Stefan

Am 10.05.2017 um 11:54 schrieb Hugo Mills:
> On Wed, May 10, 2017 at 11:20:58AM +0200, Stefan Priebe - Profihost AG wrote:
>> Hello,
>>
>> here's the output:
>> # for block in 163316514816 163322413056 163325722624; do echo $block;
>> btrfs-debug-tree -b $block /dev/mapper/crypt_md0|sed -re 's/(\t| )name:
>> .*/\1name: HIDDEN/'; done
>>
>> 163316514816
>> btrfs-progs v4.8.5
>> leaf 163316514816 items 188 free space 1387 generation 86739 owner 3892
>> fs uuid 37b15dd8-b2e1-4585-98d0-cc0fa2a5a7c9
>> chunk uuid b86efe94-ab40-4344-ac6b-46ec59c41b8f
> [...]
>>         item 37 key (23760 DIR_INDEX 36) itemoff 14278 itemsize 58
>>                 location key (28124232 INODE_ITEM 0) type FILE
>>                 transid 86739 data_len 0 name_len 28
>>                 name: HIDDEN
>>         item 38 key (23760 DIR_INDEX 37) itemoff 14220 itemsize 58
>>                 location key (28124233 INODE_ITEM 0) type FILE
>>                 transid 86739 data_len 0 name_len 28
>>                 name: HIDDEN
>>         item 39 key (23760 DIR_INDEX 38) itemoff 14165 itemsize 55
>>                 location key (28124234 INODE_ITEM 0) type FILE
>>                 transid 86739 data_len 0 name_len 25
>>                 name: HIDDEN
>>         item 40 key (23760 DIR_INDEX 22) itemoff 14115 itemsize 50
>>                 location key (26923383 INODE_ITEM 0) type FILE
>>                 transid 74009 data_len 0 name_len 20
>>                 name: HIDDEN
>>         item 41 key (23760 DIR_INDEX 23) itemoff 14067 itemsize 48
>>                 location key (26923384 INODE_ITEM 0) type FILE
>>                 transid 74009 data_len 0 name_len 18
>>                 name: HIDDEN
> [...]
>> 163322413056
>> btrfs-progs v4.8.5
>> leaf 163322413056 items 113 free space 934 generation 86739 owner 3892
>> fs uuid 37b15dd8-b2e1-4585-98d0-cc0fa2a5a7c9
>> chunk uuid b86efe94-ab40-4344-ac6b-46ec59c41b8f
> [...]
>>         item 73 key (24016 DIR_INDEX 19) itemoff 9651 itemsize 62
>>                 location key (28124251 INODE_ITEM 0) type FILE
>>                 transid 86739 data_len 0 name_len 32
>>                 name: HIDDEN
>>         item 74 key (24016 DIR_INDEX 20) itemoff 9592 itemsize 59
>>                 location key (28124252 INODE_ITEM 0) type FILE
>>                 transid 86739 data_len 0 name_len 29
>>                 name: HIDDEN
>>         item 75 key (24016 DIR_INDEX 4) itemoff 9538 itemsize 54
>>                 location key (26923401 INODE_ITEM 0) type FILE
>>                 transid 74009 data_len 0 name_len 24
>>                 name: HIDDEN
>>         item 76 key (24016 DIR_INDEX 5) itemoff 9486 itemsize 52
>>                 location key (26923402 INODE_ITEM 0) type FILE
>>                 transid 74009 data_len 0 name_len 22
>>                 name: HIDDEN
> [...]
>> 163325722624
>> btrfs-progs v4.8.5
>> leaf 163325722624 items 78 free space 6563 generation 86739 owner 3892
>> fs uuid 37b15dd8-b2e1-4585-98d0-cc0fa2a5a7c9
>> chunk uuid b86efe94-ab40-4344-ac6b-46ec59c41b8f
> [...]
>>         item 62 key (24189 DIR_INDEX 16) itemoff 9409 itemsize 64
>>                 location key (28124267 INODE_ITEM 0) type FILE
>>                 transid 86739 data_len 0 name_len 34
>>                 name: HIDDEN
>>         item 63 key (24189 DIR_INDEX 17) itemoff 9349 itemsize 60
>>                 location key (28124268 INODE_ITEM 0) type FILE
>>                 transid 86739 data_len 0 name_len 30
>>                 name: HIDDEN
>>         item 64 key (24189 DIR_INDEX 4) itemoff 9296 itemsize 53
>>                 location key (26923421 INODE_ITEM 0) type FILE
>>                 transid 74010 data_len 0 name_len 23
>>                 name: HIDDEN
>>         item 65 key (24189 DIR_INDEX 5) itemoff 9236 itemsize 60
>>                 location key (26923422 INODE_ITEM 0) type FILE
>>                 transid 74010 data_len 0 name_len 30
>>                 name: HIDDEN
> [...]
> 
>    In each case, the tree node keys have simply been sorted
> incorrectly -- the ordering is otherwise correct, but jumps backwards
> at some point in the sequence. At least in the first instance, some of
> the keys appear to have been duplicated: there are two (23760
> DIR_INDEX 22) keys in the list. (I didn't check in detail with the
> other two whether there are duplicates, but I wouldn't be surprised).
> 
>    I note that the jump in the keys in the first two cases is 16, and
> the jump in the third case is 13. That _might_ suggest some kind of
> bit-level error, but it's probably not in the RAM that was used to
> store the blocks, as the error appears in a different place in each
> block.
> 
>    I'm tentatively going to point the finger at your hardware for
> this. It's probably going to need something really long and/or
> stressful to pick it up, though (one of the CPU stress tests, for
> example, and also a good long run with a RAM tester -- 24 hours or
> longer).
> 
>    Hugo.
> 
>> Stefan
>> Am 10.05.2017 um 11:08 schrieb Hugo Mills:
>>> On Wed, May 10, 2017 at 10:40:31AM +0200, Stefan Priebe - Profihost AG 
>>> wrote:
>>>> Am 10.05.2017 um 09:40 schrieb Hugo Mills:
>>>>> On Wed, May 10, 2017 at 09:36:30AM +0200, Stefan Priebe - Profihost AG 
>>>>> wrote:
>>>>>> Hello Roman,
>>>>>>
>>>>>> the FS is mountable. It just goes readonly when trying to write some 
>>>>>> data.
>>>>>>
>>>>>> The kernel msgs are:
>>>>>> BTRFS critical (device dm-2): corrupt leaf, bad key order:
>>>>>> block=163316514816,root=1, slot=39
>>>>>> BTRFS critical (device dm-2): corrupt leaf, bad key order:
>>>>>> block=163322413056,root=1, slot=74
>>>>>> BTRFS critical (device dm-2): corrupt leaf, bad key order:
>>>>>> block=163325722624,root=1, slot=63
>>>>>> BTRFS critical (device dm-2): corrupt leaf, bad key order:
>>>>>> block=163316514816,root=1, slot=39
>>>>>> BTRFS: error (device dm-2) in btrfs_drop_snapshot:8839: errno=-5 IO 
>>>>>> failure
>>>>>> BTRFS info (device dm-2): forced readonly
>>>>>> BTRFS info (device dm-2): delayed_refs has NO entry
>>>>>
>>>>>    Can you show the output of btrfs-debug-tree -b <blocknum>, where
>>>>> <blocknum> is each of the three "block=" values above?
>>>>
>>>> Can do that. But the lists are very long - should i upload them to
>>>> pastebin? Is it ok to remove the name atribute - which provides filenames?
>>>
>>>    On the mailing list would be preferable, as then the conversation
>>> is completely preserved in archives. They shouldn't be so long that
>>> vger rejects them. And yes, if you want to filter out the filenames,
>>> do so (but _just_ the filename -- don't remove the whole line).
>>>
>>>    Hugo.
>>>
>>>> Stefan
>>>>
>>>>
>>>>>    Hugo.
>>>>>
>>>>>> Greets,
>>>>>> Stefan
>>>>>> Am 10.05.2017 um 09:18 schrieb Roman Mamedov:
>>>>>>> On Wed, 10 May 2017 09:02:46 +0200
>>>>>>> Stefan Priebe - Profihost AG <s.pri...@profihost.ag> wrote:
>>>>>>>
>>>>>>>> how to fix bad key ordering?
>>>>>>>
>>>>>>> You should clarify does the FS in question mount (read-write? 
>>>>>>> read-only?)
>>>>>>> and what are the kernel messages if it does not.
>>>>>>>
>>>>>
>>>
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to