block: make ioc get/put interface more conventional and fix race on alloction