Skip to contentSkip to conversation

linux 3.5.0: BTRFS error in compress_file_range:581 (failed to join transaction)

DISCUSSION Marc MERLIN 3 participants 5 messages Aug 14, 2012 – Aug 22, 2012 Btrfs file system

lore
Share & tools
lore
#0 lore raw

My laptop oopsed due to a wireless bug

When I rebooted, the system came back ok, and seemed to work, but soon went to read only with the error in the subject line.

I have hourly snapshots for each of the 5 subvolumes in that btrfs filesystem.

How do I recover from this? Revert all the snapshots one hour, find/guess which one caused the problem somehow and revert just that one? (the error message didn't give a subvolume or directory).

Also, before I do this, is there debug info I can get off my system?

Marc

Signature · 4 lines
"A mouse is a device used to point at the xterm you want to type in" - A.S.R.
Microsoft is to operating systems ....
                                      .... what McDonalds is to gourmet cooking
Home page: http://marc.merlins.org/  
#1 lore raw
Quoted 5 lines · Marc MERLIN

My laptop oopsed due to a wireless bug

When I rebooted, the system came back ok, and seemed to work, but soon went to read only with the error in the subject line.

Quoted 8 lines

I have hourly snapshots for each of the 5 subvolumes in that btrfs filesystem.

How do I recover from this? Revert all the snapshots one hour, find/guess which one caused the problem somehow and revert just that one? (the error message didn't give a subvolume or directory).

Also, before I do this, is there debug info I can get off my system?

I'm likely to have to do this tonight to get back to a working system.

If someone wants debug info before I lose it potentially, please ask soon ;)

Marc

Signature · 4 lines
"A mouse is a device used to point at the xterm you want to type in" - A.S.R.
Microsoft is to operating systems ....
                                      .... what McDonalds is to gourmet cooking
Home page: http://marc.merlins.org/  
#2 lore raw
Quoted 13 lines · Marc MERLIN
Quoted 12 lines · Marc MERLIN

My laptop oopsed due to a wireless bug

When I rebooted, the system came back ok, and seemed to work, but soon went to read only with the error in the subject line.

I have hourly snapshots for each of the 5 subvolumes in that btrfs filesystem.

How do I recover from this? Revert all the snapshots one hour, find/guess which one caused the problem somehow and revert just that one? (the error message didn't give a subvolume or directory).

Quoted 8 lines
Quoted 1 line

Also, before I do this, is there debug info I can get off my system?

I'm likely to have to do this tonight to get back to a working system.

If someone wants debug info before I lose it potentially, please ask soon ;)

Marc

What does the 'ret' shows? Is it -ENOSPC?

thanks,
liubo

#3 lore raw
Quoted 14 lines · Liu Bo
Quoted 13 lines · Marc MERLIN
Quoted 12 lines · Marc MERLIN

My laptop oopsed due to a wireless bug

When I rebooted, the system came back ok, and seemed to work, but soon went to read only with the error in the subject line.

I have hourly snapshots for each of the 5 subvolumes in that btrfs filesystem.

How do I recover from this? Revert all the snapshots one hour, find/guess which one caused the problem somehow and revert just that one? (the error message didn't give a subvolume or directory).

Quoted 7 lines
Quoted 5 lines
Quoted 1 line

Also, before I do this, is there debug info I can get off my system?

I'm likely to have to do this tonight to get back to a working system.

If someone wants debug info before I lose it potentially, please ask soon ;)

What does the 'ret' shows? Is it -ENOSPC?

I got nothing else in my logs.

I powered the laptop back on and it came up like nothing ever happened.

[   15.626700] device label btrfs_pool1 devid 1 transid 10222 /dev/mapper/cryptroot
[   15.627161] btrfs: disk space caching is enabled
[   15.631704] btrfs: bdev /dev/mapper/cryptroot errs: wr 0, rd 0, flush 0, corrupt 0, gen 0

It looks like the SSD was loose inside the laptop (the tray that holds it isn't quite the right size it seems).
I think it may not have had a good connection, but what's interesting is that I got absolutely no lower level errors in dmesg (which didn't get written to disk).

All that said, I think it may just have been a write error due to a hardware connection problem (no way to prove this now).
If there is nothing suspicious in the code around that line, let's just ignore my report.

For what it's worth, I do have plenty of space left:
Label: 'btrfs_pool1' uuid: 92584fa9-85cd-4df6-b182-d32198b76a0b

	Total devices 1 FS bytes used 227.44GB
	devid    1 size 441.70GB used 297.04GB path /dev/dm-0

Thanks for your reply.
Marc

Signature · 4 lines
"A mouse is a device used to point at the xterm you want to type in" - A.S.R.
Microsoft is to operating systems ....
                                      .... what McDonalds is to gourmet cooking
Home page: http://marc.merlins.org/  
#4 lore raw
Quoted 3 lines · Marc MERLIN
Quoted 1 line

What does the 'ret' shows? Is it -ENOSPC?

I got nothing else in my logs.

Unless it was a second error from a filesystem that went RO, there should be more than the "Failed to join transaction" message, and the first occurence of some transaction abort would spit some stacktrace as well.

As you wrote in next paragraphs, it was probably a cable disconnection, so my bet is on EIO, and the transaction abort did the right things, so

Quoted 1 line

I powered the laptop back on and it came up like nothing ever happened.

s/I/you/
.

(besides the few uncommitted changes)

david