Spinlocks
Fixed major blockdev read error

Had an issue where it wouldn't correctly read from blockdevs if the offset
wasn't block-aligned and the count was less than the size of a block