b04db7f630
Conditionalize the Python 2 subpackage and don't build it on EL > 7 and Fedora > 28 (mhroncok) Add experimental support for NVDIMM. (vtrefny)
70 lines
3.0 KiB
Diff
70 lines
3.0 KiB
Diff
From 5251f696f0bd8a68efde2df7c4dc948c4494ac60 Mon Sep 17 00:00:00 2001
|
|
From: Vojtech Trefny <vtrefny@redhat.com>
|
|
Date: Wed, 7 Feb 2018 15:00:25 +0100
|
|
Subject: [PATCH 5/7] Add populator helper for NVDIMM namespaces
|
|
|
|
Helper for adding block-like NVDIMM namespaces to the devicetree.
|
|
---
|
|
blivet/populator/helpers/__init__.py | 2 +-
|
|
blivet/populator/helpers/disk.py | 27 ++++++++++++++++++++++++++-
|
|
2 files changed, 27 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/blivet/populator/helpers/__init__.py b/blivet/populator/helpers/__init__.py
|
|
index 861426c6..dd23475a 100644
|
|
--- a/blivet/populator/helpers/__init__.py
|
|
+++ b/blivet/populator/helpers/__init__.py
|
|
@@ -6,7 +6,7 @@ from .formatpopulator import FormatPopulator
|
|
|
|
from .btrfs import BTRFSFormatPopulator
|
|
from .boot import AppleBootFormatPopulator, EFIFormatPopulator, MacEFIFormatPopulator
|
|
-from .disk import DiskDevicePopulator, iScsiDevicePopulator, FCoEDevicePopulator, MDBiosRaidDevicePopulator, DASDDevicePopulator, ZFCPDevicePopulator
|
|
+from .disk import DiskDevicePopulator, iScsiDevicePopulator, FCoEDevicePopulator, MDBiosRaidDevicePopulator, DASDDevicePopulator, ZFCPDevicePopulator, NVDIMMNamespaceDevicePopulator
|
|
from .disklabel import DiskLabelFormatPopulator
|
|
from .dm import DMDevicePopulator
|
|
from .dmraid import DMRaidFormatPopulator
|
|
diff --git a/blivet/populator/helpers/disk.py b/blivet/populator/helpers/disk.py
|
|
index e2757b12..ae4a7d28 100644
|
|
--- a/blivet/populator/helpers/disk.py
|
|
+++ b/blivet/populator/helpers/disk.py
|
|
@@ -28,7 +28,7 @@ from gi.repository import BlockDev as blockdev
|
|
from ... import udev
|
|
from ... import util
|
|
from ...devices import DASDDevice, DiskDevice, FcoeDiskDevice, iScsiDiskDevice
|
|
-from ...devices import MDBiosRaidArrayDevice, ZFCPDiskDevice
|
|
+from ...devices import MDBiosRaidArrayDevice, ZFCPDiskDevice, NVDIMMNamespaceDevice
|
|
from ...devices import device_path_to_name
|
|
from ...storage_log import log_method_call
|
|
from .devicepopulator import DevicePopulator
|
|
@@ -214,3 +214,28 @@ class ZFCPDevicePopulator(DiskDevicePopulator):
|
|
|
|
log.info("%s is a zfcp device", udev.device_get_name(self.data))
|
|
return kwargs
|
|
+
|
|
+
|
|
+class NVDIMMNamespaceDevicePopulator(DiskDevicePopulator):
|
|
+ priority = 20
|
|
+
|
|
+ _device_class = NVDIMMNamespaceDevice
|
|
+
|
|
+ @classmethod
|
|
+ def match(cls, data):
|
|
+ return (super(NVDIMMNamespaceDevicePopulator, NVDIMMNamespaceDevicePopulator).match(data) and
|
|
+ udev.device_is_nvdimm_namespace(data))
|
|
+
|
|
+ def _get_kwargs(self):
|
|
+ kwargs = super(NVDIMMNamespaceDevicePopulator, self)._get_kwargs()
|
|
+
|
|
+ from ...static_data import nvdimm
|
|
+ ninfo = nvdimm.get_namespace_info(self.data.get("DEVNAME"))
|
|
+
|
|
+ kwargs["mode"] = blockdev.nvdimm_namespace_get_mode_str(ninfo.mode)
|
|
+ kwargs["devname"] = ninfo.dev
|
|
+ kwargs["uuid"] = ninfo.uuid
|
|
+ kwargs["sector_size"] = ninfo.sector_size
|
|
+
|
|
+ log.info("%s is an NVDIMM namespace device", udev.device_get_name(self.data))
|
|
+ return kwargs
|
|
--
|
|
2.14.3
|
|
|