diff options
-rw-r--r-- | rtslib/fabric.py | 7 | ||||
-rw-r--r-- | rtslib/root.py | 15 |
2 files changed, 16 insertions, 6 deletions
diff --git a/rtslib/fabric.py b/rtslib/fabric.py index b5cc4d9..885727e 100644 --- a/rtslib/fabric.py +++ b/rtslib/fabric.py @@ -152,8 +152,11 @@ class _BaseFabricModule(CFSNode): def _check_self(self): if not self.exists: - modprobe(self.kernel_module) - self._create_in_cfs_ine('any') + try: + self._create_in_cfs_ine('any') + except RTSLibError: + modprobe(self.kernel_module) + self._create_in_cfs_ine('any') super(_BaseFabricModule, self)._check_self() def has_feature(self, feature): diff --git a/rtslib/root.py b/rtslib/root.py index 083a2c2..b65825f 100644 --- a/rtslib/root.py +++ b/rtslib/root.py @@ -62,10 +62,17 @@ class RTSRoot(CFSNode): base kernel modules (tcm) ''' super(RTSRoot, self).__init__() - modprobe('configfs') - mount_configfs() - modprobe('target_core_mod') - self._create_in_cfs_ine('any') + try: + mount_configfs() + except RTSLibError: + modprobe('configfs') + mount_configfs() + + try: + self._create_in_cfs_ine('any') + except RTSLibError: + modprobe('target_core_mod') + self._create_in_cfs_ine('any') def _list_targets(self): self._check_self() |