Commit af195c9a by Karsa Zoltán István

cluster size and metadata cache

parent e52e3c02
...@@ -40,7 +40,7 @@ class Disk(object): ...@@ -40,7 +40,7 @@ class Disk(object):
CREATE_FORMATS = ['qcow2', 'raw'] CREATE_FORMATS = ['qcow2', 'raw']
def __init__(self, dir, name, format, type, size, def __init__(self, dir, name, format, type, size,
base_name, actual_size=0, cache_size=0): base_name, base_dir = None, actual_size=0, cluster_size=64):
# TODO: tests # TODO: tests
self.name = name self.name = name
self.dir = os.path.realpath(dir) self.dir = os.path.realpath(dir)
...@@ -56,6 +56,8 @@ class Disk(object): ...@@ -56,6 +56,8 @@ class Disk(object):
self.size = None self.size = None
self.actual_size = actual_size self.actual_size = actual_size
self.base_name = base_name self.base_name = base_name
self.base_dir = base_dir if base_dir is not None else self.dir
self.cluster_size = cluster_size
@property @property
def checksum(self, blocksize=65536): def checksum(self, blocksize=65536):
...@@ -94,7 +96,7 @@ class Disk(object): ...@@ -94,7 +96,7 @@ class Disk(object):
def get_base(self): def get_base(self):
"""Get absolute path for disk's base image.""" """Get absolute path for disk's base image."""
return os.path.realpath(self.dir + '/' + self.base_name) return os.path.realpath(self.base_dir + '/' + self.base_name)
def __str__(self): def __str__(self):
return '%s %s %s %s' % (self.get_path(), self.format, return '%s %s %s %s' % (self.get_path(), self.format,
...@@ -169,6 +171,7 @@ class Disk(object): ...@@ -169,6 +171,7 @@ class Disk(object):
cmdline = ['qemu-img', cmdline = ['qemu-img',
'create', 'create',
'-f', self.format, '-f', self.format,
'-o', f"cluster_size={int(self.cluster_size)}K",
self.get_path(), self.get_path(),
str(self.size)] str(self.size)]
logging.info("Create file: %s " % cmdline) logging.info("Create file: %s " % cmdline)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment