Lines Matching full:fd
101 def __init__(self, fd=None, offset=None, data=None): argument
104 1. Specify data. fd and offset must be None.
105 2. Specify fd and offset, data must be None. offset may be omitted
106 in this case, than current position of fd is used.
109 assert fd is not None
112 fd.seek(offset)
113 data = fd.read(buf_size)
115 assert fd is None and offset is None
148 def __init__(self, fd, cluster_size): argument
149 super().__init__(fd=fd)
152 fd.seek(8 - tail, 1)
153 position = fd.tell()
155 self.read_bitmap_directory(fd)
156 fd.seek(position)
158 def read_bitmap_directory(self, fd): argument
159 fd.seek(self.bitmap_directory_offset)
161 [Qcow2BitmapDirEntry(fd, cluster_size=self.cluster_size)
188 def __init__(self, fd, cluster_size): argument
189 super().__init__(fd=fd)
192 fd.seek(self.extra_data_size, 1)
193 bitmap_name = fd.read(self.name_size)
198 fd.seek(padding, 1)
199 self.bitmap_table = Qcow2BitmapTable(fd=fd,
232 def __init__(self, fd): argument
233 super().__init__(fd=fd)
253 def __init__(self, fd, offset, nb_entries, cluster_size): argument
255 position = fd.tell()
256 fd.seek(offset)
257 self.entries = [Qcow2BitmapTableEntry(fd) for _ in range(nb_entries)]
258 fd.seek(position)
298 def __init__(self, magic=None, length=None, data=None, fd=None, argument
301 Support both loading from fd and creation from user data.
302 For fd-based creation current position in a file will be used to read
315 if fd is None:
325 super().__init__(fd=fd)
327 self.obj = Qcow2BitmapExt(fd=fd, cluster_size=cluster_size)
331 self.data = fd.read(padded)
394 def __init__(self, fd): argument
395 super().__init__(fd=fd, offset=0)
400 fd.seek(self.header_length)
401 self.load_extensions(fd)
404 fd.seek(self.backing_file_offset)
405 self.backing_file = fd.read(self.backing_file_size)
417 def load_extensions(self, fd): argument
425 while fd.tell() < end:
426 ext = QcowHeaderExtension(fd=fd, cluster_size=self.cluster_size)
432 def update_extensions(self, fd): argument
434 fd.seek(self.header_length)
439 fd.write(buf)
440 fd.write(ex.data)
443 self.backing_file_offset = fd.tell()
444 fd.write(self.backing_file)
446 if fd.tell() > self.cluster_size:
449 def update(self, fd): argument
452 self.update_extensions(fd)
454 fd.seek(0)
458 fd.write(buf)