$ git log --pretty=format:'%h %s (%cs)%d'
52bead95 Create.c: fix uclibc build (2024-04-15)
(HEAD -> master, main)
256edaef mdadm: Add README.md (2024-04-08)
21d6c5d9 mdadm: Add MAINTAINERS.md (2024-04-08)
275e5d2f mdadm: add CHANGELOG.md (2024-04-08)
acb8f13b imsm: drive encryption policy implementation (2024-04-02)
bf62ed5d imsm: print disk encryption information (2024-04-02)
336e13fc Add key ENCRYPTION_NO_VERIFY to conf (2024-04-02)
df38df30 Add reading SATA encryption information (2024-04-02)
cc484068 Add reading Opal NVMe encryption information (2024-04-02)
cc75b0fa mdadm: Move pr_vrb define to mdadm.h (2024-04-02)
...
$ git cat-file blob HEAD:README.md
**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](https://raid.wiki.kernel.org/index.php/RAID_superblock_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](https://www.snia.org/sites/default/files/SNIA_DDF_Technical_Position_v2.0.pdf)
**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](https://kernel.org/). You can access repository
[here](https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git).
It is maintained similarly to kernel, using *mailing list*. Patches must be send through email.
Please familiarize with general kernel
[submitting patches](https://www.kernel.org/doc/html/v4.17/process/submitting-patches.html)
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](https://docs.kernel.org/dev-tools/checkpatch.html) script:
It is important to keep same coding style that is why in **mdadm**
[kernel coding style](https://www.kernel.org/doc/html/v4.10/process/coding-style.html)
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:
- 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**.
# heads (aka `branches'):
$ git for-each-ref --sort=-creatordate refs/heads \
--format='%(HEAD) %(refname:short) %(subject) (%(creatordate:short))'
main Create.c: fix uclibc build (2024-04-15)
* master Create.c: fix uclibc build (2024-04-15)
mdadm-3.3.x Release mdadm-3.3.4 (2015-08-03)
cluster Reuse calc_bitmap_size to reduce code size (2015-06-17)
mdadm-3.2.x Release 3.2.6 - stability release (2012-10-25)
data_offset mdadm: Fix Segmentation fault. (2012-06-05)
r10-reshape super1: reserve at least 2 chunks for reshape headroom. (2012-05-09)
devel-3.3 Bad block log (2011-07-27)
devel-3.2 open_dev_excl: allow device to be read-only. (2011-03-24)
hotunplug Update udev rules for hotplug support. (2010-04-09)
...
# tags:
$ git for-each-ref --sort=-creatordate refs/tags \
--format='%(refname:short) %(subject) (%(creatordate:short))'
mdadm-4.3 Release mdadm-4.3 (2024-02-15) tar.gz
mdadm-4.2 Release mdadm-4.2 (2021-12-30) tar.gz
mdadm-4.2-rc3 mdadm-4.2-rc3 (2021-11-03) tar.gz
mdadm-4.2-rc2 mdadm-4.2-rc2 (2021-08-02) tar.gz
mdadm-4.2-rc1 Release mdadm-4.2-rc1 (2021-04-14) tar.gz
mdadm-4.1 mdadm-4.1 (2018-10-01) tar.gz
mdadm-4.1-rc2 mdadm-4.1-rc2 (2018-08-03) tar.gz
mdadm-4.1-rc1 mdadm-4.1-rc1 (2018-03-26) tar.gz
mdadm-4.0 mdadm-4.0 (2017-01-09) tar.gz
mdadm-3.4 mdadm-3.4 - feature release (2016-01-28) tar.gz
...
# associated public inboxes:
# (number on the left is used for dev purposes)
1661 linux-raid
108 lkml
27 linux-arm-kernel
26 qemu-devel
24 linux-devicetree
22 linux-block
21 dm-devel
20 netdev
19 u-boot
16 dpdk-dev
15 git
14 dri-devel
13 stable
12 linux-media
12 xen-devel
11 intel-gfx
10 linuxppc-dev
9 linux-mediatek
9 linux-fsdevel
9 linux-mm
9 alsa-devel
8 linux-wireless
8 linux-btrfs
7 linux-nfs
7 linux-scsi
7 linux-gpio
7 linux-ext4
7 buildroot
7 openembedded-core
6 bpf
6 linux-rdma
6 kvm
6 amd-gfx
6 linux-omap
5 linux-xfs
5 linux-acpi
5 netfilter-devel
5 linux-f2fs-devel
5 linux-arch
5 linux-rockchip
5 linux-s390
4 linux-mtd
4 linux-crypto
4 linux-cifs
4 linux-arm-msm
4 linux-mips
4 linux-pm
4 linux-kselftest
4 linux-clk
4 linux-iio
4 linux-trace-devel
4 linux-doc
4 linux-bcache
4 linux-tegra
4 ceph-devel
4 linux-sh
4 kernel-janitors
4 yocto-meta-freescale
4 openembedded-devel
4 ../../../../../igt-dev
3 linux-samsung-soc
3 linux-riscv
3 linux-nvme
3 linux-nvdimm
3 linux-iommu
3 linux-rtc
3 kvmarm
3 linux-bluetooth
3 linux-ide
3 util-linux
3 backports
3 linux-mmc
3 linux-api
3 nvdimm
3 iwd
3 yocto
3 yocto-toaster
3 yocto-meta-virtualization
3 intel-wired-lan
3 kexec
3 intel-xe
3 poky
3 linux-ia64
3 grub-devel
3 reiserfs-devel
3 ../../../../../fuego
2 linux-amlogic
2 linux-erofs
2 linux-snps-arc
2 fstests
2 linux-input
2 driverdev-devel
2 linux-usb
2 linux-renesas-soc
2 selinux
2 linux-parisc
2 linux-leds
2 linux-security-module
2 linux-pci
2 linux-modules
2 linux-rt-users
2 linux-serial
2 linux-watchdog
2 rcu
2 linux-i3c
2 linux-wpan
2 linux-man
2 linux-spi
2 linux-i2c
2 linux-sparse
2 lttng-dev
2 virtualization
2 linux-kbuild
2 linux-can
2 containers
2 platform-driver-x86
2 openbmc
2 linux-fbdev
2 linux-cxl
2 linux-perf-users
2 target-devel
2 ocfs2-devel
2 nouveau
2 sparclinux
2 linux-coco
2 regressions
2 ntfs3
2 fio
2 ltp
2 yocto-meta-arm
2 bitbake-devel
2 linux-patches
2 yocto-meta-ti
2 yocto-meta-arago
2 outreachy
2 openrisc
2 batman
2 linux-um
2 virtio-comment
2 ecryptfs
2 qemu-riscv
2 cluster-devel
2 cgroups
2 kvm-ppc
2 linux-alpha
2 linux-hexagon
2 linux-nilfs
2 lvs-devel
2 u-boot-amlogic
2 lvm-devel
2 virtio-fs
1 linux-fscrypt
1 cocci
1 live-patching
1 linux-efi
1 linux-integrity
1 linux-edac
1 linux-hwmon
1 kernel-hardening
1 dmaengine
1 linux-next
1 kernelnewbies
1 linux-sgx
1 linux-hyperv
1 workflows
1 selinux-refpolicy
1 linux-m68k
1 linux-spdx
1 ksummit-discuss
1 wireguard
1 io-uring
1 linux-kernel-mentees
1 linux-csky
1 tpmdd-devel
1 linux-unionfs
1 linux-firmware
1 cip-dev
1 linux-audit
1 linux-remoteproc
1 linux-dash
1 mm-commits
1 linux-pwm
1 linux-fpga
1 xdp-newbies
1 phone-devel
1 linux-hardening
1 dash
1 keyrings
1 linux-sctp
1 lustre-devel
1 soc
1 rust-for-linux
1 ath10k
1 ath11k
1 linux-phy
1 linux-staging
1 linux-sunxi
1 mptcp
1 ksummit
1 b43-dev
1 linux-nfc
1 linux-bcachefs
1 ath9k-devel
1 llvm
1 ell
1 ofono
1 yocto-docs
1 chrome-platform
1 ntb
1 xenomai
1 damon
1 asahi
1 loongarch
1 imx
1 ath12k
1 b4-sent
1 linux-trace-kernel
1 oe-linux-nfc
1 oe-kbuild-all
1 oe-chipsec
1 virtio-dev
1 v9fs
1 kbd
1 autofs
1 cpufreq
1 dccp
1 devicetree-spec
1 devicetree-compiler
1 initramfs
1 hail-devel
1 kvm-ia64
1 linux-8086
1 kernel-testers
1 linux-btrace
1 linux-embedded
1 linux-hams
1 linux-hotplug
1 linux-laptop
1 linux-sound
1 trinity
1 linux-metag
1 linux-x25
1 netfilter
1 linux-oxnas
1 lm-sensors
1 acpica-devel
1 perfbook
1 smatch
1 ../../../../../spdk
1 ../../../../../wireless-regdb
1 ../../../../../powertop
git clone https://80x24.org/lore/pub/scm/utils/mdadm/mdadm.git