Versions in this module Expand all Collapse all v1 v1.0.0 May 30, 2023 Changes in this version + const BACKING_FILE_OFFSET + const BDRV_BLOCK_ALLOCATED + const BDRV_BLOCK_DATA + const BDRV_BLOCK_EOF + const BDRV_BLOCK_OFFSET_VALID + const BDRV_BLOCK_RAW + const BDRV_BLOCK_RECURSE + const BDRV_BLOCK_ZERO + const BDRV_O_ALLOW_RDWR + const BDRV_O_AUTO_RDONLY + const BDRV_O_CACHE_MASK + const BDRV_O_CHECK + const BDRV_O_COPY_ON_READ + const BDRV_O_CREATE + const BDRV_O_INACTIVE + const BDRV_O_IO_URING + const BDRV_O_NATIVE_AIO + const BDRV_O_NOCACHE + const BDRV_O_NO_BACKING + const BDRV_O_NO_FLUSH + const BDRV_O_NO_IO + const BDRV_O_NO_SHARE + const BDRV_O_PROTOCOL + const BDRV_O_RDWR + const BDRV_O_RESIZE + const BDRV_O_SNAPSHOT + const BDRV_O_TEMPORARY + const BDRV_O_UNMAP + const BDRV_REQ_COPY_ON_READ + const BDRV_REQ_FUA + const BDRV_REQ_MASK + const BDRV_REQ_MAY_UNMAP + const BDRV_REQ_NO_FALLBACK + const BDRV_REQ_NO_WAIT + const BDRV_REQ_PREFETCH + const BDRV_REQ_SERIALISING + const BDRV_REQ_WRITE_COMPRESSED + const BDRV_REQ_WRITE_UNCHANGED + const BDRV_REQ_ZERO_WRITE + const BDRV_SECTOR_BITS + const BDRV_SECTOR_SIZE + const DEFAULT_ALIGNMENT + const DEFAULT_CLUSTER_BITS + const DEFAULT_CLUSTER_SIZE + const DEFAULT_L2_CACHE + const DEFAULT_MAX_TRANSFER + const DEFAULT_REFCOUNT_TABLE_CLUSTERS + const DEFAULT_SECTOR_SIZE + const INV_OFFSET + const IOV_MAX + const L1E_OFFSET_MASK + const L1E_SIZE + const L1_TABLE_OFFSET + const L1_TABLE_SIZE + const L2E_OFFSET_MASK + const L2E_SIZE_EXTENDED + const L2E_SIZE_NORMAL + const MAX_BOUNCE_BUFFER + const MAX_QCOW2_SIZE + const Max_WRITE_ZEROS + const OPT_BACKING + const OPT_DATAFILE + const OPT_FILENAME + const OPT_FMT + const OPT_L2CACHESIZE + const OPT_SIZE + const OPT_SUBCLUSTER + const PERM_ALL + const PERM_READ + const PERM_READABLE + const PERM_RESIZE + const PERM_WRITABLE + const PERM_WRITE + const QCOW2_AUTOCLEAR_BITMAPS + const QCOW2_AUTOCLEAR_BITMAPS_BITNR + const QCOW2_AUTOCLEAR_DATA_FILE_RAW + const QCOW2_AUTOCLEAR_DATA_FILE_RAW_BITNR + const QCOW2_AUTOCLEAR_MASK + const QCOW2_CLUSTER_COMPRESSED + const QCOW2_CLUSTER_NORMAL + const QCOW2_CLUSTER_UNALLOCATED + const QCOW2_CLUSTER_ZERO_ALLOC + const QCOW2_CLUSTER_ZERO_PLAIN + const QCOW2_CRYPT_METHOD + const QCOW2_DISCARD_ALWAYS + const QCOW2_DISCARD_MAX + const QCOW2_DISCARD_NEVER + const QCOW2_DISCARD_OTHER + const QCOW2_DISCARD_REQUEST + const QCOW2_DISCARD_SNAPSHOT + const QCOW2_EXT_MAGIC_DATA_FILE + const QCOW2_INCOMPAT_COMPRESSION + const QCOW2_INCOMPAT_COMPRESSION_BITNR + const QCOW2_INCOMPAT_CORRUPT + const QCOW2_INCOMPAT_CORRUPT_BITNR + const QCOW2_INCOMPAT_DATA_FILE + const QCOW2_INCOMPAT_DATA_FILE_BITNR + const QCOW2_INCOMPAT_DIRTY + const QCOW2_INCOMPAT_DIRTY_BITNR + const QCOW2_INCOMPAT_EXTL2 + const QCOW2_INCOMPAT_EXTL2_BITNR + const QCOW2_INCOMPAT_MASK + const QCOW2_REFCOUNT_ORDER + const QCOW2_SUBCLUSTER_COMPRESSED + const QCOW2_SUBCLUSTER_INVALID + const QCOW2_SUBCLUSTER_NORMAL + const QCOW2_SUBCLUSTER_UNALLOCATED_ALLOC + const QCOW2_SUBCLUSTER_UNALLOCATED_PLAIN + const QCOW2_SUBCLUSTER_ZERO_ALLOC + const QCOW2_SUBCLUSTER_ZERO_PLAIN + const QCOW2_VERSION2 + const QCOW2_VERSION3 + const QCOW_EXTL2_SUBCLUSTERS_PER_CLUSTER + const QCOW_L2_BITMAP_ALL_ALLOC + const QCOW_L2_BITMAP_ALL_ZEROES + const QCOW_MAX_REFTABLE_SIZE + const QCOW_OFLAG_COMPRESSED + const QCOW_OFLAG_COPIED + const QCOW_OFLAG_ZERO + const REFCOUNT_TABLE_OFFSET + const REFCOUNT_TABLE_SIZE + const REFTABLE_ENTRY_SIZE + const REFT_OFFSET_MASK + const SIZE_INT + const SIZE_UINT32 + const SIZE_UINT64 + const TYPE_QCOW2 + const TYPE_QCOW2_NAME + const TYPE_RAW + const TYPE_RAW_NAME + var ERR_E2BIG = syscall.E2BIG + var ERR_EAGAIN = syscall.EAGAIN + var ERR_EFBIG = syscall.EFBIG + var ERR_EINTR = syscall.EINTR + var ERR_EINVAL = syscall.EINVAL + var ERR_EIO = syscall.EIO + var ERR_ENOSPC = syscall.ENOSPC + var ERR_ENOTSUP = syscall.ENOTSUP + var Err_IdxOutOfRange = fmt.Errorf("index is out of range") + var Err_IncompleteParameters = fmt.Errorf("incomplete parameters") + var Err_L2Alloc = fmt.Errorf("allocate l2 table fails") + var Err_Misaligned = fmt.Errorf("misaligned") + var Err_NoDriverFound = fmt.Errorf("no driver found") + var Err_NoReadPerm = fmt.Errorf("no read permission") + var Err_NoWritePerm = fmt.Errorf("no write permission") + var Err_NullObject = fmt.Errorf("null object") + var Err_RefcountAlloc = fmt.Errorf("allocate refcount block fails") + var QCOW_MAGIC = []byte + var Supported_Types = map[string]FileType + func Assert(expr bool) + func Blk_Close(child *BdrvChild) + func Blk_Create(filename string, options map[string]any) error + func Blk_Discard(child *BdrvChild, offset uint64, bytes uint64) error + func Blk_Getlength(child *BdrvChild) (uint64, error) + func Blk_Info(child *BdrvChild, detail bool, pretty bool) string + func Blk_Pread(root *BdrvChild, offset uint64, buf []uint8, bytes uint64) (uint64, error) + func Blk_Pread_Object(child *BdrvChild, offset uint64, object any, size uint64) (uint64, error) + func Blk_Probe(filename string) (string, error) + func Blk_Pwrite(root *BdrvChild, offset uint64, buf []uint8, bytes uint64, ...) (uint64, error) + func Blk_Pwrite_Object(child *BdrvChild, offset uint64, object any, size uint64) (uint64, error) + func Blk_Pwrite_Zeroes(root *BdrvChild, offset uint64, bytes uint64, flags BdrvRequestFlags) (uint64, error) + type AioTaskFunc func(task *Qcow2Task) error + type AioTaskRoutineFunc func(ctx context.Context, taskList *SignalList) + type BDRVQcow2State struct + AioTaskList *SignalList + AioTaskRoutine AioTaskRoutineFunc + AutoclearFeatures uint64 + CacheDiscards bool + ClusterAllocs *list.List + ClusterBits uint32 + ClusterOffsetMask uint64 + ClusterSize uint32 + CompatibleFeatures uint64 + DataFile *BdrvChild + DiscardPassthrough [QCOW2_DISCARD_MAX]bool + Discards *list.List + Flags int + FreeByteOffset uint64 + FreeClusterIndex uint64 + IncompatibleFeatures uint64 + L1Size uint32 + L1Table []uint64 + L1TableOffset uint64 + L2Bits uint32 + L2Size uint32 + L2SliceSize int + L2TableCache *Qcow2Cache + L2eOffsetMask uint64 + Lock *sync.Mutex + MaxRefcountTableIndex uint32 + QcowVersion int + RefcountBlockBits uint32 + RefcountBlockCache *Qcow2Cache + RefcountBlockSize uint32 + RefcountTable []uint64 + RefcountTableOffset uint64 + RefcountTableSize uint32 + SubclusterBits uint64 + SubclusterSize uint64 + SubclustersPerCluster uint64 + func (s *BDRVQcow2State) Qlock() + func (s *BDRVQcow2State) Qunlock() + type BDRVRawState struct + BufAlign uint64 + File *os.File + OpenFlags int + Perm uint64 + SharedPerm uint64 + type BdrvChild struct + func Blk_Open(filename string, options map[string]any, flags int) (*BdrvChild, error) + func (child *BdrvChild) GetBS() *BlockDriverState + func (child *BdrvChild) SetBS(bs *BlockDriverState) + type BdrvRequestFlags int + type BdrvRequestPadding struct + Buf []uint8 + BufLen uint64 + Head uint64 + LocalQiov QEMUIOVector + MergeReads bool + Tail uint64 + TailBuf []uint8 + type Bdrv_Block_Status_Func func(bs *BlockDriverState, want_zero bool, offset uint64, bytes uint64, ...) (uint64, error) + type Bdrv_Close_Func func(bs *BlockDriverState) + type Bdrv_Copy_Range_From_Func func(bs *BlockDriverState, src *BdrvChild, srcOffset uint64, dst *BdrvChild, ...) error + type Bdrv_Copy_Range_To_Func func(bs *BlockDriverState, src *BdrvChild, srcOffset uint64, dst *BdrvChild, ...) error + type Bdrv_Create_Func func(filename string, options map[string]any) error + type Bdrv_Flush_Func func(bs *BlockDriverState) error + type Bdrv_Flush_To_Disk_Func func(bs *BlockDriverState) error + type Bdrv_Flush_To_Os_Func func(bs *BlockDriverState) error + type Bdrv_Getlength_Func func(bs *BlockDriverState) (uint64, error) + type Bdrv_Open_Func func(filename string, options map[string]any, flags int) (*BlockDriverState, error) + type Bdrv_Pdiscard_Func func(bs *BlockDriverState, offset uint64, bytes uint64) error + type Bdrv_Preadv_Func func(bs *BlockDriverState, offset uint64, bytes uint64, qiov *QEMUIOVector, ...) error + type Bdrv_Preadv_Part_Func func(bs *BlockDriverState, offset uint64, bytes uint64, qiov *QEMUIOVector, ...) error + type Bdrv_Pwrite_Zeroes_Func func(bs *BlockDriverState, offset uint64, bytes uint64, flags BdrvRequestFlags) error + type Bdrv_Pwritev_Func func(bs *BlockDriverState, offset uint64, bytes uint64, qiov *QEMUIOVector, ...) error + type Bdrv_Pwritev_Part_Func func(bs *BlockDriverState, offset uint64, bytes uint64, qiov *QEMUIOVector, ...) error + type BlockDriver struct + FormatName string + InstanceSize int + IsFormat bool + SupportBacking bool + type BlockDriverState struct + Drv *BlockDriver + InFlight uint64 + InheritsFrom *BlockDriverState + MaxTransfer uint32 + OpenFlags int + PdiscardAlignment uint32 + RequestAlignment uint32 + SupportedReadFlags uint64 + SupportedWriteFlags uint64 + SupportedZeroFlags uint64 + TotalSectors uint64 + func (bs *BlockDriverState) Info(detail bool, pretty bool) string + type BlockInfo struct + BakcingFileChain []string + ClusterSize uint32 + DataFile string + DiskSize uint64 + ExtendedL2 bool + FileFormat string + RefcountBits uint16 + Statistic *BlockStatistic + VirtualSize uint64 + type BlockStatistic struct + DataBlocks uint64 + HeadBlocks uint64 + L1Blocks uint64 + L2Blocks uint64 + RecountBlocks uint64 + RefcountTableBlocks uint64 + TotalBlocks uint64 + type FileType int + type Get_Refcount_Func func(refcountArray unsafe.Pointer, index uint64) uint16 + type QCow2ClusterType int + type QCow2SubclusterType int + type QCowExtension struct + Length uint32 + Magic uint32 + type QCowHeader struct + AutoclearFeatures uint64 + BackingFileOffset uint64 + BackingFileSize uint32 + ClusterBits uint32 + CompatibleFeatures uint64 + CompressionType uint8 + CryptMethod uint32 + HeaderLength uint32 + IncompatibleFeatures uint64 + L1Size uint32 + L1TableOffset uint64 + Magic uint32 + NbSnapshots uint32 + Padding [7]uint8 + RefcountOrder uint32 + RefcountTableClusters uint32 + RefcountTableOffset uint64 + Size uint64 + SnapshotsOffset uint64 + Version uint32 + type QCowL2Meta struct + AllocOffset uint64 + CowEnd Qcow2COWRegion + CowStart Qcow2COWRegion + DataQiov *QEMUIOVector + DataQiovOffset uint64 + KeepOldClusters bool + NbClusters int + Next *QCowL2Meta + NextInFlight *list.Element + Offset uint64 + SkipCow bool + type QEMUIOVector struct + func New_QEMUIOVector() *QEMUIOVector + type Qcow2COWRegion struct + NbBytes uint64 + Offset uint64 + type Qcow2Cache struct + type Qcow2CachedTable struct + type Qcow2DiscardRegion struct + type Qcow2DiscardType int + type Qcow2Task struct + type Set_Refcount_Func func(refcountArray unsafe.Pointer, index uint64, value uint16) + type SignalList struct + func NewSignalList() *SignalList + func (l *SignalList) Pop() any + func (l *SignalList) Push(ele any)