Ich möchte ein CIFS mounted share (samba) + ein Ordner auf dem lokalen ext2 Dateisystem als einen zusammenhängenden Ordner behandeln.
unionfs-fuse funktioniert, ist allerdings sehr langsam (obwohl kaum Dateien/Ordner vorhanden sind, wahrscheinlich weil es eben auf FUSE aufsetzt).
Gibt es einen kernel-level Treiber für unionfs (der kein FUSE verwendet)?
unionfs-fuse
aufs funktioniert leider gar nicht mit dem CIFS mounted share (Kernel panic + CIFS mounted share hängt (reboot notwendig)).
Ich konnte auch keine Option in der aufs Dokumentation finden, die dieses Problem irgendwie umgehen könnte.
aufs-tools
overlayfs ist leider noch nicht im upstream Linux Kernel und ist auch nicht im Debian (Wheezy) Standard Kernel verfügbar.
Wie kann ich overlayfs in den Kernel source reinpatchen? Ich hoffe, dass es mit dem CIFS mounted share zurechtkommt und einigermaßen performant ist.
https://github.com/CoryBR/OverlayFS/blo ... Readme.txt
Das eigentliche Problem ist, dass ich auf dem CIFS mounted share leider keine (soft) Symlinks erstellen kann (wird nicht unterstützt),
daher weiche ich auf ein solches Dateisystem aus.
Oder kann ich auch einen Symlink erzeugen, der nur auf dem lokalen System sichtbar ist? Ich wüsste aber nicht, wie man einen solchen Symlink bezeichnen könnte.
Vielen Dank für eure Antworten.
Mit freundlichen Grüßen
OverlayFS
-
- Beiträge: 939
- Registriert: 16.02.2009 09:35:10
Re: OverlayFS
Ich würde den Bug in AuFS und/oder Samba auf jeden Fall melden. Selbst wenn das, was Du da vor hast, eigentlich gar nicht möglich ist, sollte da wenigstens eine vernünftige Fehlermeldung rauspurzeln. Zumindest habe ich es so verstanden, dass man mit Samba Shares nicht so umgehen kann wie mit NFS, weil letzteres verständlicherweise viel POSIX-näher ist.
Im Moment ist glaube ich gar kein Overlay Filesystem standardmäßig im Kernel. OverlayFS hat sich zum Ziel gesetzt das hinzubekommen. Genau wie AuFS, was ein Neuansatz vom UnionFS ist. Mit den Fuse Lösungen war ich damals ebenfalls nicht zufrieden.
Im Moment ist glaube ich gar kein Overlay Filesystem standardmäßig im Kernel. OverlayFS hat sich zum Ziel gesetzt das hinzubekommen. Genau wie AuFS, was ein Neuansatz vom UnionFS ist. Mit den Fuse Lösungen war ich damals ebenfalls nicht zufrieden.
Soft: Bullseye AMD64, MATE Desktop. Repo's: Backports, kein Proposed, eigene Backports. Grafik: Radeon R7 360 MESA.
Hardware: Thinkstation S20, Intel X58, 16GB, Xeon W3530, BCM5755 NIC, EMU10K1 SND, SATA SSD+HDS und DVD+RW.
Hardware: Thinkstation S20, Intel X58, 16GB, Xeon W3530, BCM5755 NIC, EMU10K1 SND, SATA SSD+HDS und DVD+RW.
-
- Beiträge: 263
- Registriert: 08.03.2009 16:14:08
Re: OverlayFS
Danke für Deine Antwort.
Ich versuche nun, den downstream Debian Linux Kernel source (linux-source-3.2) mit overlayfs (http://git.kernel.org/pub/scm/linux/ker ... i/vfs.git/) zu patchen
(Anleitung http://adis.ca/post/overlayfs-patch/).
Allerdings kann der Patch nicht vollständig darauf angewendet werden:
Der aktuellste overlayfs source (.current branch) ist anscheinend nicht kompatibel zum 3.2 downstream Kernel source.
Kann ich auch den upstream Kernel source für ein Debian System verwenden, wie nähere ich ihn dem downstream Kernel so weit wie möglich an?
Und warum hat man eigentlich kein overlayfs Kernel Modul gemacht und sich das Patchen damit gespart?
Mit freundlichen Grüßen
Würde die Kernel-Panic Meldung (mit Dump) ausreichen?nudgegoonies hat geschrieben:Ich würde den Bug in AuFS und/oder Samba auf jeden Fall melden. Selbst wenn das, was Du da vor hast, eigentlich gar nicht möglich ist, sollte da wenigstens eine vernünftige Fehlermeldung rauspurzeln. [...]
Ich versuche nun, den downstream Debian Linux Kernel source (linux-source-3.2) mit overlayfs (http://git.kernel.org/pub/scm/linux/ker ... i/vfs.git/) zu patchen
(Anleitung http://adis.ca/post/overlayfs-patch/).
Allerdings kann der Patch nicht vollständig darauf angewendet werden:
Code: Alles auswählen
$ patch -p1 --dry-run < ../overlayfs.current.patch
patching file Documentation/filesystems/Locking
Hunk #1 FAILED at 67.
Hunk #2 FAILED at 96.
2 out of 2 hunks FAILED -- saving rejects to file Documentation/filesystems/Locking.rej
patching file Documentation/filesystems/overlayfs.txt
patching file Documentation/filesystems/vfs.txt
Hunk #1 FAILED at 364.
Hunk #2 succeeded at 683 (offset -13 lines).
1 out of 2 hunks FAILED -- saving rejects to file Documentation/filesystems/vfs.txt.rej
patching file MAINTAINERS
Hunk #1 succeeded at 4910 (offset -1732 lines).
patching file fs/Kconfig
Hunk #1 succeeded at 63 with fuzz 2 (offset -4 lines).
patching file fs/Makefile
patching file fs/btrfs/ioctl.c
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
2 out of 2 hunks ignored -- saving rejects to file fs/btrfs/ioctl.c.rej
patching file fs/dcache.c
Hunk #1 succeeded at 2243 (offset -379 lines).
patching file fs/ecryptfs/main.c
patching file fs/ext4/namei.c
Hunk #1 succeeded at 2566 with fuzz 2 (offset -603 lines).
Hunk #2 FAILED at 3210.
Hunk #3 FAILED at 3225.
Hunk #4 FAILED at 3256.
Hunk #5 FAILED at 3279.
Hunk #6 FAILED at 3297.
Hunk #7 FAILED at 3336.
Hunk #8 FAILED at 3457.
7 out of 8 hunks FAILED -- saving rejects to file fs/ext4/namei.c.rej
patching file fs/internal.h
Hunk #1 FAILED at 42.
Hunk #2 FAILED at 135.
2 out of 2 hunks FAILED -- saving rejects to file fs/internal.h.rej
patching file fs/namei.c
Hunk #1 succeeded at 371 with fuzz 1 (offset -44 lines).
Hunk #2 FAILED at 2367.
Hunk #3 FAILED at 3048.
Hunk #4 FAILED at 4189.
Hunk #5 FAILED at 4326.
4 out of 5 hunks FAILED -- saving rejects to file fs/namei.c.rej
patching file fs/namespace.c
Hunk #1 succeeded at 1493 with fuzz 1 (offset -57 lines).
patching file fs/open.c
Hunk #1 FAILED at 824.
Hunk #2 FAILED at 842.
2 out of 2 hunks FAILED -- saving rejects to file fs/open.c.rej
patching file fs/overlayfs/Kconfig
patching file fs/overlayfs/Makefile
patching file fs/overlayfs/copy_up.c
patching file fs/overlayfs/dir.c
patching file fs/overlayfs/inode.c
patching file fs/overlayfs/overlayfs.h
patching file fs/overlayfs/readdir.c
patching file fs/overlayfs/super.c
patching file fs/splice.c
Hunk #1 succeeded at 1329 (offset -1 lines).
patching file include/linux/fs.h
Hunk #1 succeeded at 457 (offset 232 lines).
Hunk #2 succeeded at 502 (offset 232 lines).
Hunk #3 FAILED at 1278.
Hunk #4 FAILED at 1410.
Hunk #5 FAILED at 1540.
Hunk #6 succeeded at 1997 with fuzz 2 (offset 360 lines).
Hunk #7 FAILED at 2054.
Hunk #8 succeeded at 2293 with fuzz 2 (offset 26 lines).
Hunk #9 FAILED at 2467.
Hunk #10 succeeded at 2743 (offset -8 lines).
5 out of 10 hunks FAILED -- saving rejects to file include/linux/fs.h.rej
patching file include/linux/mount.h
Hunk #1 succeeded at 103 with fuzz 2 (offset 29 lines).
can't find file to patch at input line 4174
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/include/uapi/linux/fs.h b/include/uapi/linux/fs.h
|index ca1a11b..3735fa0 100644
|--- a/include/uapi/linux/fs.h
|+++ b/include/uapi/linux/fs.h
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
1 out of 1 hunk ignored
patching file mm/shmem.c
Hunk #1 succeeded at 1588 (offset -428 lines).
Hunk #2 succeeded at 1681 (offset -428 lines).
Hunk #3 FAILED at 2777.
1 out of 3 hunks FAILED -- saving rejects to file mm/shmem.c.rej
Kann ich auch den upstream Kernel source für ein Debian System verwenden, wie nähere ich ihn dem downstream Kernel so weit wie möglich an?
Und warum hat man eigentlich kein overlayfs Kernel Modul gemacht und sich das Patchen damit gespart?
Mit freundlichen Grüßen
-
- Beiträge: 263
- Registriert: 08.03.2009 16:14:08
Re: OverlayFS
Ich habe nun stattdessen das Debian Source Paket 'linux' verwendet:
Der Patch von branch overlayfs.v21 patched ohne rejects
mit Option -F3 (fuzzy=3 anstatt den standardmäßigen 2)
und Option --ignore-whitespaces:
Mit freundlichen Grüßen
Code: Alles auswählen
$ apt-get source linux
mit Option -F3 (fuzzy=3 anstatt den standardmäßigen 2)
und Option --ignore-whitespaces:
Code: Alles auswählen
$ patch -Np1 -F3 --dry-run --ignore-whitespace < ../overlayfs.v21.patch