2015-12-14 5:28 GMT+03:00 Qu Wenruo <quwenruo@xxxxxxxxxxxxxx>: > Not completely sure, but it may be related to a regression in 4.2. > The regression it self is already fixed, but is not backported to 4.2 as far > as I know. > > So, I'd recommend to revert to 4.1 and see if things get better. > Fortunately, btrfs already aborted the transaction before things get worse. Nothing changed, mount also fails on 4.1.3. >>> I checked the filesystem extents: >>> >>> $ sudo btrfs check --subvol-extents 5 /dev/sda1 >>> Print extent state for subvolume 5 on /dev/sda1 >>> UUID: 6de5c663-bc65-4120-8cf6-5309fd25aa7e >>> checksum verify failed on 159708168192 found 3659C180 wanted 8EE67C14 >>> checksum verify failed on 159708168192 found 3659C180 wanted 8EE67C14 >>> bytenr mismatch, want=159708168192, have=16968404070778227820 >>> ERROR: while mapping refs: -5 >>> extent_io.c:582: free_extent_buffer: Assertion `eb->refs < 0` failed. >>> btrfs(+0x51e9e)[0x56283f4bde9e] >>> btrfs(free_extent_buffer+0xc0)[0x56283f4be9b0] >>> btrfs(btrfs_free_fs_root+0x11)[0x56283f4aef11] >>> btrfs(rb_free_nodes+0x21)[0x56283f4d7cc1] >>> btrfs(close_ctree+0x194)[0x56283f4b0214] >>> btrfs(cmd_check+0x486)[0x56283f49ace6] >>> btrfs(main+0x82)[0x56283f47fad2] >>> /lib64/libc.so.6(__libc_start_main+0xf0)[0x7f8cbea98580] >>> btrfs(_start+0x29)[0x56283f47fbd9] >>> $ > > > Did you tried it without the '--subvol-extents 5' options? > And what's the output? Yes, I tried it. The output is normal, nothing problem found (shows UUID, then "checking extents" and that's all)! > And it may be a good idea to run btrfs-find-root -a, trying to find a good > copy of old btrfs root tree. > It may cause miracle to make it RW again. Thanks for advice. "btrfs-find-root -a" is running at the moment. What should I do after its completion? Should I just try RW mounting of the found root or it isn't safe? > +1 for the advice if you just want to use back up things and get back to > normal life. I already backed up the most important data (the whole disk space is 1,82 TB). But I want to solve this strange problem. -- Ivan Sizov -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
