[OpenAFS] Using a file lock to avoid race conditions?

Edgecombe, Jason jwedgeco@uncc.edu
Tue, 15 Mar 2011 14:22:43 -0400


VGhpcyBpcyB3aGF0IEkgbmVlZGVkLiANCg0KVGhhbmtzLA0KSmFzb24NCg0KLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tDQpKYXNvbiBFZGdlY29tYmUgfCBMaW51eCBhbmQgU29sYXJpcyBBZG1pbmlzdHJhdG9y
DQpVTkMgQ2hhcmxvdHRlIHwgVGhlIFdpbGxpYW0gU3RhdGVzIExlZSBDb2xsZWdlIG9mIEVuZ2lu
ZWVyaW5nDQo5MjAxIFVuaXZlcnNpdHkgQ2l0eSBCbHZkLiB8IENoYXJsb3R0ZSwgTkMgMjgyMjMt
MDAwMQ0KandlZGdlY29AdW5jYy5lZHUgfCBodHRwOi8vY29lLnVuY2MuZWR1IHwgwqBGYWNlYm9v
aw0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpJZiB5b3UgYXJlIG5vdCB0aGUgaW50ZW5kZWQgcmVjaXBp
ZW50IG9mIHRoaXMgdHJhbnNtaXNzaW9uIG9yIGEgcGVyc29uIHJlc3BvbnNpYmxlIGZvciBkZWxp
dmVyaW5nIGl0IHRvIHRoZSBpbnRlbmRlZCByZWNpcGllbnQsIGFueSBkaXNjbG9zdXJlLCBjb3B5
aW5nLCBkaXN0cmlidXRpb24sIG9yIG90aGVyIHVzZSBvZiBhbnkgb2YgdGhlIGluZm9ybWF0aW9u
IGluIHRoaXMgdHJhbnNtaXNzaW9uIGlzIHN0cmljdGx5IHByb2hpYml0ZWQuIElmIHlvdSBoYXZl
IHJlY2VpdmVkIHRoaXMgdHJhbnNtaXNzaW9uIGluIGVycm9yLCBwbGVhc2Ugbm90aWZ5IG1lIGlt
bWVkaWF0ZWx5IGJ5IHJlcGx5IGUtbWFpbCBvciBieSB0ZWxlcGhvbmUgYXQgNzA0LTY4Ny0zNTE0
LsKgIFRoYW5rIHlvdS4NCg0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogb3Bl
bmFmcy1pbmZvLWFkbWluQG9wZW5hZnMub3JnIFttYWlsdG86b3BlbmFmcy1pbmZvLWFkbWluQG9w
ZW5hZnMub3JnXSBPbiBCZWhhbGYgT2YgSmVmZnJleSBBbHRtYW4NClNlbnQ6IFR1ZXNkYXksIE1h
cmNoIDE1LCAyMDExIDEyOjQ2IFBNDQpUbzogb3BlbmFmcy1pbmZvQG9wZW5hZnMub3JnDQpTdWJq
ZWN0OiBSZTogW09wZW5BRlNdIFVzaW5nIGEgZmlsZSBsb2NrIHRvIGF2b2lkIHJhY2UgY29uZGl0
aW9ucz8NCg0KT24gMy8xNS8yMDExIDEyOjE0IFBNLCBFZGdlY29tYmUsIEphc29uIHdyb3RlOg0K
DQo+IEnigJltIHRoaW5raW5nIG9mIHVzaW5nIGEgZmlsZSBsb2NrIChpLmUuIGZsb2NrKSBpbiBB
RlMgdG8gZGV0ZXJtaW5lIHdobw0KPiBmZXRjaGVzIHRoZSBlbWFpbCwgYnV0IEkgbmVlZCB0byBr
bm93IGFib3V0IHRoZSBmYWlsdXJlIHNjZW5hcmlvcy4gRG9lcw0KPiB0aGUgbG9jayBwZXJzaXN0
IGlmIHRoZSBtYWNoaW5lIGZyZWV6ZXMgb3IgZGllcz8gV2lsbCBhbiBvcnBoYW5lZCBsb2NrDQo+
IGV4cGlyZSwgYW5kIGlmIHNvLCBob3cgbG9uZyBkb2VzIGl0IHRha2UgdG8gZXhwaXJlPw0KDQpM
b2NrcyBpbiBBRlMgYXJlIGlzc3VlZCB3aXRoIGEgZml2ZSBtaW51dGUgbGlmZXRpbWUgYW5kIG11
c3QgYmUgcmVuZXdlZA0KYnkgYSBjbGllbnQuDQoNCldyaXRlLWxvY2tzIGFyZSBleGNsdXNpdmUg
dG8gYSBzaW5nbGUgY2xpZW50LiAgSWYgdGhlIGNsaWVudCBkaWVzIG9yDQpvdGhlcndpc2UgYmVj
b21lcyBkaXNjb25uZWN0ZWQgZnJvbSB0aGUgZmlsZSBzZXJ2ZXIgdGhhdCBpc3N1ZWQgdGhlDQps
b2NrLCB0aGUgbG9jayB3aWxsIGV4cGlyZSA1IG1pbnV0ZXMgYWZ0ZXIgaXQgd2FzIGlzc3VlZC4N
Cg0KUmVhZC1sb2NrcyBhcmUgc2hhcmVkIGFuZCBjYW4gYmUgaXNzdWVkIHRvIG11bHRpcGxlIGNs
aWVudHMuICBBDQpyZWFkLWxvY2sgaXMgcmVuZXdlZCB3aGVuZXZlciBhbnkgY2xpZW50IHJlcXVl
c3RzIGEgcmVuZXdhbC4gIElmIGENCmNsaWVudCBmYWlscyBvciBiZWNvbWVzIGRpc2Nvbm5lY3Rl
ZCBmcm9tIHRoZSBmaWxlIHNlcnZlciwgaXRzIGxvY2sNCmNvdW50IHdpbGwgcGVyc2lzdCB1bnRp
bCBmaXZlIG1pbnV0ZXMgYWZ0ZXIgdGhlIGxhc3QgcmVuZXdhbCByZXF1ZXN0IGlzDQppc3N1ZWQu
DQoNCk9idmlvdXNseSwgdGhlIGV4aXN0ZW5jZSBvZiBhbiBvdXRzdGFuZGluZyByZWFkLWxvY2sg
cHJldmVudHMgdGhlDQpncmFudGluZyBvZiBhIHdyaXRlLWxvY2suDQoNCkplZmZyZXkgQWx0bWFu
DQoNCg==