From 5ff82cc9f1f556650b85751d1a4c0415d0c40895 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Nussbaumer?= <rn@google.com> Date: Tue, 8 May 2012 11:16:11 +0200 Subject: [PATCH] bdev: Add a guard to verify disk parameters are set MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: RenΓ© Nussbaumer <rn@google.com> Reviewed-by: Iustin Pop <iustin@google.com> --- lib/bdev.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/bdev.py b/lib/bdev.py index 452e51005..310ddf877 100644 --- a/lib/bdev.py +++ b/lib/bdev.py @@ -2653,6 +2653,16 @@ def _VerifyDiskType(dev_type): raise errors.ProgrammerError("Invalid block device type '%s'" % dev_type) +def _VerifyDiskParams(disk): + """Verifies if all disk parameters are set. + + """ + missing = set(constants.DISK_LD_DEFAULTS[disk.dev_type]) - set(disk.params) + if missing: + raise errors.ProgrammerError("Block device is missing disk parameters: %s" % + missing) + + def FindDevice(disk, children): """Search for an existing, assembled device. @@ -2688,6 +2698,7 @@ def Assemble(disk, children): """ _VerifyDiskType(disk.dev_type) + _VerifyDiskParams(disk) device = DEV_MAP[disk.dev_type](disk.physical_id, children, disk.size, disk.params) device.Assemble() @@ -2705,6 +2716,7 @@ def Create(disk, children): """ _VerifyDiskType(disk.dev_type) + _VerifyDiskParams(disk) device = DEV_MAP[disk.dev_type].Create(disk.physical_id, children, disk.size, disk.params) return device -- GitLab