Manager of Linux Software RAID implemented through Multiple Devices driver.

Clone this repo:
  1. 52bead9 Create.c: fix uclibc build by Fabrice Fontaine · 2 weeks ago main master
  2. 256edae mdadm: Add README.md by Mariusz Tkaczyk · 5 weeks ago
  3. 21d6c5d mdadm: Add MAINTAINERS.md by Mariusz Tkaczyk · 5 weeks ago
  4. 275e5d2 mdadm: add CHANGELOG.md by Mariusz Tkaczyk · 5 weeks ago
  5. acb8f13 imsm: drive encryption policy implementation by Blazej Kucman · 5 weeks ago

mdadm is a utility used to create and manage software RAID devices implemented through Multiple devices driver (MD) in kernel. It supports following RAID metadata formats:

  • Linux native RAID:

    Known as native or native RAID. First and default metadata format. Metadata management is implemented in MD driver.

  • Matrix Storage Manager Support (no reference, metadata format documentation is proprietary).

    Known as IMSM. Metadata format developed and maintained by Intel® as a part of VROC solution. There are some functional differences between native and imsm. The most important difference is that the metadata is managed from userspace.

    CAUTION: imsm is compatible with Intel RST, however it is not officially supported. You are using it on your own risk.

  • Common RAID DDF Specification Revision

    IMPORTANT: DDF is in maintenance only mode. There is no active development around it. Please do not use it in new solutions.

How to Contribute

mdadm is hosted on kernel.org. You can access repository here.

It is maintained similarly to kernel, using mailing list. Patches must be send through email. Please familiarize with general kernel submitting patches documentation. Formatting, tags and commit message guidelines applies to mdadm.

Sending patches step-by-step

To maximize change of patches being taken, follow this instruction when submitting:

  1. Create possibly logically separated commits and generate patches:

    Use git format-patch --cover-letter --signoff -v <nr> to create patches:

    • --cover-letter can be skipped if it is only one patch;
    • --signoff adds sign-off tag;
    • -v <nr> indicates review revision number, sender should increment it before resending.
  2. Check style of every patch with kernel checkpatch script:

    It is important to keep same coding style that is why in mdadm kernel coding style is preferred. checkpath --no-tree <patch_file> can be used to verify patches. Following checkpatch issues can be ignored:

    • New typedefs.
    • comparing with True/False.
    • kernel MAINTAINERS file warning.
    • extern keyword in headers.
  3. Send patches using git send-mail --to=linux-raid@vger.kernel.org <cover-letter> <patch1> <patch2> (...)

Maintainers

It is good practice to add mdadm maintainers to recipients for patches:

Adding MD maintainers could be reasonable, especially if patches may affect MD driver:

Reviewers

mdadm utility is not part of kernel tree, so there is no certificated Reviewers list. Everyone can comment on mailing list, last decision (and merging) belongs to maintainers.

Minimal supported kernel version

We do not support kernel versions below v3.10. Please be aware that maintainers may remove workarounds and fixes for legacy issues.

License

It is released under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.