Hi
My Seafile clients can’t sync on a specific library and tell that there is an “Server Error”.
There is in the server’s seafile.log file this line:
[08/26/2020 04:51:04 PM] ../common/block-backend-fs.c(237): [block bend] Failed to stat block 6adb0458-c591-4637-bce8-7eae86cfa483:7ded429f4357231c1c482e7783958054510dd232 at /opt/seafile/installed/seafile-data/storage/blocks/6adb0458-c591-4637-bce8-7eae86cfa483/7d/ed429f4357231c1c482e7783958054510dd32: Aucun fichier ou dossier de ce type.
“Aucun fichier ou dossier de ce type” meaning; No such file or directory.
“6adb0458-c591-4637-bce8-7eae86cfa483” being the library id
“7ded429f4357231c1c482e7783958054510dd232” being the block
And indeed there is no “ed429f4357231c1c482e7783958054510dd232” file in the 7d subdirectory of the library.
What I did:
-I stopped the only client that have ReadWrite access to this library
-I ran a Seafile fsck with dry-run (i.e. without the -r flag) on the library, and got:
seafile@xxxxxx:~/installed/seafile-server-latest$ ./seaf-fsck.sh '6adb0458-c591-4637-bce8-7eae86cfa483'
Starting seaf-fsck, please wait ...
[08/26/20 11:20:03] fsck.c(590): Running fsck for repo 6adb0458-c591-4637-bce8-7eae86cfa483.
[08/26/20 11:20:03] fsck.c(416): Checking file system integrity of repo backup_xxxx(6adb0458)...
[08/26/20 11:24:16] fsck.c(95): Repo[6adb0458] block 6adb0458-c591-4637-bce8-7eae86cfa483:7ded429f4357231c1c482e7783958054510dd232 is missing.
[08/26/20 11:24:16] ../../common/block-backend-fs.c(70): [block bend] failed to open block 7ded429f4357231c1c482e7783958054510dd232 for read: No such file or directory
[08/26/20 11:24:16] ../../common/block-mgr.c(235): Failed to open block 6adb0458-c591-4637-bce8-7eae86cfa483:7ded429f.
[08/26/20 11:24:16] fsck.c(654): Fsck finished for repo 6adb0458.
seaf-fsck run done
-I then ran the fsck with the repair flag, got this:
seafile@xxxxxx:~/installed/seafile-server-latest$ ./seaf-fsck.sh --repair '6adb0458-c591-4637-bce8-7eae86cfa483'
Starting seaf-fsck, please wait ...
[08/26/20 12:04:25] fsck.c(590): Running fsck for repo 6adb0458-c591-4637-bce8-7eae86cfa483.
[08/26/20 12:04:25] fsck.c(416): Checking file system integrity of repo backup_xxxxx(6adb0458)...
[08/26/20 12:08:33] fsck.c(95): Repo[6adb0458] block 6adb0458-c591-4637-bce8-7eae86cfa483:7ded429f4357231c1c482e7783958054510dd232 is missing.
[08/26/20 12:08:33] ../../common/block-backend-fs.c(70): [block bend] failed to open block 7ded429f4357231c1c482e7783958054510dd232 for read: No such file or directory
[08/26/20 12:08:33] ../../common/block-mgr.c(235): Failed to open block 6adb0458-c591-4637-bce8-7eae86cfa483:7ded429f.
[08/26/20 12:08:33] fsck.c(654): Fsck finished for repo 6adb0458.
seaf-fsck run done
Done.
But that didn’t change the result: Server Error
-I then stopped Seafile and ran a GC, and then re-did the fsk, but to no avail.
Do someone have an idea about my problem ?
PS:
- OS: Linux Debian 4.19.98-1 (2020-01-26) x86_64
- libc6:amd64 2.28-10, Python 3.7.3
- Seafile Server 7.1.4, with MySQL 5.6.30-1
- the thing that surprised me is that the fsck command didn’t seem to behave differently with the –repair flag: there is no message, no warning, no clue about the operation; it really make me suspicious about the real activation of the repair mode