Frage zu geom_gate, ggatel, ggatec, ggated

asg

push it, don´t hype
Moin,

so wollte eben mal wieder geom_gate nutzen (FreeBSD 5.4-RELEASE).
Auf dem Server:
Code:
#less /etc/gg.exports
192.168.3.30 RO /dev/ad0s1e
ad0s1e ist /usr.
Danach "ggated" gestartet

Auf dem Client:
Code:
#ggatec create -o ro 192.168.3.11 /dev/ad0s1e
ggate0
#mount /dev/ggate0 /mnt
Hat prima funktioniert.

Nun zum Problem. Dem abhängen des devices. Und hier muss ich die mangae nicht verstehen, denn ich habe mir soeben dem Client abgeschossen...
Dazu muss man doch "destroy" nutzen, oder?
Code:
#ggatec destroy -u 0
Wobei ich davon ausgehen das die unit auch die "0" von "ggate0" ist.
Dabei wird mir dann folgendes ausgespuckt:
Code:
#ggatec destroy -u 0
error: ggatec: ioctl(/dev/ggctl): Device busy.
error: Exiting.
Ok, wollte /mnt mal aushängen:
Code:
#umount /mnt
umount: unmount of /mnt failed: Resource temporarily unavailable
Ok. dachte ich mir schon fast...
Also, wozu gibt es "-f" bei destroy:
Code:
#ggatec destroy -f -u 0
Ok, liefert nichts zurück...
Was sagt denn "mount":
Code:
#mount
[...]
/dev/ggate0 on /mnt (ufs, local, soft-updates)
Na dann eben ein "umount":
Code:
umount /mnt
Peng. Das wars. Kiste steht. Komme nicht mehr drauf. Aus die Maus. Muss nun in den Keller latschen. Kacke.
Da ich mir nicht vorstellen kann das ggate so buggy ist gehe ich davon aus das ich einen Fehler mache, und frage mich wo dieser nun liegt.
Aber auch wenn ich einen Fehler mache, so sollte die Kiste bei den angegeben Befehlen nicht einfach absemmeln, das sollte schon abgefangen werden.
 
Also zuerstmal musst du das Device erst unmounten, dann erst kannst du ggate0 zerstoeren.

Es ist nicht unueblich, dass FreeBSD zickt, wenn du die Devices unter nem Mountpoint rausreisst. Einfach nochmal in der richtigen Reihenfolge probieren, bei mir klappte es damals jedenfalls ohne Probleme.
 
Das Device lässt sich aber nicht unmounten, das ist ja der Käse.
Code:
Resource temporarily unavailable
 
Nun gut, aber du hattest ja auch zuerst ein ggatec destroy ausgefuehrt, vielleicht solltest du es einfach noch mal "richtig" rum probieren.
 
Ich meinte damit das ich es "richtig" herum probiert habe und dann eben obige Meldung ausgegegeben wird.
 
Also ich glaube mal nicht daß Du was falsch machst, da scheint sich wirklich ein Fehler eingeschlichen zu haben, ich hatte dieses Problem noch nie, habe aber wie gesagt schon seit zwei Monaten nichts mehr damit gemacht.
Ich würde jetzt erstmal einen Debug kernel bauen, sonst kann man granichts sagen.
Ich hau immer das volle Programm rein (INVARIANTS und WITNESS) sowie den debugger, aber vielleicht solltest Du ein dumpdevice verwenden. Hier meine Arbeitszeilen:
#makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
#options KTRACE #ktrace(1) support
#options KDB # Enable kernel debugger support.
#options DDB # Support DDB.
#options GDB # Support remote GDB.
#options WITNESS # Enable checks to detect deadlocks and cycles
#options INVARIANTS # Enable calls of extra sanity checking
#options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS

Grüße,

-Kaeptn

P.S.: Ich werde demnächst eh wieder ggate brauchen, aber unter -current.
 
Zurück
Oben