Detect degraded filesystems in device commands and exit with EXIT_DEGRADED
Some checks are pending
Build / build-mac (push) Waiting to run
Build / build-linux (push) Waiting to run
Build / build-arm32 (push) Waiting to run
Build / build-win (push) Waiting to run
Build / build-freebsd (push) Waiting to run
Build / build-musl (push) Waiting to run
CodeQL Advanced / Analyze (c-cpp) (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run

This commit is contained in:
Andrea Mazzoleni 2026-09-18 23:28:47 +02:00
parent 2a4335ef7d
commit 3ba6d0243d
47 changed files with 184 additions and 4 deletions

View file

@ -228,11 +228,13 @@ extern FILE* stdlog;
extern int exit_success;
extern int exit_failure;
extern int exit_sync_needed;
extern int exit_degraded;
#undef EXIT_SUCCESS
#undef EXIT_FAILURE
#define EXIT_SUCCESS exit_success
#define EXIT_FAILURE exit_failure
#define EXIT_SYNC_NEEDED exit_sync_needed
#define EXIT_DEGRADED exit_degraded
/**
* Standard SMART attributes.

View file

@ -1198,6 +1198,8 @@ int state_device(struct snapraid_state* state, int operation, tommy_list* filter
if (state->opt.gui)
log_tag("unixtime:%" PRIi64 "\n", (int64_t)now);
int degraded = 0;
if (state->opt.fake_device) {
ret = devtest(&high, &low, operation);
} else {
@ -1206,6 +1208,10 @@ int state_device(struct snapraid_state* state, int operation, tommy_list* filter
devsync(&high);
ret = devquery(&high, &low);
if (ret > 0) {
degraded = 1;
ret = 0;
}
}
/* if the list is empty, it's not supported in this platform */
@ -1251,6 +1257,9 @@ bail:
tommy_list_foreach(&high, free);
tommy_list_foreach(&low, free);
if (ret == 0 && degraded)
ret = 1;
return ret;
}

View file

@ -17,6 +17,7 @@
int exit_success = 0;
int exit_failure = 1;
int exit_sync_needed = 2;
int exit_degraded = 3;
/****************************************************************************/
/* signal */

View file

@ -1804,6 +1804,8 @@ int snapraid_main(int argc, char* argv[])
/* abort if required */
if (ret != 0) {
/* LCOV_EXCL_START */
if (ret == 1)
exit(EXIT_DEGRADED);
exit(EXIT_FAILURE);
/* LCOV_EXCL_STOP */
}

View file

@ -18,6 +18,7 @@
int exit_success = 0;
int exit_failure = 1;
int exit_sync_needed = 2;
int exit_degraded = 3;
/****************************************************************************/
/* signal */
@ -728,6 +729,8 @@ static int devdereference_btrfs(uint64_t device, const char* dir, int fd, tommy_
/* LCOV_EXCL_STOP */
}
int degraded = 0;
for (__u64 i = 1; i <= fs_info.max_id; ++i) {
struct btrfs_ioctl_dev_info_args dev_info;
memset(&dev_info, 0, sizeof(dev_info));
@ -743,10 +746,20 @@ static int devdereference_btrfs(uint64_t device, const char* dir, int fd, tommy_
/* LCOV_EXCL_STOP */
}
/* missing devices in degraded btrfs have empty path */
if (dev_info.path[0] == 0) {
degraded = 1;
continue;
}
/* get major:minor, use stat on the path returned */
struct stat st;
if (stat((char*)dev_info.path, &st) != 0) {
/* LCOV_EXCL_START */
if (errno == ENOENT) {
degraded = 1;
continue;
}
log_error(errno, "Failed stat %s. %s.", dev_info.path, strerror(errno));
goto bail;
/* LCOV_EXCL_STOP */
@ -770,7 +783,7 @@ static int devdereference_btrfs(uint64_t device, const char* dir, int fd, tommy_
if (tommy_list_empty(devlist))
goto bail;
return 0;
return degraded ? 1 : 0;
bail:
tommy_list_foreach(devlist, free);
@ -4025,6 +4038,8 @@ int devquery(tommy_list* high, tommy_list* low)
/* LCOV_EXCL_STOP */
}
int degraded = 0;
/* for each high device */
for (i = tommy_list_head(high); i != 0; i = i->next) {
devinfo_t* devinfo = i->data;
@ -4034,12 +4049,18 @@ int devquery(tommy_list* high, tommy_list* low)
tommy_list_init(&devlist);
/* obtain the real devices */
if (devdereference(device, devinfo->mount, &devlist) != 0) {
int ret = devdereference(device, devinfo->mount, &devlist);
if (ret < 0) {
/* LCOV_EXCL_START */
log_fatal(EEXTERNAL, "Failed to dereference device '%u:%u' at '%s'.\n", major(device), minor(device), devinfo->mount);
return -1;
/* LCOV_EXCL_STOP */
}
if (ret > 0) {
log_fatal(ENXIO, "DANGER! Disk '%s' is degraded due to missing device(s).\n", devinfo->name);
log_tag("degraded:%s\n", esc_tag(devinfo->name));
degraded = 1;
}
devinfo->file[0] = 0;
for (tommy_node* j = tommy_list_head(&devlist); j != 0; j = j->next) {
@ -4085,7 +4106,7 @@ int devquery(tommy_list* high, tommy_list* low)
(void)low;
#endif
return 0;
return degraded ? 1 : 0;
}
int devrun(tommy_list* low, int operation)

View file

@ -2415,6 +2415,11 @@ Der Befehl ist auf Fehler gestoßen.
.HP 4
.I 2
Der Befehl \`diff\` hat festgestellt, dass alles OK ist, aber ein \`sync\` erforderlich ist.
.HP 4
.I 3
Ein Festplattenbefehl (\`probe\`, \`smart\`, \`devices\`, \`up\`, \`down\`) wurde
abgeschlossen, aber mindestens ein Dateisystem läuft im degradierten
Modus mit fehlenden Geräten.
.PD
.RE
.SH BEKANNTE PROBLEME (KNOWN ISSUES)

View file

@ -1901,6 +1901,9 @@ Exit-Code (Exit Code)
0 - Alles OK.
1 - Der Befehl ist auf Fehler gestoßen.
2 - Der Befehl `diff` hat festgestellt, dass alles OK ist, aber ein `sync` erforderlich ist.
3 - Ein Festplattenbefehl (`probe`, `smart`, `devices`, `up`, `down`) wurde
abgeschlossen, aber mindestens ein Dateisystem läuft im degradierten
Modus mit fehlenden Geräten.
Bekannte Probleme (Known Issues)
Dateisystemgrenzen

View file

@ -2029,6 +2029,9 @@ SnapRAID endet mit den folgenden Fehlercodes:
0 - Alles OK.
1 - Der Befehl ist auf Fehler gestoßen.
2 - Der Befehl `diff` hat festgestellt, dass alles OK ist, aber ein `sync` erforderlich ist.
3 - Ein Festplattenbefehl (`probe`, `smart`, `devices`, `up`, `down`) wurde
abgeschlossen, aber mindestens ein Dateisystem läuft im degradierten
Modus mit fehlenden Geräten.
16 BEKANNTE PROBLEME (KNOWN ISSUES)

View file

@ -2370,6 +2370,11 @@ El comando encontró algunos errores.
.HP 4
.I 2
El comando \`diff\` determinó que todo está bien, pero se necesita un \`sync\`.
.HP 4
.I 3
Un comando de dispositivo de disco (\`probe\`, \`smart\`, \`devices\`, \`up\`,
\`down\`) se completó, pero al menos un sistema de archivos está funcionando
en modo degradado con dispositivos faltantes.
.PD
.RE
.SH PROBLEMAS CONOCIDOS (KNOWN ISSUES)

View file

@ -1867,6 +1867,9 @@ Código de salida (Exit Code)
0 - Todo bien.
1 - El comando encontró algunos errores.
2 - El comando `diff` determinó que todo está bien, pero se necesita un `sync`.
3 - Un comando de dispositivo de disco (`probe`, `smart`, `devices`, `up`,
`down`) se completó, pero al menos un sistema de archivos está funcionando
en modo degradado con dispositivos faltantes.
Problemas conocidos (Known Issues)
Límites del sistema de archivos

View file

@ -1995,6 +1995,9 @@ SnapRAID termina con los siguientes códigos de error:
0 - Todo bien.
1 - El comando encontró algunos errores.
2 - El comando `diff` determinó que todo está bien, pero se necesita un `sync`.
3 - Un comando de dispositivo de disco (`probe`, `smart`, `devices`, `up`,
`down`) se completó, pero al menos un sistema de archivos está funcionando
en modo degradado con dispositivos faltantes.
16 PROBLEMAS CONOCIDOS (KNOWN ISSUES)

View file

@ -2414,6 +2414,11 @@ La commande a rencontré des erreurs.
.HP 4
.I 2
La commande \`diff\` a trouvé que tout est OK, mais un \`sync\` est requis.
.HP 4
.I 3
Une commande de disque (\`probe\`, \`smart\`, \`devices\`, \`up\`, \`down\`) s\'est
terminée, mais au moins un système de fichiers fonctionne en mode dégradé
avec des périphériques manquants.
.PD
.RE
.SH PROBLèMES CONNUS (KNOWN ISSUES)

View file

@ -1908,6 +1908,9 @@ Code de sortie (Exit Code)
0 - Tout est OK.
1 - La commande a rencontré des erreurs.
2 - La commande `diff` a trouvé que tout est OK, mais un `sync` est requis.
3 - Une commande de disque (`probe`, `smart`, `devices`, `up`, `down`) s'est
terminée, mais au moins un système de fichiers fonctionne en mode dégradé
avec des périphériques manquants.
Problèmes connus (Known Issues)
Limites du système de fichiers

View file

@ -2036,6 +2036,9 @@ SnapRAID se termine avec les codes d'erreur suivants :
0 - Tout est OK.
1 - La commande a rencontré des erreurs.
2 - La commande `diff` a trouvé que tout est OK, mais un `sync` est requis.
3 - Une commande de disque (`probe`, `smart`, `devices`, `up`, `down`) s'est
terminée, mais au moins un système de fichiers fonctionne en mode dégradé
avec des périphériques manquants.
16 PROBLèMES CONNUS (KNOWN ISSUES)

View file

@ -2394,6 +2394,11 @@ Il comando ha riscontrato alcuni errori.
.HP 4
.I 2
Il comando \`diff\` ha rilevato che tutto è OK, ma è necessario un \`sync\`.
.HP 4
.I 3
Un comando di gestione dischi (\`probe\`, \`smart\`, \`devices\`, \`up\`,
\`down\`) è stato completato, ma almeno un filesystem è in modalità
degradata con dispositivi mancanti.
.PD
.RE
.SH PROBLEMI NOTI (KNOWN ISSUES)

View file

@ -1877,6 +1877,9 @@ Codice di uscita (Exit Code)
0 - Tutto OK.
1 - Il comando ha riscontrato alcuni errori.
2 - Il comando `diff` ha rilevato che tutto è OK, ma è necessario un `sync`.
3 - Un comando di gestione dischi (`probe`, `smart`, `devices`, `up`,
`down`) è stato completato, ma almeno un filesystem è in modalità
degradata con dispositivi mancanti.
Problemi noti (Known Issues)
Limiti del filesystem

View file

@ -2005,6 +2005,9 @@ SnapRAID termina con i seguenti codici di errore:
0 - Tutto OK.
1 - Il comando ha riscontrato alcuni errori.
2 - Il comando `diff` ha rilevato che tutto è OK, ma è necessario un `sync`.
3 - Un comando di gestione dischi (`probe`, `smart`, `devices`, `up`,
`down`) è stato completato, ma almeno un filesystem è in modalità
degradata con dispositivi mancanti.
16 PROBLEMI NOTI (KNOWN ISSUES)

View file

@ -2151,6 +2151,10 @@ SnapRAIDは以下のエラーコードで終了します:
.HP 4
.I 2
\`diff\` コマンドはすべて正常であると判定しましたが、 \`sync\` が必要です。
.HP 4
.I 3
ディスクデバイスコマンド(\`probe\`、\`smart\`、\`devices\`、\`up\`、\`down\`)は完了しましたが、
少なくとも1つのファイルシステムがデバイス不足のためデグレード(縮退)モードで動作しています。
.PD
.RE
.SH 既知の問題 (KNOWN ISSUES)

View file

@ -1063,7 +1063,7 @@ Name{number}
DIR はファイルシステム内のディスクの**マウントポイント**です。
NAME を固定したままにしておけば、必要に応じてマウントポイントを変更できます。
ただし、設定されたパスは常に同じ基礎データに解決される必要があります。
パスにシンボリックリンクが含まれている場合、そのリンク先は固定されている
必要があります。シンボリックリンクの参照先を変更して実行時にデータ
@ -1648,6 +1648,8 @@ Name{number}
0 - すべて正常。
1 - コマンドでエラーが発生しました。
2 - `diff` コマンドはすべて正常であると判定しましたが、 `sync` が必要です。
3 - ディスクデバイスコマンド(`probe`、`smart`、`devices`、`up`、`down`)は完了しましたが、
少なくとも1つのファイルシステムがデバイス不足のためデグレード(縮退)モードで動作しています。
既知の問題 (Known Issues)
ファイルシステムの境界

View file

@ -1776,6 +1776,8 @@ SnapRAIDは以下のエラーコードで終了します:
0 - すべて正常。
1 - コマンドでエラーが発生しました。
2 - `diff` コマンドはすべて正常であると判定しましたが、 `sync` が必要です。
3 - ディスクデバイスコマンド(`probe`、`smart`、`devices`、`up`、`down`)は完了しましたが、
少なくとも1つのファイルシステムがデバイス不足のためデグレード(縮退)モードで動作しています。
16 既知の問題 (KNOWN ISSUES)

View file

@ -2198,6 +2198,10 @@ SnapRAID는 다음과 같은 오류 코드로 종료됩니다:
.HP 4
.I 2
\`diff\` 명령으로 모두 정상임을 확인했으나 \`sync\`가 필요합니다.
.HP 4
.I 3
디스크 장치 명령(\`probe\`, \`smart\`, \`devices\`, \`up\`, \`down\`)이 완료되었으나,
누락된 장치로 인해 하나 이상의 파일 시스템이 저하(degraded) 모드로 실행 중입니다.
.PD
.RE
.SH 알려진 문제 (KNOWN ISSUES)

View file

@ -1695,6 +1695,8 @@ Name{number}
0 - 모두 정상.
1 - 명령 실행 중 오류가 발생했습니다.
2 - `diff` 명령으로 모두 정상임을 확인했으나 `sync`가 필요합니다.
3 - 디스크 장치 명령(`probe`, `smart`, `devices`, `up`, `down`)이 완료되었으나,
누락된 장치로 인해 하나 이상의 파일 시스템이 저하(degraded) 모드로 실행 중입니다.
알려진 문제 (Known Issues)
파일 시스템 경계

View file

@ -1823,6 +1823,8 @@ SnapRAID는 다음과 같은 오류 코드로 종료됩니다:
0 - 모두 정상.
1 - 명령 실행 중 오류가 발생했습니다.
2 - `diff` 명령으로 모두 정상임을 확인했으나 `sync`가 필요합니다.
3 - 디스크 장치 명령(`probe`, `smart`, `devices`, `up`, `down`)이 완료되었으나,
누락된 장치로 인해 하나 이상의 파일 시스템이 저하(degraded) 모드로 실행 중입니다.
16 알려진 문제 (KNOWN ISSUES)

View file

@ -2283,6 +2283,11 @@ Polecenie napotkało błędy.
.HP 4
.I 2
Polecenie \`diff\` wykazało, że wszystko jest w porządku, ale wymagane jest \`sync\`.
.HP 4
.I 3
Polecenie urządzenia dyskowego (\`probe\`, \`smart\`, \`devices\`, \`up\`,
\`down\`) zostało zakończone, ale co najmniej jeden system plików działa
w trybie zdegradowanym z brakującymi urządzeniami.
.PD
.RE
.SH ZNANE PROBLEMY (KNOWN ISSUES)

View file

@ -1780,6 +1780,9 @@ Kod wyjścia (Exit Code)
0 - Wszystko w porządku.
1 - Polecenie napotkało błędy.
2 - Polecenie `diff` wykazało, że wszystko jest w porządku, ale wymagane jest `sync`.
3 - Polecenie urządzenia dyskowego (`probe`, `smart`, `devices`, `up`,
`down`) zostało zakończone, ale co najmniej jeden system plików działa
w trybie zdegradowanym z brakującymi urządzeniami.
Znane problemy (Known Issues)
Granice systemu plików

View file

@ -1908,6 +1908,9 @@ SnapRAID kończy działanie z następującymi kodami błędów:
0 - Wszystko w porządku.
1 - Polecenie napotkało błędy.
2 - Polecenie `diff` wykazało, że wszystko jest w porządku, ale wymagane jest `sync`.
3 - Polecenie urządzenia dyskowego (`probe`, `smart`, `devices`, `up`,
`down`) zostało zakończone, ale co najmniej jeden system plików działa
w trybie zdegradowanym z brakującymi urządzeniami.
16 ZNANE PROBLEMY (KNOWN ISSUES)

View file

@ -2319,6 +2319,11 @@ O comando encontrou alguns erros.
.HP 4
.I 2
O comando \`diff\` determinou que tudo está OK, mas é necessário um \`sync\`.
.HP 4
.I 3
Um comando de dispositivo de disco (\`probe\`, \`smart\`, \`devices\`, \`up\`,
\`down\`) foi concluído, mas pelo menos um sistema de arquivos está operando
em modo degradado com dispositivo(s) ausente(s).
.PD
.RE
.SH PROBLEMAS CONHECIDOS (KNOWN ISSUES)

View file

@ -1816,6 +1816,9 @@ Código de Saída (Exit Code)
0 - Tudo OK.
1 - O comando encontrou alguns erros.
2 - O comando `diff` determinou que tudo está OK, mas é necessário um `sync`.
3 - Um comando de dispositivo de disco (`probe`, `smart`, `devices`, `up`,
`down`) foi concluído, mas pelo menos um sistema de arquivos está operando
em modo degradado com dispositivo(s) ausente(s).
Problemas Conhecidos (Known Issues)
Limites do sistema de arquivos

View file

@ -1944,6 +1944,9 @@ O SnapRAID termina com os seguintes códigos de erro:
0 - Tudo OK.
1 - O comando encontrou alguns erros.
2 - O comando `diff` determinou que tudo está OK, mas é necessário um `sync`.
3 - Um comando de dispositivo de disco (`probe`, `smart`, `devices`, `up`,
`down`) foi concluído, mas pelo menos um sistema de arquivos está operando
em modo degradado com dispositivo(s) ausente(s).
16 PROBLEMAS CONHECIDOS (KNOWN ISSUES)

View file

@ -2279,6 +2279,11 @@ Comanda a întâmpinat unele erori.
.HP 4
.I 2
Comanda \`diff\` a constatat că totul este OK, dar este necesar un \`sync\`.
.HP 4
.I 3
O comandă de dispozitiv de disc (\`probe\`, \`smart\`, \`devices\`, \`up\`,
\`down\`) s\-a finalizat, dar cel puțin un sistem de fișiere funcționează
în mod degradat cu dispozitive lipsă.
.PD
.RE
.SH PROBLEME CUNOSCUTE (KNOWN ISSUES)

View file

@ -1776,6 +1776,9 @@ Cod de ieșire (Exit Code)
0 - Totul este OK.
1 - Comanda a întâmpinat unele erori.
2 - Comanda `diff` a constatat că totul este OK, dar este necesar un `sync`.
3 - O comandă de dispozitiv de disc (`probe`, `smart`, `devices`, `up`,
`down`) s-a finalizat, dar cel puțin un sistem de fișiere funcționează
în mod degradat cu dispozitive lipsă.
Probleme Cunoscute (Known Issues)
Limitele sistemului de fișiere

View file

@ -1904,6 +1904,9 @@ SnapRAID se termină cu următoarele coduri de eroare:
0 - Totul este OK.
1 - Comanda a întâmpinat unele erori.
2 - Comanda `diff` a constatat că totul este OK, dar este necesar un `sync`.
3 - O comandă de dispozitiv de disc (`probe`, `smart`, `devices`, `up`,
`down`) s-a finalizat, dar cel puțin un sistem de fișiere funcționează
în mod degradat cu dispozitive lipsă.
16 PROBLEME CUNOSCUTE (KNOWN ISSUES)

View file

@ -2284,6 +2284,11 @@ SnapRAID завершает работу со следующими кодами
.HP 4
.I 2
Команда \`diff\` определила, что все в порядке, но требуется \`sync\`.
.HP 4
.I 3
Команда дискового устройства (\`probe\`, \`smart\`, \`devices\`, \`up\`,
\`down\`) завершена, но по крайней мере одна файловая система работает
в деградированном режиме с отсутствующими устройствами.
.PD
.RE
.SH Известные проблемы (KNOWN ISSUES)

View file

@ -1783,6 +1783,9 @@ Name{number}
0 - Все в порядке.
1 - Команда обнаружила ошибки.
2 - Команда `diff` определила, что все в порядке, но требуется `sync`.
3 - Команда дискового устройства (`probe`, `smart`, `devices`, `up`,
`down`) завершена, но по крайней мере одна файловая система работает
в деградированном режиме с отсутствующими устройствами.
Известные проблемы (Known Issues)
Границы файловой системы

View file

@ -1911,6 +1911,9 @@ SnapRAID завершает работу со следующими кодами
0 - Все в порядке.
1 - Команда обнаружила ошибки.
2 - Команда `diff` определила, что все в порядке, но требуется `sync`.
3 - Команда дискового устройства (`probe`, `smart`, `devices`, `up`,
`down`) завершена, но по крайней мере одна файловая система работает
в деградированном режиме с отсутствующими устройствами.
16 Известные проблемы (KNOWN ISSUES)

View file

@ -2279,6 +2279,11 @@ Kommandot stötte på fel.
.HP 4
.I 2
Kommandot \`diff\` fann att allt är OK, men en \`sync\` behövs.
.HP 4
.I 3
Ett diskenhetskommando (\`probe\`, \`smart\`, \`devices\`, \`up\`, \`down\`)
slutfördes, men minst ett filsystem körs i degraderat läge med
saknade enheter.
.PD
.RE
.SH KäNDA PROBLEM (KNOWN ISSUES)

View file

@ -1776,6 +1776,9 @@ Slutkod (Exit Code)
0 - Allt OK.
1 - Kommandot stötte på fel.
2 - Kommandot `diff` fann att allt är OK, men en `sync` behövs.
3 - Ett diskenhetskommando (`probe`, `smart`, `devices`, `up`, `down`)
slutfördes, men minst ett filsystem körs i degraderat läge med
saknade enheter.
Kända problem (Known Issues)
Filsystemgränser

View file

@ -1904,6 +1904,9 @@ SnapRAID avslutas med följande statuskoder:
0 - Allt OK.
1 - Kommandot stötte på fel.
2 - Kommandot `diff` fann att allt är OK, men en `sync` behövs.
3 - Ett diskenhetskommando (`probe`, `smart`, `devices`, `up`, `down`)
slutfördes, men minst ett filsystem körs i degraderat läge med
saknade enheter.
16 KäNDA PROBLEM (KNOWN ISSUES)

View file

@ -2484,6 +2484,11 @@ SnapRAID завершує роботу з такими кодами помило
.HP 4
.I 2
Команда \`diff\` визначила, що все в порядку, але потрібен \`sync\`.
.HP 4
.I 3
Команда дискового пристрою (\`probe\`, \`smart\`, \`devices\`, \`up\`,
\`down\`) завершена, але принаймні одна файлова система працює
у деградованому режимі з відсутніми пристроями.
.PD
.RE
.SH Відомі проблеми (KNOWN ISSUES)

View file

@ -1969,6 +1969,9 @@ Name{number}
0 - Все в порядку.
1 - Команда виявила помилки.
2 - Команда `diff` визначила, що все в порядку, але потрібен `sync`.
3 - Команда дискового пристрою (`probe`, `smart`, `devices`, `up`,
`down`) завершена, але принаймні одна файлова система працює
у деградованому режимі з відсутніми пристроями.
Відомі проблеми (Known Issues)
Межі файлової системи

View file

@ -2097,6 +2097,9 @@ SnapRAID завершує роботу з такими кодами помило
0 - Все в порядку.
1 - Команда виявила помилки.
2 - Команда `diff` визначила, що все в порядку, але потрібен `sync`.
3 - Команда дискового пристрою (`probe`, `smart`, `devices`, `up`,
`down`) завершена, але принаймні одна файлова система працює
у деградованому режимі з відсутніми пристроями.
16 Відомі проблеми (KNOWN ISSUES)

View file

@ -2060,6 +2060,10 @@ SnapRAID 终止并返回以下错误代码:
.HP 4
.I 2
\`diff\` 命令发现一切正常,但需要进行 \`sync\`。
.HP 4
.I 3
磁盘设备命令(\`probe\`、\`smart\`、\`devices\`、\`up\`、\`down\`)已完成,
但至少有一个文件系统因缺少设备而以降级(degraded)模式运行。
.PD
.RE
.SH 已知问题 (KNOWN ISSUES)

View file

@ -1557,6 +1557,8 @@ Name{number}
0 - 一切正常。
1 - 命令遇到一些错误。
2 - `diff` 命令发现一切正常,但需要进行 `sync`。
3 - 磁盘设备命令(`probe`、`smart`、`devices`、`up`、`down`)已完成,
但至少有一个文件系统因缺少设备而以降级(degraded)模式运行。
已知问题 (Known Issues)
文件系统边界

View file

@ -1685,6 +1685,8 @@ SnapRAID 终止并返回以下错误代码:
0 - 一切正常。
1 - 命令遇到一些错误。
2 - `diff` 命令发现一切正常,但需要进行 `sync`。
3 - 磁盘设备命令(`probe`、`smart`、`devices`、`up`、`down`)已完成,
但至少有一个文件系统因缺少设备而以降级(degraded)模式运行。
16 已知问题 (KNOWN ISSUES)

View file

@ -2288,6 +2288,11 @@ The command encountered some errors.
.I 2
The \`diff\` command found everything is OK, but a \`sync\` is
needed.
.HP 4
.I 3
A disk device command (\`probe\`, \`smart\`, \`devices\`, \`up\`,
\`down\`) completed, but at least one filesystem is running in
degraded mode with missing device(s).
.PD
.RE
.SH KNOWN ISSUES

View file

@ -1785,6 +1785,9 @@ Exit Code
1 - The command encountered some errors.
2 - The `diff` command found everything is OK, but a `sync` is
needed.
3 - A disk device command (`probe`, `smart`, `devices`, `up`,
`down`) completed, but at least one filesystem is running in
degraded mode with missing device(s).
Known Issues
Filesystem boundaries

View file

@ -1913,6 +1913,9 @@ SnapRAID terminates with the following error codes:
1 - The command encountered some errors.
2 - The `diff` command found everything is OK, but a `sync` is
needed.
3 - A disk device command (`probe`, `smart`, `devices`, `up`,
`down`) completed, but at least one filesystem is running in
degraded mode with missing device(s).
16 KNOWN ISSUES