On Thu, Feb 14, 2019 at 08:25:26PM +0800, Qu Wenruo wrote: > On 2019/2/14 下午7:58, Jesper Utoft wrote: > > Hello Fellow BTRFS users. > > > > I have run into the bad key order issue. > > corrupt leaf: root=1 block=57567265079296 slot=83, bad key order, prev > > (18446744073709551605 0 57707594776576) current (18446726481523507189 > > 0 57709742260224) > > The lines repeats over and over.. > > > > I read a thread between Hugo Mills and Eric Wolf about a similar issue > > and i have gathered the same info. > Now we have all the needed info. > > > > > I understand that it probably is hardware related, i have been running > > memtest for 60h+ to see if i could reproduce it. > > I also tried to run btrfs check --recover but it did not help. > > > > My questions is if it can be fixed? > > Yes, but only manual patching is possible yet. David: What needs to be done to get the bitflip-in-key patches added to btrfs check? They've been lurking in some patch stack for literally years, and would have dealt with this one easily. [snip] > Thankfully, all keys around give us a pretty good idea what the original > value should be: (FREE_SPACE UNTYPED 57709742260224). > > And for the raw value: > bad: 0xffffeffffffffff5 > good: 0xfffffffffffffff5 > ^ > e->f, one bit get flipped. > (UNTYPED is the same value for UNKNOWN.0, so don't worry about that). > > I have created a special branch for you: > https://github.com/adam900710/btrfs-progs/tree/dirty_fix > > Just compile that btrfs-progs, no need to install, then excute the > following command inside btrfs-progs directory: > > # ./btrfs-corrupt-block -X <device> BUT, don't do it until you've found and replaced the bad RAM that broke it in the first place. > And your report just remind me to update the write time tree block > checker.... Looking forward to dealing with a whole new type of "btrfs is broken!" complaints on IRC (followed by "can't I just let it carry on regardless?"). ;) Hugo. -- Hugo Mills | Hickory Dickory Dock, hugo@... carfax.org.uk | Three mice ran up the clock. http://carfax.org.uk/ | The clock struck one, PGP: E2AB1DE4 | The other two escaped with minor injuries
Attachment:
signature.asc
Description: Digital signature
