Use cast interface to obtain storage pointer instead of protected get_ptr()
Deepening level of calls exposes bug.

cinoutdep ini_ready takes lock when parent is stack frame, but
release is never called to release the lock.
Add initialization and cleanup of tags

This is preparatory code for other functionality.