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