Commits

mainzer committed a38e710682e
Added preliminary cache image parallel test, and fixes for several bugs exposed by this new test. In particular: 1) Cache image / R/O bug: In R/O case, dirty entries in the cache image must be inserted into the metadata cache marked clean so that the cache will not attempt to write them on close. However, this allowed the cache to evict these entries and later try to reload them. Fixed by adding code to prevent the eviction of such entries. 2) Several flush dependency / flush ordering bugs in PHDF5 3) With the version 2 superblock, it is now possible that there will be more than one entry in the metadata cache marked "flush me last". This broke the distributed metadata write code. Re-wrote this code to address this -- new code ignores "flush me last" and instead observes rings. Note that this checkin is preliminary -- need more parallel / cache image testing, and more investigation of the bugs exposed by same. Tested on Jelly, serial and parallel, debug and production.