Prevent opening datastore as read-write when it is already opened in read-only mode
Currently, metall prevents to open the same datastore as read-write twice at the same time. However, it allows to open a datastore as read-write even if it is already opened in read-only mode.
This causes issues/corruption when the read-writer actually writes. Metall should prevent this.
The desired behaviour would be, allow either:
- exactly one read-writer, no one else
- many readers, but no read-writer
Small snippet to reproduce:
{ // create datastore
metall::manager mgr{metall::create_only, path};
}
metall::manager mgr_ro{metall::open_read_only, path};
metall::manager mgr_rw{metall::open_only, path}; // this should fail
That's a good point. I'll work on that.
~~Thanks for merging my PR, would you mind creating a release?~~
Nevermind I found a bug, I will create a PR to fix it
https://github.com/LLNL/metall/pull/355
Hi @KIwabuchi, would you mind creating a new release now that all PRs are merged?
@liss-h I'm working on some code clean up now. I'll try to release a new version today.
Released a new version: https://github.com/LLNL/metall/releases/tag/v0.32
thanks