Checksum errors are evil. Finding the actual cause is non trivial. They never happen when we tried to provoke them with corner cases, race conditions etc.
Repair on the other hand is quite easy, with one caveat, unfortunately.
- With only a few broken files, you can do this:
Download the file through the web interface, put it in the sync folder of the client, let it re-upload.- A fresh checksum will be computed during upload.
- With many broken files, this should fix the checksums, an admin logged in to the server can use the
occ files:checksums:verify -r
command. See https://doc.owncloud.com/server/admin_manual/configuration/server/occ_command.html#the-fileschecksumsverify-command
The caveat is, that after doing the above, we cannot say if the files are actually corrupt or, if it was just metadata that got corrupted. Please make a list of the “fixed” files, and try to verify them manually or otherwise. If you log in to the server, and dmesg or smartctl show you disk errors, then it is more likely, that the files are actually corrupt, and the checksum errors are actually “correct”.