Skip to content

Commit

Permalink
Adapt to the new libblockdev initialization API
Browse files Browse the repository at this point in the history
In version 1.0 the libblockdev library changes the initialization functions a
bit and thanks to that we may simplify our code.
  • Loading branch information
vpodzime committed May 25, 2015
1 parent 789bc28 commit 5b6ec37
Showing 1 changed file with 6 additions and 13 deletions.
19 changes: 6 additions & 13 deletions blivet/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,20 +67,13 @@ def cb(self, exn):
from gi.repository import BlockDev as blockdev
_REQUESTED_PLUGIN_NAMES = set(("lvm", "btrfs", "swap", "crypto", "loop", "mdraid", "mpath", "dm"))
_requested_plugins = blockdev.plugin_specs_from_names(_REQUESTED_PLUGIN_NAMES)
if not blockdev.is_initialized():
try:
blockdev.try_init(require_plugins=_requested_plugins, log_func=log_bd_message)
except GLib.GError:
pass
try:
succ, avail_plugs = blockdev.try_reinit(require_plugins=_requested_plugins, reload=False, log_func=log_bd_message)
except GLib.GError as err:
raise RuntimeError("Failed to intialize the libblockdev library: %s" % err)
else:
avail_plugs = set(blockdev.get_available_plugin_names())
if avail_plugs != _REQUESTED_PLUGIN_NAMES:
try:
blockdev.reinit(require_plugins=_requested_plugins, reload=False, log_func=log_bd_message)
except GLib.GError:
pass

avail_plugs = set(blockdev.get_available_plugin_names())
avail_plugs = set(avail_plugs)

missing_plugs = _REQUESTED_PLUGIN_NAMES - avail_plugs
for p in missing_plugs:
log.info("Failed to load plugin %s", p)
Expand Down

0 comments on commit 5b6ec37

Please sign in to comment.