How to fix BTRFS error parent transid verify failed... error

Hi, I’ve been runing Rockstror for a year now. That system has been working like a charm since last week.
I’ve got this message poping up after a reboot.
BTRFS error (device sda): parent transid verify failed on…

The sda is a raid 50 areca 40TB storage and hosted by a supermicro box and mother board.

How I could fix this issue? And how I can recover some of data out off it?
I tried to clear the scrubs and also a full chunk recovery. But nothing I still couldn’t get the Raid mounted in rockstor.
When I login to the areca raid controler there’s no error and suspicious logs from this side my storage is in good shape.

Any idea what could be the issue?

Thanks,
Nicolas

[root@rockstor-nas /]# btrfsck /dev/sda
Checking filesystem on /dev/sda
UUID: 84aca402-fa8a-493c-83da-e835f77792ac
checking extents
parent transid verify failed on 2158920450048 wanted 231713 found 231704
parent transid verify failed on 2158920450048 wanted 231713 found 231704
parent transid verify failed on 2158920450048 wanted 231713 found 231704
parent transid verify failed on 2158920450048 wanted 231713 found 231704
Ignoring transid failure
parent transid verify failed on 2158920581120 wanted 231713 found 231704
parent transid verify failed on 2158920581120 wanted 231713 found 231704
parent transid verify failed on 2158920581120 wanted 231713 found 231704
parent transid verify failed on 2158920581120 wanted 231713 found 231704
Ignoring transid failure
parent transid verify failed on 2158920450048 wanted 231713 found 231704
Ignoring transid failure
parent transid verify failed on 2158920581120 wanted 231713 found 231704
Ignoring transid failure
parent transid verify failed on 2158918778880 wanted 231713 found 231703
parent transid verify failed on 2158918778880 wanted 231713 found 231703
parent transid verify failed on 2158918778880 wanted 231713 found 231703
parent transid verify failed on 2158918778880 wanted 231713 found 231703
Ignoring transid failure
leaf parent key incorrect 2158918778880
bad block 2158918778880
ERROR: errors found in extent allocation tree or chunk allocation
Error: could not find extent items for root 257
ERROR: failed to repair root items: No such file or directory

Hi @NicolasBilly,

Welcome to the Rockstor forums, even if not under the best of circumstances.
Also, Eww. Nobody wants to see that.

Please note that the below operations will cause data loss.
Hopefully not too much (as your transaction log is only 10 transactions out), but AFAIK there’s no way around this.

I’ve got a couple of responses to an older topic that may help you (to a degree) here.

As noted in the above response, this is typically caused by a dirty reboot, where the logged transactions have not all completed.

I posted little further on the topic as well, with this response, which provides a different possibility for recovery:

Pay close attention to the above.
BTRFS is can be a fickle fiend, and recovery options for it are still in their infancy.

Hi Haioken,

Thank for your reply. You’re right nobody wants to experience that.

It’s not a big deal it’s only a dump storage so most of data are already back-up somewhere else. But really small amount of data haven’t.

I read the topic you mentioned before writing to the forum. Without success.
When ever I type this command:
mount btrfs -t /dev/sda /mnt2/
It showing me this:
mount: unknown filesystem type ‘/dev/sda’
Does that means my filesystem is completely broken?

This supermicro sever is always turned on and as far has I know no power failure occur before the behavior. This machine is also powered by UPS. I noticed that issue when I would like to browse some files from this storage. I could list all the folders and files but I couldn’t open any of them. So I let the machine for a night. in this morning I didn’t see any improvement so at this moment only I restarted the server.
So I can’t believe that a dirty reboot.

I’m concern regarding BTRFS filesystem reliability. For This kind of storage or server. I chose a high Raid system (Raid50) to protect my data if any drive failure. So I a really concern if that filesystem can hold that kind of level data security?

Anyway, now I need that storage up and running.
What is the easiest way to reformat the storage in a way that Rockstor can mount it again ?
Can Rockstor accept other filesystem instead BTRFS?

Thanks,
Nicolas

Does that means my filesystem is completely broken?

It likely means that you need to identify your BTRFS device first, and you’re trying to mount the wrong device.

So I can’t believe that a dirty reboot.

It’s not the only thing that can cause log commit issues, just the most likely one.

For This kind of storage or server. I chose a high Raid system (Raid50) to protect my data if any drive failure.

If you’re concerned about data security - do NOT use BTRFS parity raid variants (RAID 5/6 or any extension of them) - It’s inherently unsafe in BTRFS. There are many topics regarding this.
Use RAID 1 or RAID 10.

What is the easiest way to reformat the storage in a way that Rockstor can mount it again ?

Not sure on this one, but I’d start by removing the pools in the RS UI, then looking in the disks tab, I think there’s an option to format there.

Can Rockstor accept other filesystem instead BTRFS?

No. The point of Rockstor is to be a consumer NAS appliance built on BTRFS.

Just a note, this means that you’ve swapped the btrfs fs type in the command. It should be:
mount -t btrfs /dev/sda /mnt2/

1 Like