I think we have a rather bad race in the logmanager read completion
hadnling. See jfs_logmgr.c:lbmRead():
generic_make_request(READ, &bp->l_bh);
run_task_queue(&tq_disk);
wait_event(bp->l_ioevent, (bp->l_flag != lbmREAD));
lbmREAD get's cleared by lbmIODone without any atomicy guarntees.
A possible soloution might be to use bitops on ->l_flag, but that
would make lbmWrite rather ugly.
I'd prefer to always take the LCACHE_LOCK for ->l_flag manipulations.
Comments?
Christoph
--
Of course it doesn't work. We've performed a software upgrade.
_______________________________________________
Jfs-discussion mailing list
[EMAIL PROTECTED]
http://www-124.ibm.com/developerworks/oss/mailman/listinfo/jfs-discussion