[OpenAFS-devel] pthreaded fileserver: 3 threads use same host.holds table index

Rainer Toebbicke Rainer.Toebbicke@cern.ch
Fri, 17 Jan 2003 16:28:47 +0100


This is a multi-part message in MIME format.
--------------070703000104080908030704
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

In the pthreaded fileserver, 3 threads (FiveMinuteCheckLWP, HostCheckLWP, and 
the FSYNC_sync thread) run without the rx_thread_id_key being set to anything 
useful. Consequently, they might end up using the same host.holds index (id 0) 
putting the integrity of the hosts table at risk.

The attached patch tracks the number of threads created in the fileserver and 
assigns a unique ID for two of them, leaving the FSYNC_sync thread alone using 
id 0.

The patch is not needed (but harmless) for the lwp-threaded fileserver where 
LWP_Index() works.

-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Rainer Toebbicke        http://cern.ch/~rtb         rtb@mail.cern.ch  O__
European Laboratory for Particle Physics(CERN) - Geneva, Switzerland   > |
Phone: +41 22 767 8985       Fax: +41 22 767 7155                     ( )\( )

--------------070703000104080908030704
Content-Type: application/x-java-vm;
 name="p_threadid"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="p_threadid"

KioqIG9wZW5hZnMvc3JjL3ZpY2VkL3ZpY2VkLmMueHh4CU1vbiBEZWMgMTYgMTM6MzA6NDUg
MjAwMgotLS0gb3BlbmFmcy9zcmMvdmljZWQvdmljZWQuYwlNb24gRGVjIDE2IDEzOjQ3OjMx
IDIwMDIKKioqKioqKioqKioqKioqCioqKiA2MzMsNjM4ICoqKioKLS0tIDYzMyw2NTAgLS0t
LQogICNlbmRpZiAvKiBBRlNfUFRIUkVBRF9FTlYgKi8KICB9CiAgCisgc2V0VGhyZWFkSWQo
cykKKyAJY2hhciAqczsKKyB7CisgI2lmZGVmIEFGU19QVEhSRUFEX0VOVgorIAkvKiBzZXQg
b3VyICd0aHJlYWQtaWQnIHNvIHRoYXQgdGhlIGhvc3QgaG9sZCB0YWJsZSB3b3JrcyAqLwor
IAlNVVRFWF9FTlRFUigmcnhfc3RhdHNfbXV0ZXgpOyAgIC8qIHByb3RlY3RzIHJ4aV9wdGhy
ZWFkX2hpbnVtICovIAorIAkrK3J4aV9wdGhyZWFkX2hpbnVtOworIAlwdGhyZWFkX3NldHNw
ZWNpZmljKHJ4X3RocmVhZF9pZF9rZXksICh2b2lkICopcnhpX3B0aHJlYWRfaGludW0pOwor
IAlNVVRFWF9FWElUKCZyeF9zdGF0c19tdXRleCk7CisgCVZpY2VMb2coMCwoIlNldCB0aHJl
YWQgaWQgJWQgZm9yICclcydcbiIsIHB0aHJlYWRfZ2V0c3BlY2lmaWMocnhfdGhyZWFkX2lk
X2tleSksIHMpKTsKKyAjZW5kaWYKKyB9CiAgCiAgLyogVGhpcyBMV1AgZG9lcyB0aGluZ3Mg
cm91Z2hseSBldmVyeSA1IG1pbnV0ZXMgKi8KICBzdGF0aWMgRml2ZU1pbnV0ZUNoZWNrTFdQ
KCkKKioqKioqKioqKioqKioqCioqKiA2NDIsNjQ3ICoqKioKLS0tIDY1NCw2NjAgLS0tLQog
ICAgICBjaGFyIHRidWZmZXJbMzJdOwogIAogICAgICBWaWNlTG9nKDEsICgiU3RhcnRpbmcg
Zml2ZSBtaW51dGUgY2hlY2sgcHJvY2Vzc1xuIikpOworIAlzZXRUaHJlYWRJZCgiRml2ZU1p
bnV0ZUNoZWNrTFdQIik7CiAgICAgIHdoaWxlICgxKSB7CiAgI2lmZGVmIEFGU19QVEhSRUFE
X0VOVgogIAlzbGVlcChmaXZlbWludXRlcyk7CioqKioqKioqKioqKioqKgoqKiogNjgwLDY4
NSAqKioqCi0tLSA2OTMsNjk5IC0tLS0KICAKICB7CiAgICAgIFZpY2VMb2coMSwgKCJTdGFy
dGluZyBIb3N0IGNoZWNrIHByb2Nlc3NcbiIpKTsKKyAJc2V0VGhyZWFkSWQoIkhvc3RDaGVj
a0xXUCIpOwogICAgICB3aGlsZSgxKSB7CiAgI2lmZGVmIEFGU19QVEhSRUFEX0VOVgogIAlz
bGVlcChmaXZlbWludXRlcyk7CioqKiBvcGVuYWZzL3NyYy9yeC9yeF9nbG9iYWxzLmgub3Jp
ZwlXZWQgRGVjIDEzIDIyOjQxOjM4IDIwMDAKLS0tIG9wZW5hZnMvc3JjL3J4L3J4X2dsb2Jh
bHMuaAlNb24gRGVjIDE2IDExOjMyOjE5IDIwMDIKKioqKioqKioqKioqKioqCioqKiAzNzUs
MzgwICoqKioKLS0tIDM3NSwzODQgLS0tLQogIAogICNpZiBkZWZpbmVkKEFGU19QVEhSRUFE
X0VOVikKICBFWFQgcHRocmVhZF9rZXlfdCByeF90aHJlYWRfaWRfa2V5OworIC8qIGtlZXAg
dHJhY2sgb2YgcHRocmVhZCBudW1iZXJzCisgCXByb3RlY3RlZCBieSByeF9zdGF0c19tdXRl
eCwgZXhjZXB0IGluIHJ4X0luaXQoKSBiZWZvcmUgbXV0ZXggZXhpc3RzICEhCisgICovCisg
RVhUIGludCByeGlfcHRocmVhZF9oaW51bSBJTklUKDApOwogICNlbmRpZgogIAogICNpZiBk
ZWZpbmVkKFJYX0VOQUJMRV9MT0NLUykKKioqIG9wZW5hZnMvc3JjL3J4L3J4X3B0aHJlYWQu
Yy5vcmlnCVRodSBBdWcgIDEgMDA6MzY6MTEgMjAwMgotLS0gb3BlbmFmcy9zcmMvcngvcnhf
cHRocmVhZC5jCU1vbiBEZWMgMTYgMTE6MzE6MTkgMjAwMgoqKioqKioqKioqKioqKioKKioq
IDEzMywxMzggKioqKgotLS0gMTMzLDE0MSAtLS0tCiAgCXByaW50ZigiVW5hYmxlIHRvIENy
ZWF0ZSBSeCBzZXJ2ZXIgdGhyZWFkXG4iKTsKICAJZXhpdCgxKTsKICAgICAgfQorIAlNVVRF
WF9FTlRFUigmcnhfc3RhdHNfbXV0ZXgpOworIAkrK3J4aV9wdGhyZWFkX2hpbnVtOworIAlN
VVRFWF9FWElUKCZyeF9zdGF0c19tdXRleCk7CiAgICAgIEFGU19TSUdTRVRfUkVTVE9SRSgp
OwogIH0KICAKKioqKioqKioqKioqKioqCioqKiAzMzAsMzM1ICoqKioKLS0tIDMzMywzNDEg
LS0tLQogIAlwcmludGYoIlVuYWJsZSB0byBjcmVhdGUgUnggZXZlbnQgaGFuZGxpbmcgdGhy
ZWFkXG4iKTsKICAJZXhpdCgxKTsKICAgICAgfQorIAlNVVRFWF9FTlRFUigmcnhfc3RhdHNf
bXV0ZXgpOworIAkrK3J4aV9wdGhyZWFkX2hpbnVtOworIAlNVVRFWF9FWElUKCZyeF9zdGF0
c19tdXRleCk7CiAgICAgIEFGU19TSUdTRVRfUkVTVE9SRSgpOwogIAogICAgICBhc3NlcnQo
cHRocmVhZF9tdXRleF9sb2NrKCZsaXN0ZW5lcl9tdXRleCk9PTApOwoqKioqKioqKioqKioq
KioKKioqIDM3MSwzNzYgKioqKgotLS0gMzc3LDM4MyAtLS0tCiAgCXByaW50ZigiVW5hYmxl
IHRvIGNyZWF0ZSBzb2NrZXQgbGlzdGVuZXIgdGhyZWFkXG4iKTsKICAJZXhpdCgxKTsKICAg
ICAgfQorIAkrK3J4aV9wdGhyZWFkX2hpbnVtOwogICAgICBBRlNfU0lHU0VUX1JFU1RPUkUo
KTsKICAgICAgcmV0dXJuIDA7CiAgfQo=
--------------070703000104080908030704--