Zamky

martin.kula na deltaes.cz martin.kula na deltaes.cz
Středa Říjen 17 18:20:51 CEST 2001



On Wed, 17 Oct 2001, Ales Horak wrote:

> > 
> > zkousel jsem funkce flock(),fcntl(), a open() s priznakem O_EXCL, ale 
> > kdyz soubor zamknu a zapisuju do nej, tak z konzole bez problemu ten 
> > soubor prejmnuju (pomoci mv).

1.mv nema nic spolecneho s vlastnim souborem, ale tyka se pouze adresare !!
Tolik pokud se jedna o mv pouzite na jednom filesystemu.

2. jedna-li se o mv z jednoho fs na druhy tak jde v podstate o smazani
souboru (neni-li na nej jeste nejaky odkaz na puvodnim filesystemu 
(viz napr. $ stat file # polozka Links)) pak se to zamku opet netyka
protoze jadro uvolni prislusny inode az jej nepouziva zadny spusteny
soubor - tedy opet se to zamku netyka.

3. Chci-li zabranit vyse uvedenemu mv musel bych zamknout adresar - to
nevim jestli jde ;-) - use man pages Luke :)

> > 
> 
> "Zamknutim" souboru, nebo jeho casti se nemeni pristupova prava. Je plne 
> na tom druhem procesu zjistit jestli tam nejaky "zamek" je a pak ho 
> respektoval (nebo taky ne :)
> 

Jo to plati pro advisory locks. Pak je mozne pouzit jeste mandatory locks
kde jsou zamky hlidany kernelem a procesy nemaji moznost zamek ignorovat.
Ve vetsine implementaci na to musi byt ovsem pamatovano pri vytvareni
souboru, fs a pod. Nejaky popis je v linux/Documentation/locks.txt
a linux/Documentation/mandatory.txt.

Martin



Další informace o konferenci Linux