From 489587e35858f3a40742d54414ee2e1a35188d15 Mon Sep 17 00:00:00 2001
From: Christoph Hellwig <hch@lst.de>
Date: Wed, 23 Mar 2016 21:16:16 +0100
Subject: [PATCH] nvmet: load the nvmet module if not already loaded

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 nvmet/nvme.py | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/nvmet/nvme.py b/nvmet/nvme.py
index fffdb0e..c3cfa74 100644
--- a/nvmet/nvme.py
+++ b/nvmet/nvme.py
@@ -196,9 +196,28 @@ class CFSNode(object):
 class Root(CFSNode):
     def __init__(self):
         super(Root, self).__init__()
+
+        if not os.path.isdir(self.configfs_dir):
+            self._modprobe('nvmet')
+
+        if not os.path.isdir(self.configfs_dir):
+            raise CFSError("%s does not exist.  Giving up." %
+                self.configfs_dir)
+
         self._path = self.configfs_dir
         self._create_in_cfs('lookup')
 
+    def _modprobe(self, modname):
+        try:
+            from kmodpy import kmod
+
+            try:
+                kmod.Kmod().modprobe(modname, quiet=True)
+            except kmod.KmodError:
+                pass
+        except ImportError:
+            pass
+
     def _list_subsystems(self):
         self._check_self()
 
-- 
GitLab