|
||
---|---|---|
clustermd_tests | ||
debian | ||
documentation | ||
misc | ||
systemd | ||
tests | ||
.gitignore | ||
Assemble.c | ||
bitmap.c | ||
bitmap.h | ||
Build.c | ||
CHANGELOG.md | ||
config.c | ||
COPYING | ||
coverity-gcc-hack.h | ||
crc32.c | ||
crc32.h | ||
crc32c.c | ||
Create.c | ||
Detail.c | ||
dlink.c | ||
dlink.h | ||
drive_encryption.c | ||
drive_encryption.h | ||
Dump.c | ||
Examine.c | ||
Grow.c | ||
Incremental.c | ||
INSTALL | ||
Kill.c | ||
lib.c | ||
MAINTAINERS.md | ||
Makefile | ||
Manage.c | ||
managemon.c | ||
mapfile.c | ||
maps.c | ||
md.4 | ||
md5.h | ||
md_p.h | ||
md_u.h | ||
mdadm.8.in | ||
mdadm.c | ||
mdadm.conf.5.in | ||
mdadm.h | ||
mdmon.8 | ||
mdmon.c | ||
mdmon.h | ||
mdopen.c | ||
mdstat.c | ||
monitor.c | ||
Monitor.c | ||
msg.c | ||
msg.h | ||
part.h | ||
platform-intel.c | ||
platform-intel.h | ||
policy.c | ||
probe_roms.c | ||
probe_roms.h | ||
pwgr.c | ||
Query.c | ||
raid5extend.c | ||
raid6check.8 | ||
raid6check.c | ||
ReadMe.c | ||
README.md | ||
restripe.c | ||
sg_io.c | ||
sha1.c | ||
sha1.h | ||
super-ddf.c | ||
super-gpt.c | ||
super-intel.c | ||
super-mbr.c | ||
super0.c | ||
super1.c | ||
swap_super.c | ||
sysfs.c | ||
test | ||
udev-md-clustered-confirm-device.rules | ||
udev-md-raid-arrays.rules | ||
udev-md-raid-assembly.rules | ||
udev-md-raid-creating.rules | ||
udev-md-raid-safe-timeouts.rules | ||
udev.c | ||
udev.h | ||
util.c | ||
uuid.c | ||
xmalloc.c |
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:
-
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:
-
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.
-
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.
-
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:
- Jes Sorensen jes@trained-monkey.org;
- Mariusz Tkaczyk mariusz.tkaczyk@linux.intel.com;
Adding MD maintainers could be reasonable, especially if patches may affect MD driver:
- Song Liu song@kernel.org;
- Yu Kuai yukuai3@huawei.com;
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.