17:21 <mulhern> Because, when I do setup(), whether or not Stratis shut down cleanly is kind of important. If not shutdown, dm devices belonging to pool are still hanging around when Stratis starts back up.
[using email since people aren't on irc atm]
We can't assume the entire stack is present, but we should be able to assume that if we go to create a DM device with a given name and it already exists, then we are recovering from a crash and can reuse the existing device. This gets back to https://github.com/stratis-storage/stratis-docs/issues/33, about specifying the format of DM names. For this, the dm names for all the different devices we use need to be specified, non-overlapping, and stable.
This was working in Froyo, see dmdevice.rs[1]. DmDevice::new() would only create/table_load a device with a given name after it checked it didn't exist. Otherwise it just returned the existing one. (Idempotency!...?)
I'll start adding some early thoughts on this to that GH issue.
Regards -- Andy
[1] https://github.com/agrover/froyo/blob/master/src/dmdevice.rs#L22
stratis-devel@lists.stg.fedorahosted.org