use block IO to read the magic and fix driver unload