Comments (5)
This is caused by NVMe multipath support. We'll need to add some logic to handle this. /dev/nvme0n1
is a virtual
path which can have 1 or more physical controllers. The other block devices for each of the redundant paths are "hidden".
More details here
from ledmon.
This is caused by NVMe multipath support. We'll need to add some logic to handle this.
/dev/nvme0n1
is avirtual
path which can have 1 or more physical controllers. The other block devices for each of the redundant paths are "hidden".
In this case I would check if we can report controller earlier, to avoid multipath specyfic paths but I don't know if it is possible and I don't have hardware to check:
/sys/devices/pci0000:e2/0000:e2:02.0/0000:e3:00.0/0000:e4:04.0/0000:ef:00.0 (Dell SSD)
/sys/devices/pci0000:64/0000:64:02.0/0000:65:00.0/0000:66:00.0/0000:67:00.0 (Dell SSD)
/sys/devices/pci0000:e2/0000:e2:02.0/0000:e3:00.0/0000:e4:00.0/0000:e5:00.0 (Dell SSD)
/sys/devices/pci0000:64/0000:64:02.0/0000:65:00.0/0000:66:04.0/0000:71:00.0 (Dell SSD)
Theoretically, if the controller will be reported for real NVME device, then problem should disappear (If I assumed correctly that these paths are NVMEs). We will need to do this anyway to hide duplicates.
I would prefer to not hide controllers but I understand that in this case it could not be possible.
from ledmon.
This is caused by NVMe multipath support. We'll need to add some logic to handle this.
/dev/nvme0n1
is avirtual
path which can have 1 or more physical controllers. The other block devices for each of the redundant paths are "hidden".In this case I would check if we can report controller earlier, to avoid multipath specyfic paths but I don't know if it is possible and I don't have hardware to check:
The issue is that the normal /dev/nvme0n1
is the "virtual" one. There is nothing in /dev/
that refers to the physical one. It can be seen in sysfs /sys/block/nvme0c0n1
but to figure that out in code is a little weird IMHO.
/sys/devices/pci0000:e2/0000:e2:02.0/0000:e3:00.0/0000:e4:04.0/0000:ef:00.0 (Dell SSD) /sys/devices/pci0000:64/0000:64:02.0/0000:65:00.0/0000:66:00.0/0000:67:00.0 (Dell SSD) /sys/devices/pci0000:e2/0000:e2:02.0/0000:e3:00.0/0000:e4:00.0/0000:e5:00.0 (Dell SSD) /sys/devices/pci0000:64/0000:64:02.0/0000:65:00.0/0000:66:04.0/0000:71:00.0 (Dell SSD)
Theoretically, if the controller will be reported for real NVME device, then problem should disappear (If I assumed correctly that these paths are NVMEs). We will need to do this anyway to hide duplicates.
All these paths are real NVMe. There are no duplicates as this system only has 1 path to each of the devices. I'm not sure if you can have multiple paths for directly attached PCI based NVMe devices. I would think this only applies if you're using NVMe-of. In that case I don't believe we can control the LED's anyways.
I would prefer to not hide controllers but I understand that in this case it could not be possible.
I don't think we need to hide anything yet.
from ledmon.
This is caused by NVMe multipath support. We'll need to add some logic to handle this.
/dev/nvme0n1
is avirtual
path which can have 1 or more physical controllers. The other block devices for each of the redundant paths are "hidden".In this case I would check if we can report controller earlier, to avoid multipath specyfic paths but I don't know if it is possible and I don't have hardware to check:
The issue is that the normal
/dev/nvme0n1
is the "virtual" one. There is nothing in/dev/
that refers to the physical one. It can be seen in sysfs/sys/block/nvme0c0n1
but to figure that out in code is a little weird IMHO.
You right, my bad, I was surprised by a huge list of controllers so first I wanted to make it smaller but it is not possible. Those links are pci devices (physical ones) and there are no nvme-subsystem entries. At first glance, I thought that there are duplicates on controller list (multiple links to the same nvme device ).
Let me review the change you proposed, I need to setup platform with MP drives to see how it will affect ledmon so I need few days.
from ledmon.
Should be addressed with: #167
from ledmon.
Related Issues (20)
- Weird behavior when both VMD and NPEM are inplace HOT 1
- Build for macos/bsd HOT 2
- Ledmon changes device name assigned after every loop. HOT 1
- ledctl: SGPIO EM not supported for /sys/devices/pci0000:80/0000:80:08.3/0000:84:00.0 HOT 7
- Error work ledmon/ledctl on Dell R540\R530 Perc h330 HOT 25
- Regex should be compiled during conf file parsing HOT 1
- Duplicated short parameter "c" for two options
- RPL + R680E not work HOT 5
- FIX possible memflood HOT 5
- LEDMON 1.0 HOT 3
- Ledctl: add command to retrieve best controller
- Remove not needed check in ibpi2str function
- Strange behavior with AMD SGPIO controller HOT 3
- Status of AMD Support HOT 27
- tests/runtests.sh failure when testing SES HOT 6
- Cannot locate multipathing nvme block device by ledctl in RHEL 9.2 HOT 2
- [ENHANCEMENT] Unify messaging for non-existent and not supported devices. HOT 1
- 1.0.0: build fails HOT 5
- 1.0 configure fails HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ledmon.