block: refactor put_io_context