spoensche schrieb:
Also mit deinen beiden Postings kann ich nicht viel anfangen. Ich würde dir ja gern helfen, aber du müsstest dann mal konkreter werden was du vorhast bzw. bezwecken willst.
Was ich will:
Der cifsclient hängt sich an den Microsoftserver und dieser bietet ihm den entsprechenden share an.
Der device_node auf der Linuxseite sieht bekannterweise aus wie: //MS_SERVER/documents/
fs ist cifs.
Die Frage ist nun, was bietet mir dieser device_node auf der Seite Linux? Kann man mit //MS_SERVER/documents/ etwas anfangen? Und wie?
Der Grund dafür liegt darin, dass mir der DriveType auf Microsoftseite nicht bekannt ist. Typen wie DRIVE_REMOVABLE, DRIVE_CDROM,DRIVE_REMOTE etc. natürlich ein Monitoring benötigen. Nun habe ich mir gedacht, dass der node //MS_SERVER/documents/ irgendwie in udev einfließt, da udev ja ein Monitoring anbietet (siehe z.B. USB für den device_node /dev/sdd). Leider geht cifs an udev vorbei, damit ist das libudev für solche shares unbrauchbar. //MS_SERVER/documents/ existiert nur für cifs bzw. smb, das System kennt diesen node überhaupt nicht. Es gibt wohl einen Eintrag in /proc/mounts nach erfolgreichem mount, aber dieser Eintrag bleibt stehen, selbst wenn der $MS Server gar nicht mehr im Netz ist. Das Entfernen von z.B. einem SATA Laufwerk bleibt sowieso unbemerkt. Ich weiß, dass der $MS SMB Server einen event bei Entfernen eines Devices an die verbundenen smb_clients sendet, leider ist weder im smb_clientlibrary noch im kernel/fs/cifs ein Empfang zu finden.
Ziel soll sein, dass der share unter Linux bei Entfernen eines devices auf der $MS Seite automatisch verschwindet, aber irgendwie komme ich nicht weiter ...
Ein Polling mit z.B. stat() oder access() aus einem thread will ich nicht.
Gruß