file corruption caused by flash memory or btrfs?
I am a bit astonished that the search does not turn up any match for "btrfs scrub".
After using my device for less then 6 months with pretty modest data volumes (not a single piece of music, just some pictures and videos from the device camera) my Jolla got pretty slow compared to when it was new.
So I decided to run "btrfs balance" as mention repeatedly in this forum. That run never to completion, first it reported out of space (although several GB free). So I copied a couple of bigger videos out of the device using scp. Already scp complained that 2 of the videos could not be read because of I/O error. (I only deleted those, which could be copied successfully.) Further "btrfs balance" attempts got a bit further, but eventually I got stuck with I/O errors.
So I found the "btrfs scrub" command. It also seem to stop at the first uncorrectable I/O error. I found 2 videos, which could not be read by scp and also their inodes where reported by scrub. I found out that ffmpeg happily copies them until the first error (also the Jolla player plays that part), so I could at least salvage the first parts of the videos (actually more than 80%). After deleting those offenders, both "btrfs scrub" and "btrfs balance" completed without further complaints.
(I'm really astonished that "btrfs scrub" is so much faster than "btrfs balance".)
That was about 3 weeks ago. Yesterday again I had a corrupted file [1]. Not sure whether the corruption happened on the network or in the storage side. Anyway I run "btrfs scrub" again and it reported one
WARNING: errors detected during scrubbing, corrected.
I could not find an inode or any other info from dmesg this time.
So long story, shorter questions:
Has anybody else seen file corruption? Any opinions whether these are HW problems (flash memory) or software problems (btrfs in Jollas somewhat dated kernel probably still has quite some bugs)? Of course flash has a limited life length, but 6 months with very moderate usage sounds a bit too short.
[1] currently last comment of the original post at https://together.jolla.com/question/30926/howto-install-google-play/ (I cannot find out how to created direct links to comments and the 13 hours ago is not good reference either...)
Addition 15-Jul-2015:
more of them.. That's what they look like in demsg
[45175.680384] btrfs csum failed ino 135610 off 63725568 csum 1759428533 private 68200767
[45175.682734] btrfs csum failed ino 135610 off 63725568 csum 1759428533 private 68200767
[45178.607440] btrfs csum failed ino 111540 off 241664 csum 3887731566 private 2339636708
[45178.609332] btrfs csum failed ino 111540 off 241664 csum 3887731566 private 2339636708
[45180.916428] btrfs csum failed ino 135565 off 48885760 csum 3301422542 private 2819203908
[45180.918565] btrfs csum failed ino 135565 off 48885760 csum 3301422542 private 2819203908
[45184.222120] btrfs csum failed ino 111523 off 90112 csum 253123999 private 1675119381
[45184.224501] btrfs csum failed ino 111523 off 90112 csum 253123999 private 1675119381
I don't have time to debug that now, want to leave to holidays...
Have you raised this with Jolla care so they can assist you in investigating? Did you allow the automated process to complete (Tuesday mornings if I remember right)?
Whilst doing it yourself is possible, if there is a hardware issue with your device it maybe worth getting it done under a ticket so that the results can be analysed on completion!
timearp ( 2015-07-14 11:14:37 +0200 )editA corrupted download can have various reasons, only one of it is your device ran full even though it is likely to happen especially with alien-dalvik (android) in general as those apps and the whole system is leaking to sailfish RAM and internal storage, I have not much installed and android's /data/media on uSD but that is actually how I recognize it, my uSD is running on its limits ever since I share space with android, so now have that on internal storage and you will frequently run into trouble. Android needs its own subvolume with quota to prevent it caching the internet to your device!
chemist ( 2015-07-14 12:55:57 +0200 )edit@timearp I have seen this automated balance(?) mentioned before. I haven't investigated how it works and I have certainly not touched it. So I assume it should have completed as long as it was still possible. However, once no space and I/O errors started I would assume that that automatic process stop at the same point as my manual ones. Not sure whether there is any way to find out after the device has been rebooted
ugeuder ( 2015-07-14 17:20:40 +0200 )edit@chemist Yeah I can image that alien dalvik leaks. After having seen its logs during a night (when I was asleep and did not touch the device, I keep it usually stopped (or even masked). I'm quite sure it is a battery killer at least. I only start it only on the rare occasion that I want to use some Android app.
ugeuder ( 2015-07-14 17:24:57 +0200 )edit