uniform block device interface implemented