Stockage : corrections de relecture — le remède Unraid décrit tel qu'il existe

« Exclusive access » n'est pas un réglage qu'on passe à Yes sur la page du
partage : c'est un état, que Unraid 6.12 accorde quand « Permit exclusive
shares » est activé et que le partage vit tout entier sur un pool, sans
stockage secondaire (/mnt/user/<partage> devient un lien vers le pool). La
consigne précédente envoyait chercher une option introuvable.
- conseil, compose et README : le vrai chemin (Global Share Settings,
  mover vers le pool puis Secondary = None, « Exclusive access : Yes »),
  et redémarrer le conteneur, Docker ne résolvant le lien qu'au démarrage ;
- un seul chemin par montage fuse.shfs : /data/models répétait /data ;
- l'encart de l'UI, permanent tant que la cause dure, devient masquable
  (localStorage, pour ce texte seulement — un autre conseil réapparaît).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
MichaelandClaude Opus 5.5 committed 2026-10-04 02:35:38 +02:00
1 parent 056f307983
commit 9f6bd725e6
7 files changed
+86 -26

No files matched your search

+8 -1
View File
@@ -64,6 +64,13 @@ func TestShfsPaths(t *testing.T) {
if strings.Join(got, ",") != strings.Join(want, ",") {
t.Fatalf("shfsPaths = %v, attendu %v", got, want)
}
// Un sous-dossier du même montage (LOKI_MODEL_DIRS=/data/gguf) n'est pas
// répété : un seul chemin par montage fuse.shfs.
got = shfsPaths(m, []string{"/data/gguf", "/data", "/mnt/mes modeles/a"})
want = []string{"/data/gguf", "/mnt/mes modeles/a"}
if strings.Join(got, ",") != strings.Join(want, ",") {
t.Fatalf("shfsPaths (même montage) = %v, attendu %v", got, want)
}
// Partages en « Exclusive access » : plus de fuse.shfs, plus de conseil.
excl := `1 0 0:1 / / rw - overlay overlay rw
2 1 0:2 /appdata/loki/data /data rw - btrfs /dev/nvme0n1p1 rw
@@ -79,7 +86,7 @@ func TestStorageHintText(t *testing.T) {
t.Fatalf("rien à signaler : %q", s)
}
s := storageHintText([]string{"/data", "/models"})
for _, w := range []string{"/data, /models", "fuse.shfs", "Exclusive access"} {
for _, w := range []string{"/data, /models", "fuse.shfs", "Permit exclusive shares", "Exclusive access", "Rien n'est perdu"} {
if !strings.Contains(s, w) {
t.Errorf("conseil sans %q : %s", w, s)
}