source: trunk/README

Last change on this file was 4, checked in by willem, 11 years ago

willem

File size: 872 bytes
Line 
1See man disparm for an explanation of the external specs of disparm.
2
3I is not easy to arrange in a nfs file system that only one process
4will change a file (the poolfile), and to ensure that this process
5gets the most up-to-date version of the file.
6
7In disparm this is accomplished by three steps:
8
9 - create a lock directory. This is an atomic operation, if
10   many processes are doing a 'mkdir' of the same directory,
11   only one process can succeed.
12 - create a hard link in that directory to the poolfile.
13   If the link count of that link equals 2, it is considered
14   successful, otherwize it is assumed that no exclusive
15   access to the file is possible at this moment.
16 - open de link with O_DIRECT, and read a block, to persuade the
17   system to get the latest version of the file.
18
19If the lock cannot be obtained directly, it is tried some sconds later.
20
21
22
23
Note: See TracBrowser for help on using the repository browser.