HEX
Server: Apache
System: Linux server.enlacediseno.com 4.18.0-553.62.1.el8_10.x86_64 #1 SMP Wed Jul 16 04:08:25 EDT 2025 x86_64
User: maor (1069)
PHP: 7.3.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/grains/mdadm.py
"""
Detect MDADM RAIDs
"""

import logging

import salt.utils.files

log = logging.getLogger(__name__)


def mdadm():
    """
    Return list of mdadm devices
    """
    devices = set()
    try:
        with salt.utils.files.fopen("/proc/mdstat", "r") as mdstat:
            for line in mdstat:
                line = salt.utils.stringutils.to_unicode(line)
                if line.startswith("Personalities : "):
                    continue
                if line.startswith("unused devices:"):
                    continue
                if " : " in line:
                    devices.add(line.split(" : ")[0])
    except OSError:
        return {}

    devices = sorted(devices)
    if devices:
        log.trace("mdadm devices detected: %s", ", ".join(devices))

    return {"mdadm": devices}