linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ferry Toth <fntoth@gmail.com>
To: Qu Wenruo <wqu@suse.com>, Qu Wenruo <quwenruo.btrfs@gmx.com>,
	Tyler Richmond <t.d.richmond@gmail.com>
Cc: Btrfs BTRFS <linux-btrfs@vger.kernel.org>
Subject: Re: Fwd: Read time tree block corruption detected
Date: Sat, 7 Nov 2020 12:18:02 +0100	[thread overview]
Message-ID: <4dd24fde-6d7f-202f-5d2f-b4478d797a93@gmail.com> (raw)
In-Reply-To: <0acac733-233c-0c71-b9bc-c4bee1c724ba@suse.com>

Op 06-11-2020 om 11:32 schreef Qu Wenruo:
> 
> 
> On 2020/11/6 下午6:30, Ferry Toth wrote:
>> Hi
>>
>> Op 06-11-2020 om 11:24 schreef Qu Wenruo:
>>>
>>> On 2020/11/6 下午6:09, Ferry Toth wrote:
>>>> Hi Qu
>>>>
>>>> Op 06-11-2020 om 00:40 schreef Qu Wenruo:
>>>>> On 2020/11/6 上午7:37, Ferry Toth wrote:
>>>>>> Hi
>>>>>>
>>>>>> Op 06-11-2020 om 00:32 schreef Qu Wenruo:
>>>>>>> On 2020/11/6 上午7:12, Ferry Toth wrote:
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> Op 06-11-2020 om 00:00 schreef Qu Wenruo:
>>>>>>>>> On 2020/11/6 上午4:08, Ferry Toth wrote:
>>>>>>>>>> I am in a similar spot, during updating my distro (Kubuntu), I am
>>>>>>>>>> unable
>>>>>>>>>> to update a certain package. I know which file it is:
>>>>>>>>>>
>>>>>>>>>> ~$ ls -l /usr/share/doc/libatk1.0-data
>>>>>>>>>> ls: kan geen toegang krijgen tot '/usr/share/doc/libatk1.0-data':
>>>>>>>>>> Invoer-/uitvoerfout
>>>>>>>>>>
>>>>>>>>>> This creates the following in journal:
>>>>>>>>>>
>>>>>>>>>> kernel: BTRFS critical (device sda2): corrupt leaf: root=294
>>>>>>>>>> block=1169152675840 slot=1 ino=915987, invalid inode
>>>>>>>>>> generation: has
>>>>>>>>>> 18446744073709551492 expect [0, 5851353]
>>>>>>>>>> kernel: BTRFS error (device sda2): block=1169152675840 read time
>>>>>>>>>> tree
>>>>>>>>>> block corruption detected
>>>>>>>>>>
>>>>>>>>>> Now, the problem: this file is on my rootfs, which is mounted. apt
>>>>>>>>>> (distribution updated) installed all packages but can't continue
>>>>>>>>>> configuring, because libatk is a dependancy. I can't delete the
>>>>>>>>>> file
>>>>>>>>>> because of the I/O error. And btrfs check complains (I tried
>>>>>>>>>> running RO)
>>>>>>>>>> because the file system is mounted.
>>>>>>>>>>
>>>>>>>>>> But, on the sunny side, the file system is not RO.
>>>>>>>>>>
>>>>>>>>>> Is there any way to forcefully remove the file? Or do you have a
>>>>>>>>>> recommendation how to proceed?
>>>>>>>>> Newer kernel will reject to even read the item, thus will not be
>>>>>>>>> able to
>>>>>>>>> remove it.
>>>>>>>> That's already the case. (input / output error)
>>>>>>>>> I guess you have to use some distro ISO to fix the fs.
>>>>>>>> And then? btrfs check --repair the disk offline?
>>>>>>> Yep.
>>>>>>>
>>>>>>> You would want the latest btrfs-progs though.
>>>>>> Groovy has 5.7. Would that be good enough? Otherwise will be difficult
>>>>>> to build on/for live usb image.
>>>>> For your particular case, the fix are already in btrfs-progs v5.4.
>>>>>
>>>>> Although newer is always better, just in case you have extent item
>>>>> generation corruption, you may want v5.4.1.
>>>>>
>>>>> So your v5.7 should be good enough.
>>>>>
>>>>> Thanks,
>>>>> Qu
>>>> I made a live usb and performed:
>>>>
>>>> btrfs check --repair /dev/sda2
>>>>
>>>> It found errors and fixed them. However, it did not fix the corrupt
>>>> leaf. The file is actually a directory:
>>>>
>>>> ~$ stat /usr/share/doc/libatk1.0-data
>>>> stat: cannot statx '/usr/share/doc/libatk1.0-data': Invoer-/uitvoerfout
>>>>
>>>> in journal:
>>>>
>>>> BTRFS critical (device sda2): corrupt leaf: root=294 block=1169152675840
>>>> slot=1 ino=915987, invalid inode generation: has 18446744073709551492
>>>> expect [0, 5852829]
>>>> BTRFS error (device sda2): block=1169152675840 read time tree block
>>>> corruption detected
>>>>
>>>> So how do I repair this? Am I doing something wrong?
>>> Please provide the following dump:
>>> btrfs ins dump-tree -b 1169152675840 /dev/sda2
>>>
>>> Feel free to remove the filenames in the dump.
>> sudo btrfs ins dump-tree -b 1169152675840 /dev/sda2
>> btrfs-progs v5.3-rc1
>> leaf 1169152675840 items 36 free space 966 generation 5431733 owner 294
>> leaf 1169152675840 flags 0x1(WRITTEN) backref revision 1
>> fs uuid 27155120-9ef8-47fb-b248-eaac2b7c8375
>> chunk uuid 5704f1ba-08fd-4f6b-9117-0e080b4e9ef0
>>          item 0 key (915986 DIR_INDEX 2) itemoff 3957 itemsize 38
>>                  location key (915987 INODE_ITEM 0) type FILE
>>                  transid 7782235549259005952 data_len 0 name_len 8
>>                  name: smb.conf
>>          item 1 key (915987 INODE_ITEM 0) itemoff 3797 itemsize 160
>>                  generation 1 transid 18446744073709551492 size 12464
>> nbytes 16384
> Yeah, corrupted transid.
> 
> The v5.6 kernel doesn't get the fix backported...
> 
> Now you have to use either the out-of-tree branch, or David's devel
> branch to build a btrfs-progs which is able to repair the transid error.
> 
> Thanks,
> Qu
> 
Just be to be clear, I tried to repair with the Kubuntu Groovy Live usb, 
which has linux 5.8 and btrfs-progs 5.7.

I didn't fix the above transid, above was taken after booting normally 
again (linux 5.8), unfortunately with btrfs-progs v5.3-rc1 (that I built 
a year ago). See the other post for the result with btrfs-progs 5.7.



  reply	other threads:[~2020-11-07 11:18 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CAJheHN0FUe-ijMco1ZOc6iKF2zbPocOw+iiVNeTT1r-JuXOJww@mail.gmail.com>
2020-05-06 21:54 ` Fwd: Read time tree block corruption detected Tyler Richmond
2020-05-06 23:55   ` Chris Murphy
2020-05-07  0:51     ` Tyler Richmond
2020-05-07  1:06       ` Chris Murphy
2020-05-07  1:13   ` Fwd: " Qu Wenruo
2020-05-07  1:30     ` Tyler Richmond
2020-05-07  5:43       ` Tyler Richmond
2020-05-07  5:52         ` Qu Wenruo
2020-05-07 15:52           ` Tyler Richmond
2020-05-08  0:11             ` Qu Wenruo
2020-05-08  4:23               ` Tyler Richmond
2020-05-08  5:07                 ` Qu Wenruo
2020-05-08  5:12                   ` Tyler Richmond
2020-05-08  5:47                     ` Qu Wenruo
2020-05-08 13:52                       ` Tyler Richmond
2020-08-18  3:36                         ` Tyler Richmond
     [not found]                         ` <CAJheHN3qwDAGY=z14zfO4LBrxNJZZ_rvAMsWLwe-k+4+t3zLog@mail.gmail.com>
2020-08-18  6:07                           ` Qu Wenruo
2020-08-18 12:18                             ` Tyler Richmond
2020-08-23  1:15                               ` Tyler Richmond
2020-08-23  1:51                                 ` Qu Wenruo
2020-08-23  2:31                                   ` Qu Wenruo
2020-08-23  2:49                                     ` Tyler Richmond
2020-08-23  4:28                                       ` Qu Wenruo
2020-08-24  2:47                                         ` Tyler Richmond
2020-08-24  8:26                                           ` Qu Wenruo
2020-08-25  5:25                                             ` Tyler Richmond
2020-08-25  6:37                                               ` Qu Wenruo
2020-08-25 13:30                                                 ` Tyler Richmond
2020-08-25 13:38                                                   ` Qu Wenruo
2020-08-25 13:43                                                     ` Tyler Richmond
2020-11-05  7:01                                                       ` Tyler Richmond
2020-11-05  7:19                                                         ` Qu Wenruo
2020-11-05 20:08                                                           ` Ferry Toth
2020-11-05 23:00                                                             ` Qu Wenruo
2020-11-05 23:12                                                               ` Ferry Toth
2020-11-05 23:32                                                                 ` Qu Wenruo
2020-11-05 23:37                                                                   ` Ferry Toth
2020-11-05 23:40                                                                     ` Qu Wenruo
2020-11-06 10:09                                                                       ` Ferry Toth
2020-11-06 10:24                                                                         ` Qu Wenruo
2020-11-06 10:27                                                                           ` Qu Wenruo
2020-11-06 10:32                                                                             ` Ferry Toth
2020-11-06 10:30                                                                           ` Ferry Toth
2020-11-06 10:32                                                                             ` Qu Wenruo
2020-11-07 11:18                                                                               ` Ferry Toth [this message]
2020-11-07 11:35                                                                                 ` Qu Wenruo
2020-11-07 13:19                                                                                   ` Ferry Toth
2020-11-07 13:28                                                                                     ` Qu Wenruo
2020-11-07 19:50                                                                                       ` Ferry Toth
2020-11-07 19:50                                                                                         ` Ferry Toth
2020-11-16 10:41                                                                                       ` Ferry Toth
2020-11-16 10:52                                                                                         ` Andrei Borzenkov
2020-11-16 10:57                                                                                           ` Ferry Toth
2020-11-16 16:35                                                                                             ` Tyler Richmond
2020-11-06 11:28                                                                             ` Ferry Toth
2020-08-23  2:32                                   ` Tyler Richmond

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4dd24fde-6d7f-202f-5d2f-b4478d797a93@gmail.com \
    --to=fntoth@gmail.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=quwenruo.btrfs@gmx.com \
    --cc=t.d.richmond@gmail.com \
    --cc=wqu@suse.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).