Improve vdsk_open():
- Use calloc(3) instead of malloc(3) so that the user context is always pre-initialized.
- Wrap the sequence of steps in a `do { ... } while (0)' block so that we can use break to exit. Introduce ctx as the variable to return and use it to determine success or failure.
With a single entry and a single exit, we can more easily add some
kind of tracing or logging in the future.