NFS
Jan Kasprzak
kas at foresta.cz
Tue Feb 20 12:26:18 CET 1996
Zdravim vsechny,
Nedavno jsem narazil na tento problem: NFS-server jako bezstavovy
server ma moznost kdykoli uzavrit (a v pripade potreby znovu otevrit)
descriptor (filehandle), ktery pouziva. Problem je, pokud vytvorime na serveru
r/only soubor a zapisujeme do nej -- asi takto:
/* Vytvorime soubor s pravy -r--r--r-- */
fd = open("/nfsmount/nfsfile", O_CREAT|O_RDWR, 0444);
while(1)
{
write(fd, "slovo\n", 6);
sleep(10);
}
Pokud timto zpusobem zapisujeme na nfs-disk a nfs-server se rozhodne
uzavrit soubor /nfsmount/nfsfile, nema uz nasledne pravo tento soubor
otevrit pro zapis a tim padem zapis selze.
Ted je ovsem otazka, jestli je nelegalni pouzit vyse zmineny
usek kodu (spravnejsi by bylo zapsat soubor a teprve dodatecne pridat
r/only prava), nebo jestli je chyba v mem nfs-serveru (Linux a rpc.nfsd 2.1).
Zmineny problem nastava, kdyz uzivatel W95 a OnNetu 2.1 kopiruje
na nfs-disk nejaky delsi r/only soubor. Cim delsi je soubor (a cim
vetsi je zatez na serveru), tim vetsi je pravdepodobnost, ze se serveru
nebudou dostavat volne descriptory a zrovna ten muj uzavre. Wokna pak
hlasi podivnosti typu "Na cilovem disku neni dost mista" a podobne.
Ma nekdo nejakou specifikaci nfs-protokolu? Nebo vi nekdo,
kde je chyba?
-Yenya
--
Jan "Yenya" Kasprzak, E-mail kas at foresta.cz, WWW http://www.fi.muni.cz/~kas/
[[[[ System Administrator at Foresta SG, a.s. (tel: +42-5-45222018) ]]]]
[[[[ Linux Czech WWW Page: http://www.fi.muni.cz/~kas/linux/ ]]]]
In accord with UNIX philosophy, Perl gives you enough rope to hang yourself.
--Larry Wall, Randal Schwartz: Learning Perl
More information about the net
mailing list