)]}'
{
  "log": [
    {
      "commit": "75350d87c86001c47076e1f62478079bdc072223",
      "tree": "738f5a17d7ec1bb2fb3d881950c3cf681eacb9ea",
      "parents": [
        "25aa7329141c0b28d8811671627f0f5c5dc22273"
      ],
      "author": {
        "name": "Kevin Friedberg",
        "email": "kev.friedberg@gmail.com",
        "time": "Wed Feb 15 23:41:34 2023 -0500"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Mon May 08 16:28:15 2023 -0400"
      },
      "message": "enable RAID for SATA under VMD\n\nDetect when a SATA controller has been mapped under Intel Alderlake RST\nVMD, so that it can use the VMD controller\u0027s RAID capabilities. Create\nnew device type SYS_DEV_SATA_VMD and list separate controller to prevent\nmixing with the NVMe SYS_DEV_VMD devices on the same VMD domain.\n\nSigned-off-by: Kevin Friedberg \u003ckev.friedberg@gmail.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "25aa7329141c0b28d8811671627f0f5c5dc22273",
      "tree": "286fe590a0f86e4b47a9dba980cd2d32eab0e2f2",
      "parents": [
        "7b3b691ba69b909ea8c172aae693fa2a6938fd14"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@linux.intel.com",
        "time": "Thu Mar 23 17:50:17 2023 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Mon May 08 16:23:45 2023 -0400"
      },
      "message": "mdadm: numbered names verification\n\nNew functions added to remove literals and make the code reusable.\nUse parse_num() instead of is_numer().\n\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "7b3b691ba69b909ea8c172aae693fa2a6938fd14",
      "tree": "6c1394139b0aa0d549f00e7087acdcff1d48dc4c",
      "parents": [
        "0f8347d4f6588ee6ded55af3e307418cee286a6f"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@linux.intel.com",
        "time": "Thu Mar 23 17:50:16 2023 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Mon May 08 16:23:45 2023 -0400"
      },
      "message": "mdadm: define is_devname_ignore()\n\nUse function instead of direct checks across code.\n\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "0f8347d4f6588ee6ded55af3e307418cee286a6f",
      "tree": "4aebed93e4b352701fdf87ba194097c8e7a7e4a2",
      "parents": [
        "b9ce7ab0218c550488587fdad5708628d6a5ffc2"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@linux.intel.com",
        "time": "Thu Mar 23 17:50:15 2023 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Mon May 08 16:23:45 2023 -0400"
      },
      "message": "mdadm: define DEV_NUM_PREF\n\nUse define instead of inlines. Add _LEN define.\n\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "b9ce7ab0218c550488587fdad5708628d6a5ffc2",
      "tree": "235d1a56bf56cb4ed8b5c3ca46c32afe67083d8f",
      "parents": [
        "76c224c6cfc8ff154bd041d30b9551faecd593c1"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@linux.intel.com",
        "time": "Thu Mar 23 17:50:14 2023 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Mon May 08 16:23:45 2023 -0400"
      },
      "message": "mdadm: define DEV_MD_DIR\n\nIt is used many times. Additionally define _LEN to avoid repeated\nstrlen() calls when length is needed.\n\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "76c224c6cfc8ff154bd041d30b9551faecd593c1",
      "tree": "dd0bad8d5dacf6f7ad31039aae5334827c558814",
      "parents": [
        "f8d2c4286a92b7acb7872271a401ad1efe336096"
      ],
      "author": {
        "name": "Xiao Ni",
        "email": "xni@redhat.com",
        "time": "Fri Apr 07 08:45:28 2023 +0800"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Mon Apr 10 11:51:32 2023 -0400"
      },
      "message": "Remove the config files in mdcheck_start|continue service\n\nWe set MDADM_CHECK_DURATION in the mdcheck_start|continue.service files.\nAnd mdcheck doesn\u0027t use any configs from the config file. So we can remove\nthe dependencies.\n\nSigned-off-by: Xiao Ni \u003cxni@redhat.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "f8d2c4286a92b7acb7872271a401ad1efe336096",
      "tree": "48b6cbf7904c080e4e9407efeed5969edad09915",
      "parents": [
        "d3bb888d885fc96fc6239fbf6c22c63143eba461"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Mon Apr 10 11:45:34 2023 -0400"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Mon Apr 10 11:47:32 2023 -0400"
      },
      "message": "Bump minimum kernel version to 2.6.32\n\nSummary: At this point it probably is reasonable to drop support for\nanything prior to 3.10.\n\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "d3bb888d885fc96fc6239fbf6c22c63143eba461",
      "tree": "d75c560b61fa8aefa3750c35f1e195d4f76905c9",
      "parents": [
        "1c6f2a1dbfe17df14dd5b062fc53a60c5c387e47"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Mon Apr 10 11:40:42 2023 -0400"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Mon Apr 10 11:40:42 2023 -0400"
      },
      "message": "Fix some cases eyesore formatting\n\nSummary: No functional change .... just make it more readable.\n\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "1c6f2a1dbfe17df14dd5b062fc53a60c5c387e47",
      "tree": "9870cc5ab1fa2afe75c69702cd009aedc5347d3f",
      "parents": [
        "890212d6800646153210ac264ce73035cc7dd5cc"
      ],
      "author": {
        "name": "Hristo Venev",
        "email": "hristo@venev.name",
        "time": "Sat Apr 01 23:01:35 2023 +0300"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Mon Apr 10 11:24:55 2023 -0400"
      },
      "message": "super1: fix truncation check for journal device\n\nThe journal device can be smaller than the component devices.\n\nFixes: 171e9743881e (\"super1: report truncated device\")\nSigned-off-by: Hristo Venev \u003christo@venev.name\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "890212d6800646153210ac264ce73035cc7dd5cc",
      "tree": "70b9e3310568d1ef230967c73e30191a006e0655",
      "parents": [
        "ef6236da232e968dcf08b486178cd20d5ea97e2a"
      ],
      "author": {
        "name": "miaoguanqin",
        "email": "miaoguanqin@huawei.com",
        "time": "Tue Apr 04 19:31:24 2023 +0800"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Mon Apr 10 11:15:18 2023 -0400"
      },
      "message": "Fix null pointer for incremental in mdadm\n\nwhen we excute mdadm --assemble, udev-md-raid-assembly.rules is triggered.\nThen we stop array, we found an coredump for mdadm --incremental.func\nstack are as follows:\n\n#0  enough (level\u003d10, raid_disks\u003d4, layout\u003d258, clean\u003d1,\n    avail\u003davail@entry\u003d0x0) at util.c:555\n#1  0x0000562170c26965 in Incremental (devlist\u003d\u003coptimized out\u003e,\n    c\u003d\u003coptimized out\u003e, st\u003d0x5621729b6dc0) at Incremental.c:514\n#2  0x0000562170bfb6ff in main (argc\u003d\u003coptimized out\u003e,\n    argv\u003d\u003coptimized out\u003e) at mdadm.c:1762\n\nfunc enough() use array avail,avail allocate space in func count_active,\nit may not alloc space, causing a coredump.We fix this coredump.\n\nSigned-off-by: Guanqin Miao \u003cmiaoguanqin@huawei.com\u003e\nSigned-off-by: lixiaokeng \u003clixiaokeng@huawei.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "ef6236da232e968dcf08b486178cd20d5ea97e2a",
      "tree": "7cf06409ee8cc9e14fac09dc960dc894b2da292d",
      "parents": [
        "9b6e3b43381245cb128ad98bf117a565ce5defe5"
      ],
      "author": {
        "name": "Mateusz Grzonka",
        "email": "mateusz.grzonka@intel.com",
        "time": "Thu Mar 23 12:50:00 2023 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Thu Mar 23 12:44:09 2023 -0400"
      },
      "message": "Create: Fix checking for container in update_metadata\n\nThe commit 8a4ce2c05386 (\"Create: Factor out add_disks() helpers\")\nintroduced a regression that caused timeouts and udev failing to create\nlinks.\n\nSteps to reproduce the issue were as following:\n$ mdadm -CR imsm -e imsm -n4 /dev/nvme[0-3]n1\n$ mdadm -CR vol -l5 -n4 /dev/nvme[0-3]n1 --assume-clean\n\nI found the check for container was wrong because negation was missing.\n\nFixes: 8a4ce2c05386 (\"Create: Factor out add_disks() helpers\")\nSigned-off-by: Mateusz Grzonka \u003cmateusz.grzonka@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "9b6e3b43381245cb128ad98bf117a565ce5defe5",
      "tree": "d43b2dce59fba1e8a08a72d3b37207b1ac58a127",
      "parents": [
        "420dafcd38c5949c2ddb90ad6873e7edd625db30"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@linux.intel.com",
        "time": "Thu Mar 23 17:13:18 2023 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Thu Mar 23 12:43:04 2023 -0400"
      },
      "message": "Revert \"Revert \"mdadm/systemd: remove KillMode\u003dnone from service file\"\"\n\nThis reverts commit 28a083955c6f58f8e582734c8c82aff909a7d461.\n\nResolved by commit 723d1df4946e (\"mdmon: Improve switchroot\ninteractions.\") We are ready to drop it.\n\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "420dafcd38c5949c2ddb90ad6873e7edd625db30",
      "tree": "7834af59ed9da285ae1598a925a66d91175690d7",
      "parents": [
        "2e10c46d0906b1a1ec40e8f5005ccb63125dcd9e"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 20 14:43:54 2023 +1100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Mon Mar 20 13:08:27 2023 -0400"
      },
      "message": "Improvements for IMSM_NO_PLATFORM testing.\n\nFactor out IMSM_NO_PLATFORM testing into a single function that caches\nthe result.\n\nAllow mdmon to explicitly set the result to \"1\" so that we don\u0027t need\nthe ENV var in the unit file\n\nCheck if the kernel command line contains \"mdadm.imsm.test\u003d1\" and in\nthat case assert NO_PLATFORM.  This simplifies testing in a virtual\nmachine.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "2e10c46d0906b1a1ec40e8f5005ccb63125dcd9e",
      "tree": "5a26789e3280e852fb9bec96f2fcc41f3960e960",
      "parents": [
        "723d1df4946eb40337bf494f9b2549500c1399b2"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 14 11:06:25 2023 +1100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Sun Mar 19 12:35:40 2023 -0400"
      },
      "message": "mdopen: always try create_named_array()\n\nmdopen() will use create_named_array() to ask the kernel to create the\ngiven md array, but only if it is given a number or name.\nIf it is NOT given a name and is required to choose one itself using\nfind_free_devnm() it does NOT use create_named_array().\n\nOn kernels with CONFIG_BLOCK_LEGACY_AUTOLOAD not set, this can result in\nfailure to assemble an array.  This can particularly seen when the\n\"name\" of the array begins with a host name different to the name of the\nhost running the command.\n\nSo add the missing call to create_named_array().\n\nLink: https://bugzilla.kernel.org/show_bug.cgi?id\u003d217074\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nAcked-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "723d1df4946eb40337bf494f9b2549500c1399b2",
      "tree": "c28a33058108fecc8c14f6f75c7bc820f8970d32",
      "parents": [
        "0f9a4b3e11fbe4f8631d20b1f89cf43e9219db55"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 13 14:42:58 2023 +1100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Sun Mar 19 12:33:25 2023 -0400"
      },
      "message": "mdmon: Improve switchroot interactions.\n\nWe need a new mdmon@mdfoo instance to run in the root filesystem after\nswitch root, as /sys and /dev are removed from the initrd.\n\nsystemd will not start a new unit with the same name running while the\nold unit is still active, and we want the two mdmon processes to overlap\nin time to avoid any risk of deadlock, which can happen when a write is\nattempted with no mdmon running.\n\nSo we need a different unit name in the initrd than in the root.  Apart\nfrom the name, everything else should be the same.\n\nThis is easily achieved using a different instance name as the\nmdmon@.service unit file already supports multiple instances (for\ndifferent arrays).\n\nSo start \"mdmon@mdfoo.service\" from root, but\n\"mdmon@initrd-mdfoo.service\" from the initrd.  udev can tell which\ncircumstance is the case by looking for /etc/initrd-release.\ncontinue_from_systemd() is enhanced so that the \"initrd-\" prefix can be\nrequested.\n\nTeach mdmon that a container name like \"initrd/foo\" should be treated\njust like \"foo\".  Note that systemd passes the instance name\n\"initrd-foo\" as \"initrd/foo\".\n\nWe don\u0027t need a similar mechanism at shutdown because dracut runs\n\"mdmon --takeover --all\" when appropriate.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "0f9a4b3e11fbe4f8631d20b1f89cf43e9219db55",
      "tree": "8528017ebda2f149f77eaee1341308a4bc92f687",
      "parents": [
        "6660e33edde76329bd3b7f03383856c7efee2aa9"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 13 14:42:58 2023 +1100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Sun Mar 19 12:33:25 2023 -0400"
      },
      "message": "mdmon: Remove need for KillMode\u003dnone\n\nmdmon needs to keep running during the switchroot out of (at boot) and\nthen back into (at shutdown) the initrd.  It runs until a new mdmon\ntakes over.\n\nKillmode\u003dnone is used to achieve this, with the help of --offroot which\nsets argv[0][0] to \u0027@\u0027 which systemd understands.\n\nThis is needed because mdmon is currently run in system-mdmon.slice\nwhich conflicts with shutdown.target so without Killmode\u003dnone mdmon\nwould get killed early in shutdown when system.mdmon.slice is removed.\n\nAs described in systemd.service(5), this conflict with shutdown can be\nresolved by explicitly requesting system.slice, which is a natural\ncounterpart to DefaultDependencies\u003dno.\n\nSo add that, and also add IgnoreOnIsolate\u003dtrue to avoid another possible\nsource of an early death.  With these we no longer need KillMode\u003dnone\nwhich the systemd developers have marked as \"deprecated\".\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "6660e33edde76329bd3b7f03383856c7efee2aa9",
      "tree": "7f6c849c8b97b5a5eed1f6facb5381d16affefe0",
      "parents": [
        "d39fd87e31024804dd7f2c16c03af0379b71f5f1"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 13 14:42:58 2023 +1100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Sun Mar 19 12:33:25 2023 -0400"
      },
      "message": "mdmon: change systemd unit file to use --foreground\n\nThere is no value in mdmon forking when it is running under systemd -\nsystemd can still track it anyway.\n\nSo add --foreground option, and remove \"Type\u003dforking\".\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "d39fd87e31024804dd7f2c16c03af0379b71f5f1",
      "tree": "0b2b24796a294fc5dc9d7e4cafdf0ef60b08b6d6",
      "parents": [
        "eb45d0add7cf2918f838bec2d93d99cf2d9c662f"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 13 14:42:58 2023 +1100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Sun Mar 19 12:33:25 2023 -0400"
      },
      "message": "mdmon: don\u0027t test both \u0027all\u0027 and \u0027container_name\u0027.\n\nIf \u0027all\u0027 is not set, then container_name must be NULL, as nothing else\ncan set it.  So simplify the test to ignore container_name.\nThis makes the purpose of the code more obvious.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "eb45d0add7cf2918f838bec2d93d99cf2d9c662f",
      "tree": "43ca938fff7fa3cd5ed84ed4e932d16301fddf54",
      "parents": [
        "566844b93e6823a04ed65827ba3e03cb123b3a03"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 13 14:42:58 2023 +1100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Sun Mar 19 12:33:16 2023 -0400"
      },
      "message": "Use existence of /etc/initrd-release to detect initrd.\n\nSince v183, systemd has used the existence of /etc/initrd-release to\ndetect if it is running in an initrd, rather than looking at the magic\nnumber of the root filesystem\u0027s device.  It is time for mdadm to do the\nsame.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "566844b93e6823a04ed65827ba3e03cb123b3a03",
      "tree": "af1691a2479d5ce9ecbd94d686dac74a43deb982",
      "parents": [
        "33831d845a48b9a2ac4d1e954c88a3dd8cb15753"
      ],
      "author": {
        "name": "Khem Raj",
        "email": "raj.khem@gmail.com",
        "time": "Wed Jan 18 00:32:36 2023 -0800"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Sun Mar 19 12:15:52 2023 -0400"
      },
      "message": "Define alignof using _Alignof when using C11 or newer\n\nWG14 N2350 made very clear that it is an UB having type definitions\nwithin \"offsetof\" [1]. This patch enhances the implementation of macro\nalignof_slot to use builtin \"_Alignof\" to avoid undefined behavior on\nwhen using std\u003dc11 or newer\n\nclang 16+ has started to flag this [2]\n\nFixes build when using -std \u003e\u003d gnu11 and using clang16+\n\nOlder compilers gcc \u003c 4.9 or clang \u003c 8 has buggy _Alignof even though it\nmay support C11, exclude those compilers too\n\n[1] https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2350.htm\n[2] https://reviews.llvm.org/D133574\n\nUpstream-Status: Pending\nSigned-off-by: Khem Raj \u003craj.khem@gmail.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "33831d845a48b9a2ac4d1e954c88a3dd8cb15753",
      "tree": "00cd571f505c85d946c225252fbb4373eb23d741",
      "parents": [
        "c918cf2af993b55bca9f396c79713e54d3f8b6fb"
      ],
      "author": {
        "name": "Logan Gunthorpe",
        "email": "logang@deltatee.com",
        "time": "Wed Mar 01 13:41:35 2023 -0700"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Mon Mar 13 10:08:10 2023 -0400"
      },
      "message": "manpage: Add --write-zeroes option to manpage\n\nDocument the new --write-zeroes option in the manpage.\n\nSigned-off-by: Logan Gunthorpe \u003clogang@deltatee.com\u003e\nAcked-by: Kinga Tanska \u003ckinga.tanska@linux.intel.com\u003e\nReviewed-by: Xiao Ni \u003cxni@redhat.com\u003e\nReviewed-by: Chaitanya Kulkarni \u003ckch@nvidia.com\u003e\nAcked-by: Coly Li \u003ccolyli@suse.de\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "c918cf2af993b55bca9f396c79713e54d3f8b6fb",
      "tree": "7fac375a500a635f4cf0fd394f50e84516626735",
      "parents": [
        "577fd10486d8d1472a6b559066f344ac30a3a391"
      ],
      "author": {
        "name": "Logan Gunthorpe",
        "email": "logang@deltatee.com",
        "time": "Wed Mar 01 13:41:34 2023 -0700"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Mon Mar 13 10:08:10 2023 -0400"
      },
      "message": "tests/00raid5-zero: Introduce test to exercise --write-zeros.\n\nAttempt to create a raid5 array with --write-zeros. If it is successful\ncheck the array to ensure it is in sync.\n\nIf it is unsuccessful and an unsupported error is printed, skip the\ntest.\n\nSigned-off-by: Logan Gunthorpe \u003clogang@deltatee.com\u003e\nAcked-by: Kinga Tanska \u003ckinga.tanska@linux.intel.com\u003e\nReviewed-by: Xiao Ni \u003cxni@redhat.com\u003e\nReviewed-by: Chaitanya Kulkarni \u003ckch@nvidia.com\u003e\nAcked-by: Coly Li \u003ccolyli@suse.de\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "577fd10486d8d1472a6b559066f344ac30a3a391",
      "tree": "9e51a7f670c3288138d38a06c588a4d8a4e0a98d",
      "parents": [
        "9364dbfb264e89ab9467dfc0d2b813033e320640"
      ],
      "author": {
        "name": "Logan Gunthorpe",
        "email": "logang@deltatee.com",
        "time": "Wed Mar 01 13:41:33 2023 -0700"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Mon Mar 13 10:08:10 2023 -0400"
      },
      "message": "mdadm: Add --write-zeros option for Create\n\nAdd the --write-zeros option for Create which will send a write zeros\nrequest to all the disks before assembling the array. After zeroing\nthe array, the disks will be in a known clean state and the initial\nsync may be skipped.\n\nWriting zeroes is best used when there is a hardware offload method\nto zero the data. But even still, zeroing can take several minutes on\na large device. Because of this, all disks are zeroed in parallel using\ntheir own forked process and a message is printed to the user. The main\nprocess will proceed only after all the zeroing processes have completed\nsuccessfully.\n\nSigned-off-by: Logan Gunthorpe \u003clogang@deltatee.com\u003e\nAcked-by: Kinga Tanska \u003ckinga.tanska@linux.intel.com\u003e\nReviewed-by: Xiao Ni \u003cxni@redhat.com\u003e\nReviewed-by: Chaitanya Kulkarni \u003ckch@nvidia.com\u003e\nAcked-by: Coly Li \u003ccolyli@suse.de\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "9364dbfb264e89ab9467dfc0d2b813033e320640",
      "tree": "0a1e0646af0758d39c51dcf01010cf4956500971",
      "parents": [
        "8a4ce2c053866ac97feb436c4c85a54446ee0016"
      ],
      "author": {
        "name": "Logan Gunthorpe",
        "email": "logang@deltatee.com",
        "time": "Wed Mar 01 13:41:32 2023 -0700"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Mon Mar 13 10:08:10 2023 -0400"
      },
      "message": "mdadm: Introduce pr_info()\n\nFeedback was given to avoid informational pr_err() calls that print\nto stderr, even though that\u0027s done all through out the code.\n\nUsing printf() directly doesn\u0027t maintain the same format (an \"mdadm\"\nprefix on every line.\n\nSo introduce pr_info() which prints to stdout with the same format\nand use it for a couple informational pr_err() calls in Create().\n\nFuture work can make this call used in more cases.\n\nSigned-off-by: Logan Gunthorpe \u003clogang@deltatee.com\u003e\nAcked-by: Kinga Tanska \u003ckinga.tanska@linux.intel.com\u003e\nReviewed-by: Xiao Ni \u003cxni@redhat.com\u003e\nReviewed-by: Chaitanya Kulkarni \u003ckch@nvidia.com\u003e\nAcked-by: Coly Li \u003ccolyli@suse.de\u003e\nAcked-by: Paul Menzel \u003cpmenzel@molgen.mpg.de\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "8a4ce2c053866ac97feb436c4c85a54446ee0016",
      "tree": "be4d1dfe99195aedbf6444e3f9c521772d426cfb",
      "parents": [
        "fb2c0f6183e29b014608e5e1aa4d53cb55887326"
      ],
      "author": {
        "name": "Logan Gunthorpe",
        "email": "logang@deltatee.com",
        "time": "Wed Mar 01 13:41:31 2023 -0700"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Mon Mar 13 10:08:10 2023 -0400"
      },
      "message": "Create: Factor out add_disks() helpers\n\nThe Create function is massive with a very large number of variables.\nReading and understanding the function is almost impossible. To help\nwith this, factor out the two pass loop that adds the disks to the array.\n\nThis moves about 160 lines into three new helper functions and removes\na bunch of local variables from the main Create function. The main new\nhelper function add_disks() does the two pass loop and calls into\nadd_disk_to_super() and update_metadata(). Factoring out the\nlatter two helpers also helps to reduce a ton of indentation.\n\nNo functional changes intended.\n\nSigned-off-by: Logan Gunthorpe \u003clogang@deltatee.com\u003e\nAcked-by: Kinga Tanska \u003ckinga.tanska@linux.intel.com\u003e\nReviewed-by: Xiao Ni \u003cxni@redhat.com\u003e\nReviewed-by: Chaitanya Kulkarni \u003ckch@nvidia.com\u003e\nAcked-by: Coly Li \u003ccolyli@suse.de\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "fb2c0f6183e29b014608e5e1aa4d53cb55887326",
      "tree": "f56d70d392833caba93924a0c7d3ce658a8c3628",
      "parents": [
        "ba867e2ebaead20e3d9a7e62ef8fd940176c3110"
      ],
      "author": {
        "name": "Logan Gunthorpe",
        "email": "logang@deltatee.com",
        "time": "Wed Mar 01 13:41:30 2023 -0700"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Mon Mar 13 10:08:10 2023 -0400"
      },
      "message": "Create: remove safe_mode_delay local variable\n\nAll .getinfo_super() call sets the info.safe_mode_delay variables\nto a constant value, so no matter what the current state is\nthat function will always set it to the same value.\n\nCreate() calls .getinfo_super() multiple times while creating the array.\nThe value is stored in a local variable for every disk in the loop\nto add disks (so the last disc call takes precedence). The local\nvariable is then used in the call to sysfs_set_safemode().\n\nThis can be simplified by using info.safe_mode_delay directly. The info\nvariable had .getinfo_super() called on it early in the function so, by the\nreasoning above, it will have the same value as the local variable which\ncan thus be removed.\n\nDoing this allows for factoring out code from Create() in a subsequent\npatch.\n\nSigned-off-by: Logan Gunthorpe \u003clogang@deltatee.com\u003e\nAcked-by: Kinga Tanska \u003ckinga.tanska@linux.intel.com\u003e\nReviewed-by: Xiao Ni \u003cxni@redhat.com\u003e\nReviewed-by: Chaitanya Kulkarni \u003ckch@nvidia.com\u003e\nAcked-by: Coly Li \u003ccolyli@suse.de\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "ba867e2ebaead20e3d9a7e62ef8fd940176c3110",
      "tree": "5af92654bf3c58e24337e82bd06d3a122c470e38",
      "parents": [
        "68b90794adf8287fa534cc8f35efb09772b133d0"
      ],
      "author": {
        "name": "Logan Gunthorpe",
        "email": "logang@deltatee.com",
        "time": "Wed Mar 01 13:41:29 2023 -0700"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Mon Mar 13 10:08:10 2023 -0400"
      },
      "message": "Create: goto abort_locked instead of return 1 in error path\n\nThe return 1 after the fstat_is_blkdev() check should be replaced\nwith an error return that goes through the error path to unlock\nresources locked by this function.\n\nSigned-off-by: Logan Gunthorpe \u003clogang@deltatee.com\u003e\nAcked-by: Kinga Tanska \u003ckinga.tanska@linux.intel.com\u003e\nReviewed-by: Xiao Ni \u003cxni@redhat.com\u003e\nReviewed-by: Chaitanya Kulkarni \u003ckch@nvidia.com\u003e\nAcked-by: Coly Li \u003ccolyli@suse.de\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "68b90794adf8287fa534cc8f35efb09772b133d0",
      "tree": "a98587c13cb6139ac2335756d2d50a997206eaec",
      "parents": [
        "5d2434d18b6bc71bd16678b1a6d1cc3a92f1d415"
      ],
      "author": {
        "name": "Wu Guanghao",
        "email": "wuguanghao3@huawei.com",
        "time": "Sat Mar 04 00:21:35 2023 +0800"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Wed Mar 08 13:54:30 2023 -0500"
      },
      "message": "super-ddf.c: fix memleak in get_vd_num_of_subarray()\n\nsra \u003d sysfs_read() should be free before return in\nget_vd_num_of_subarray()\n\nSigned-off-by: Wu Guanghao \u003cwuguanghao3@huawei.com\u003e\nAcked-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nAcked-by: Coly Li \u003ccolyli@suse.de\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "5d2434d18b6bc71bd16678b1a6d1cc3a92f1d415",
      "tree": "67f694835e57d38f5c799b045debc5c006472896",
      "parents": [
        "50cd06b484bb99bfacdd4f9d2f8ee5e52bfc7bd3"
      ],
      "author": {
        "name": "Wu Guanghao",
        "email": "wuguanghao3@huawei.com",
        "time": "Sat Mar 04 00:21:34 2023 +0800"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Wed Mar 08 13:54:30 2023 -0500"
      },
      "message": "super-intel.c: fix memleak in find_disk_attached_hba()\n\nIf disk_path \u003d diskfd_to_devpath(), we need free(disk_path) before\nreturn, otherwise there will be a memory leak\n\nSigned-off-by: Wu Guanghao \u003cwuguanghao3@huawei.com\u003e\nReviewed-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nAcked-by: Coly Li \u003ccolyli@suse.de\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "50cd06b484bb99bfacdd4f9d2f8ee5e52bfc7bd3",
      "tree": "34b8235597550c4bd92a046c407d85ad56362ad1",
      "parents": [
        "dac0b5121dd77bf1659b95248423445f932dfae4"
      ],
      "author": {
        "name": "Wu Guanghao",
        "email": "wuguanghao3@huawei.com",
        "time": "Sat Mar 04 00:21:33 2023 +0800"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Wed Mar 08 13:54:30 2023 -0500"
      },
      "message": "isuper-intel.c: fix double free in load_imsm_mpb()\n\nIn load_imsm_mpb() there is potential double free issue on super-\u003ebuf.\n\nThe first location to free super-\u003ebuf is from get_super_block() \u003c\u003d\u003d\nload_and_parse_mpb() \u003c\u003d\u003d load_imsm_mpb():\n 4514         if (posix_memalign(\u0026super-\u003emigr_rec_buf, MAX_SECTOR_SIZE,\n 4515             MIGR_REC_BUF_SECTORS*MAX_SECTOR_SIZE) !\u003d 0) {\n 4516                 pr_err(\"could not allocate migr_rec buffer\\n\");\n 4517                 free(super-\u003ebuf);\n 4518                 return 2;\n 4519         }\n\nIf the above error condition happens, super-\u003ebuf is freed and value 2\nis returned to get_super_block() eventually. Then in the following code\nblock inside load_imsm_mpb(),\n 5289  error:\n 5290         if (!err) {\n 5291                 s-\u003enext \u003d *super_list;\n 5292                 *super_list \u003d s;\n 5293         } else {\n 5294                 if (s)\n 5295                         free_imsm(s);\n 5296                 close_fd(\u0026dfd);\n 5297         }\nat line 5295 when free_imsm() is called, super-\u003ebuf is freed again from\nthe call chain free_imsm() \u003c\u003d\u003d __free_imsm(), in following code block,\n 4651         if (super-\u003ebuf) {\n 4652                 free(super-\u003ebuf);\n 4653                 super-\u003ebuf \u003d NULL;\n 4654         }\n\nThis patch sets super-\u003ebuf as NULL after line 4517 in load_imsm_mpb()\nto avoid the potential double free().\n\n(Coly Li helps to re-compose the commit log)\n\nSigned-off-by: Wu Guanghao \u003cwuguanghao3@huawei.com\u003e\nReviewed-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nAcked-by: Coly Li \u003ccolyli@suse.de\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "dac0b5121dd77bf1659b95248423445f932dfae4",
      "tree": "2b1e826a65282d906129b6302dc2e5aaa3123720",
      "parents": [
        "06ef619582b47af89eb094c164fc5effd46d6048"
      ],
      "author": {
        "name": "Wu Guanghao",
        "email": "wuguanghao3@huawei.com",
        "time": "Sat Mar 04 00:21:32 2023 +0800"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Wed Mar 08 13:54:30 2023 -0500"
      },
      "message": "Detail.c: fix memleak in Detail()\n\nchar *sysdev \u003d xstrdup() but not free() in for loop, will cause memory\nleak\n\nSigned-off-by: Wu Guanghao \u003cwuguanghao3@huawei.com\u003e\nAcked-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nAcked-by: Coly Li \u003ccolyli@suse.de\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "06ef619582b47af89eb094c164fc5effd46d6048",
      "tree": "832778b3241f68dc93a1dd05504323105cadd3b1",
      "parents": [
        "a0151041642dffff2421c22e18fb7b02b58787d9"
      ],
      "author": {
        "name": "Wu Guanghao",
        "email": "wuguanghao3@huawei.com",
        "time": "Sat Mar 04 00:21:31 2023 +0800"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Wed Mar 08 13:54:30 2023 -0500"
      },
      "message": "util.c: fix memleak in parse_layout_faulty()\n\nchar *m is allocated by xstrdup but not free() before return, will cause\na memory leak\n\nSigned-off-by: Wu Guanghao \u003cwuguanghao3@huawei.com\u003e\nAcked-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nAcked-by: Coly Li \u003ccolyli@suse.de\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "a0151041642dffff2421c22e18fb7b02b58787d9",
      "tree": "f5100c6553ab040395d8f76a1a97e6a3dd069309",
      "parents": [
        "0a07dea8d3b78a22a59f4604a5e8da15690f28e3"
      ],
      "author": {
        "name": "Coly Li",
        "email": "colyli@suse.de",
        "time": "Sat Mar 04 00:21:30 2023 +0800"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Wed Mar 08 13:54:30 2023 -0500"
      },
      "message": "util.c: reorder code lines in parse_layout_faulty()\n\nResort the code lines in parse_layout_faulty() to make it more\ncomfortable, no logic change.\n\nSigned-off-by: Coly Li \u003ccolyli@suse.de\u003e\nReviewed-by: Paul Menzel \u003cpmenzel@molgen.mpg.de\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "0a07dea8d3b78a22a59f4604a5e8da15690f28e3",
      "tree": "f294a37515920b623de08dc3f064fd16f45f35c6",
      "parents": [
        "b6a84d4e92f876acd120d3062a8302db5dd2498c"
      ],
      "author": {
        "name": "Mateusz Grzonka",
        "email": "mateusz.grzonka@intel.com",
        "time": "Thu Feb 02 12:27:04 2023 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Thu Mar 02 10:51:02 2023 -0500"
      },
      "message": "Mdmonitor: Refactor check_one_sharer() for better error handling\n\nAlso check if autorebuild.pid is a symlink, which we shouldn\u0027t accept.\n\nSigned-off-by: Mateusz Grzonka \u003cmateusz.grzonka@intel.com\u003e\nAcked-by: Coly Li \u003ccolyli@suse.de\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "b6a84d4e92f876acd120d3062a8302db5dd2498c",
      "tree": "02e334439ca14082237b40bcc9d3bc0051d617aa",
      "parents": [
        "ee9dcf9549e8cbfeb51123812776cc87016c95b0"
      ],
      "author": {
        "name": "Mateusz Grzonka",
        "email": "mateusz.grzonka@intel.com",
        "time": "Thu Feb 02 12:27:03 2023 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Thu Mar 02 10:51:02 2023 -0500"
      },
      "message": "Mdmonitor: Refactor write_autorebuild_pid()\n\nAdd better error handling and check for symlinks when opening MDMON_DIR.\n\nSigned-off-by: Mateusz Grzonka \u003cmateusz.grzonka@intel.com\u003e\nAcked-by: Coly Li \u003ccolyli@suse.de\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "ee9dcf9549e8cbfeb51123812776cc87016c95b0",
      "tree": "da4b8d39e2a4b197c556bbaaf3ee7fe490275f38",
      "parents": [
        "cc3df167c599d2ee0c132149c86fc0ad70d9f14e"
      ],
      "author": {
        "name": "Mateusz Grzonka",
        "email": "mateusz.grzonka@intel.com",
        "time": "Thu Feb 02 12:27:02 2023 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Thu Mar 02 10:51:02 2023 -0500"
      },
      "message": "Add helpers to determine whether directories or files are soft links\n\nSigned-off-by: Mateusz Grzonka \u003cmateusz.grzonka@intel.com\u003e\nAcked-by: Coly Li \u003ccolyli@suse.de\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "cc3df167c599d2ee0c132149c86fc0ad70d9f14e",
      "tree": "77bea3d9a950958172d4bef531e192af190cc2bf",
      "parents": [
        "50232a6ec4a5c46c608181d72d0c633831a03134"
      ],
      "author": {
        "name": "Mateusz Grzonka",
        "email": "mateusz.grzonka@intel.com",
        "time": "Thu Feb 02 12:27:01 2023 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Thu Mar 02 10:51:02 2023 -0500"
      },
      "message": "Mdmonitor: Add helper functions\n\nAdd functions:\n- is_email_event(),\n- get_syslog_event_priority(),\n- sprint_event_message(),\nwith kernel style comments containing more detailed descriptions.\n\nAlso update event syslog priorities to be consistent with man. MoveSpare event was described in man as priority info, while implemented as warning. Move event data into a struct, so that it is passed between different functions if needed.\nSort function declarations alphabetically and remove redundant alert() declaration.\n\nSigned-off-by: Mateusz Grzonka \u003cmateusz.grzonka@intel.com\u003e\nAcked-by: Coly Li \u003ccolyli@suse.de\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "50232a6ec4a5c46c608181d72d0c633831a03134",
      "tree": "d741c5363b425fdf48263c08e987d98d72f4cb22",
      "parents": [
        "b301516615c441bd3cc4b512fae73fc066d227f1"
      ],
      "author": {
        "name": "Mateusz Grzonka",
        "email": "mateusz.grzonka@intel.com",
        "time": "Thu Feb 02 12:27:00 2023 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Thu Mar 02 10:51:02 2023 -0500"
      },
      "message": "Mdmonitor: Pass events to alert() using enums instead of strings\n\nAdd events enum, and mapping_t struct, that maps them to strings, so\nthat enums are passed around instead of strings.\n\nSigned-off-by: Mateusz Grzonka \u003cmateusz.grzonka@intel.com\u003e\nAcked-by: Coly Li \u003ccolyli@suse.de\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "b301516615c441bd3cc4b512fae73fc066d227f1",
      "tree": "cefddfaf146962243d6461e6e081978b035098d3",
      "parents": [
        "f1f3ef7d2de5e3a726c27b9f9bb20e270a100dab"
      ],
      "author": {
        "name": "Mateusz Grzonka",
        "email": "mateusz.grzonka@intel.com",
        "time": "Thu Feb 02 12:26:59 2023 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Thu Mar 02 10:51:02 2023 -0500"
      },
      "message": "Mdmonitor: Make alert_info global\n\nMove information about --test flag and hostname into alert_info.\n\nSigned-off-by: Mateusz Grzonka \u003cmateusz.grzonka@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "f1f3ef7d2de5e3a726c27b9f9bb20e270a100dab",
      "tree": "ea76aad059160e45431a70d137c49096fc647c28",
      "parents": [
        "d07e561810a2e33b667a8a9476edaff42eb119b9"
      ],
      "author": {
        "name": "Li Xiao Keng",
        "email": "lixiaokeng@huawei.com",
        "time": "Mon Feb 27 11:12:07 2023 +0800"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Tue Feb 28 12:28:03 2023 -0500"
      },
      "message": "Fix NULL dereference in super_by_fd\n\nWhen we create 100 partitions (major is 259 not 254) in a raid device,\nmdadm may coredump:\n\nCore was generated by `/usr/sbin/mdadm --detail --export /dev/md1p7\u0027.\nProgram terminated with signal SIGSEGV, Segmentation fault.\n#0  __strlen_avx2_rtm () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:74\n74\t\tVPCMPEQ\t(%rdi), %ymm0, %ymm1\n(gdb) bt\n#0  __strlen_avx2_rtm () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:74\n#1  0x00007fbb9a7e4139 in __strcpy_chk (dest\u003ddest@entry\u003d0x55d55d6a13ac \"\", src\u003d0x0, destlen\u003ddestlen@entry\u003d32) at strcpy_chk.c:28\n#2  0x000055d55ba1766d in strcpy (__src\u003d\u003coptimized out\u003e, __dest\u003d0x55d55d6a13ac \"\") at /usr/include/bits/string_fortified.h:79\n#3  super_by_fd (fd\u003dfd@entry\u003d3, subarrayp\u003dsubarrayp@entry\u003d0x7fff44dfcc48) at util.c:1289\n#4  0x000055d55ba273a6 in Detail (dev\u003d0x7fff44dfef0b \"/dev/md1p7\", c\u003d0x7fff44dfe440) at Detail.c:101\n#5  0x000055d55ba0de61 in misc_list (c\u003d\u003coptimized out\u003e, ss\u003d\u003coptimized out\u003e, dump_directory\u003d\u003coptimized out\u003e, ident\u003d\u003coptimized out\u003e, devlist\u003d\u003coptimized out\u003e) at mdadm.c:1959\n#6  main (argc\u003d\u003coptimized out\u003e, argv\u003d\u003coptimized out\u003e) at mdadm.c:1629\n\nThe direct cause is fd2devnm returning NULL, so add a check.\n\nSigned-off-by: Li Xiao Keng \u003clixiaokeng@huawei.com\u003e\nSigned-off-by: Wu Guang Hao \u003cwuguanghao3@huawei.com\u003e\nAcked-by: Coly Li \u003ccolyli@suse.de\u003e\nAcked-by: Coly Li \u003ccolyli@suse.de \u003cmailto:colyli@suse.de\u003e\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "d07e561810a2e33b667a8a9476edaff42eb119b9",
      "tree": "abe74458156206a4adf2950b1cbcad241a72e80e",
      "parents": [
        "28a083955c6f58f8e582734c8c82aff909a7d461"
      ],
      "author": {
        "name": "Heming Zhao",
        "email": "heming.zhao@suse.com",
        "time": "Thu Feb 23 22:39:39 2023 +0800"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Thu Feb 23 13:23:26 2023 -0500"
      },
      "message": "Grow: fix can\u0027t change bitmap type from none to clustered.\n\nCommit a042210648ed (\"disallow create or grow clustered bitmap with\nwritemostly set\") introduced this bug. We should use \u0027true\u0027 logic not\n\u0027\u003d\u003d 0\u0027 to deny setting up clustered array under WRITEMOSTLY condition.\n\nHow to trigger\n\n```\n~/mdadm # ./mdadm -Ss \u0026\u0026 ./mdadm --zero-superblock /dev/sd{a,b}\n~/mdadm # ./mdadm -C /dev/md0 -l mirror -b clustered -e 1.2 -n 2 \\\n/dev/sda /dev/sdb --assume-clean\nmdadm: array /dev/md0 started.\n~/mdadm # ./mdadm --grow /dev/md0 --bitmap\u003dnone\n~/mdadm # ./mdadm --grow /dev/md0 --bitmap\u003dclustered\nmdadm: /dev/md0 disks marked write-mostly are not supported with clustered bitmap\n```\n\nSigned-off-by: Heming Zhao \u003cheming.zhao@suse.com\u003e\nAcked-by: Coly Li \u003ccolyli@suse.de\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "28a083955c6f58f8e582734c8c82aff909a7d461",
      "tree": "29f5791cbf0a5730dcf30d249af4fc2821fcdcd5",
      "parents": [
        "36a707824eb1dafbb990f5daf1cbbe0e37dbbefb"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@linux.intel.com",
        "time": "Thu Feb 02 08:56:31 2023 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Thu Feb 02 09:46:10 2023 -0500"
      },
      "message": "Revert \"mdadm/systemd: remove KillMode\u003dnone from service file\"\n\nThis reverts commit 52c67fcdd6dadc4138ecad73e65599551804d445.\n\nThe functionality is marked as deprecated but we don\u0027t have alternative\nsolution yet. Shutdown hangs if OS is installed on external array:\n\ntask:umount state:D stack: 0 pid: 6285 ppid: flags:0x00004084\nCall Trace:\n__schedule+0x2d1/0x830\n? finish_wait+0x80/0x80\nschedule+0x35/0xa0\nmd_write_start+0x14b/0x220\n? finish_wait+0x80/0x80\nraid1_make_request+0x3c/0x90 [raid1]\nmd_handle_request+0x128/0x1b0\nmd_make_request+0x5b/0xb0\ngeneric_make_request_no_check+0x202/0x330\nsubmit_bio+0x3c/0x160\n\nUse it until new solution is implemented.\n\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "36a707824eb1dafbb990f5daf1cbbe0e37dbbefb",
      "tree": "0d218db26e4054c55f2c0bda67736e33c2ae2149",
      "parents": [
        "071f839ea549e2a384cd13bba445245cd87e48b1"
      ],
      "author": {
        "name": "Kinga Tanska",
        "email": "kinga.tanska@intel.com",
        "time": "Thu Jan 05 06:31:25 2023 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Thu Jan 05 10:29:38 2023 -0500"
      },
      "message": "manage: move comment with function description\n\nMove the function description from the function body to outside\nto obey kernel coding style.\n\nSigned-off-by: Kinga Tanska \u003ckinga.tanska@intel.com\u003e\nAcked-by: Coly Li \u003ccolyli@suse.de\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "071f839ea549e2a384cd13bba445245cd87e48b1",
      "tree": "f4c244736c12d3d79b183d56830142fc24ab7174",
      "parents": [
        "461fae7e7809670d286cc19aac5bfa861c29f93a"
      ],
      "author": {
        "name": "Kinga Tanska",
        "email": "kinga.tanska@intel.com",
        "time": "Fri Oct 28 04:51:17 2022 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Wed Jan 04 22:40:39 2023 -0500"
      },
      "message": "super-intel: make freesize not required for chunk size migration\n\nFreesize is needed to be set for migrations where size of RAID could\nbe changed - expand. It tells how many free space is determined for\nmembers. In chunk size migartion freesize is not needed to be set,\npointer shouldn\u0027t be checked if exists. This commit moves check to\ncondition which contains size calculations, instead of checking it\nalways at the first step.\nFix return value when superblock is not set.\n\nSigned-off-by: Kinga Tanska \u003ckinga.tanska@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "461fae7e7809670d286cc19aac5bfa861c29f93a",
      "tree": "646b65f17002cdb037d2906a12060e51c3c5019c",
      "parents": [
        "b3e7b7eb1dfedd7cbd9a3800e884941f67d94c96"
      ],
      "author": {
        "name": "Kinga Tanska",
        "email": "kinga.tanska@intel.com",
        "time": "Tue Dec 27 06:50:43 2022 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Wed Jan 04 22:37:30 2023 -0500"
      },
      "message": "incremental, manage: do not verify if remove is safe\n\nFunction is_remove_safe() was introduced to verify if removing\nmember device won\u0027t cause failed state of the array. This\nverification should be used only with set-faulty command. Add\nspecial mode indicating that Incremental removal was executed.\nIf this mode is used do not execute is_remove_safe() routine.\n\nSigned-off-by: Kinga Tanska \u003ckinga.tanska@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "b3e7b7eb1dfedd7cbd9a3800e884941f67d94c96",
      "tree": "6c97df55e427d2bcc13209dbe6e8c80fb4ae5867",
      "parents": [
        "24d329fc97a64ec185ef27e59730f3f058c09029"
      ],
      "author": {
        "name": "Kinga Tanska",
        "email": "kinga.tanska@intel.com",
        "time": "Tue Dec 27 06:50:42 2022 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Wed Jan 04 22:37:30 2023 -0500"
      },
      "message": "Manage: do not check array state when drive is removed\n\nArray state doesn\u0027t need to be checked when drive is\nremoved, but until now clean state was required. Result\nof the is_remove_safe() function will be independent\nfrom array state.\n\nSigned-off-by: Kinga Tanska \u003ckinga.tanska@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "24d329fc97a64ec185ef27e59730f3f058c09029",
      "tree": "75c41128ab210ca96c0435680db14a48a570961f",
      "parents": [
        "b938519e7719c992dae2d61c796c45fe49e6b71b"
      ],
      "author": {
        "name": "Xiao Ni",
        "email": "xni@redhat.com",
        "time": "Thu Jan 05 00:29:20 2023 +0800"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Wed Jan 04 18:37:56 2023 -0500"
      },
      "message": "mdadm/udev: Don\u0027t handle change event on raw devices\n\nThe raw devices are ready when add event happpens and the raid\ncan be assembled. So there is no need to handle change events.\nAnd it can cause some inconvenient problems.\n\nFor example, the OS is installed on md0(/root) and md1(/home).\nmd0 and md1 are created on partitions. When it wants to re-install\nOS, anaconda can\u0027t clear the storage configure. It deletes one\npartition and does some jobs. The change event happens. Now\nthe raid device is assembled again. It can\u0027t delete the other\npartitions.\n\nSo in this patch, we don\u0027t handle change event on raw devices\nanymore.\n\nSigned-off-by: Xiao Ni \u003cxni@redhat.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "b938519e7719c992dae2d61c796c45fe49e6b71b",
      "tree": "244c581bf4c5e558f144d3126070823c6b21c04a",
      "parents": [
        "9b429fc0a4ffd7028b3b336589d38e32fb9045dc"
      ],
      "author": {
        "name": "Mateusz Kusiak",
        "email": "mateusz.kusiak@intel.com",
        "time": "Mon Jan 02 09:46:22 2023 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Wed Jan 04 10:25:56 2023 -0500"
      },
      "message": "util: remove obsolete code from get_md_name\n\nget_md_name() is used only with mdstat entries.\nRemove dead code and simplyfy function.\n\nRemove redundadnt checks from mdmon.c\n\nSigned-off-by: Mateusz Kusiak \u003cmateusz.kusiak@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "9b429fc0a4ffd7028b3b336589d38e32fb9045dc",
      "tree": "e7e684de086b3bfbdd2afca2f69b05a9b598c11e",
      "parents": [
        "3a87fa67112dc2c2c3664aeecd0b49cb4b6ceaa9"
      ],
      "author": {
        "name": "Mateusz Kusiak",
        "email": "mateusz.kusiak@intel.com",
        "time": "Mon Jan 02 09:46:21 2023 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Wed Jan 04 10:25:56 2023 -0500"
      },
      "message": "mdmon: fix segfault\n\nMdmon crashes if stat2devnm returns null.\nUse open_mddev to check if device is mddevice and get name using\nfd2devnm.\nRefactor container name handling.\n\nSigned-off-by: Mateusz Kusiak \u003cmateusz.kusiak@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "3a87fa67112dc2c2c3664aeecd0b49cb4b6ceaa9",
      "tree": "7e9017d8c79ccaef5a740ea8c0eaf36cd5288f8d",
      "parents": [
        "f2e8393bd7223c419aaa33c45feeb5c75440b986"
      ],
      "author": {
        "name": "Mateusz Kusiak",
        "email": "mateusz.kusiak@intel.com",
        "time": "Mon Jan 02 09:35:24 2023 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Wed Jan 04 10:20:58 2023 -0500"
      },
      "message": "Change char* to enum in context-\u003eupdate \u0026 refactor code\n\nStoring update option in string is bad for frequent comparisons and\nerror prone.\nReplace char array with enum so already existing enum is passed around\ninstead of string.\nAdapt code to changes.\n\nSigned-off-by: Mateusz Kusiak \u003cmateusz.kusiak@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "f2e8393bd7223c419aaa33c45feeb5c75440b986",
      "tree": "53182846c50657a4fb6ca8a9d6367a2155725290",
      "parents": [
        "03312b5240438ffc3b63114bdc87e911222f01e5"
      ],
      "author": {
        "name": "Mateusz Kusiak",
        "email": "mateusz.kusiak@intel.com",
        "time": "Mon Jan 02 09:35:23 2023 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Wed Jan 04 10:20:58 2023 -0500"
      },
      "message": "Manage\u0026Incremental: code refactor, string to enum\n\nPrepare Manage and Incremental for later changing context-\u003eupdate to enum.\nChange update from string to enum in multiple functions and pass enum\nwhere already possible.\n\nSigned-off-by: Mateusz Kusiak \u003cmateusz.kusiak@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "03312b5240438ffc3b63114bdc87e911222f01e5",
      "tree": "6efdf29991cfc40cdbc320f31c33bf158b05fd0f",
      "parents": [
        "4345e135c4c7dd04bb15bad140dfc4747f677738"
      ],
      "author": {
        "name": "Mateusz Kusiak",
        "email": "mateusz.kusiak@intel.com",
        "time": "Mon Jan 02 09:35:22 2023 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Wed Jan 04 10:20:58 2023 -0500"
      },
      "message": "Change update to enum in update_super and update_subarray\n\nUse already existing enum, change update_super and update_subarray\nupdate to enum globally.\nRefactor function references also.\nRemove code specific options from update_options.\n\nSigned-off-by: Mateusz Kusiak \u003cmateusz.kusiak@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "4345e135c4c7dd04bb15bad140dfc4747f677738",
      "tree": "7fbc507102df3175f4bef579e31333a66f4ad5b0",
      "parents": [
        "7e8daba8b7937716dce8ea28298a4e2e72cb829e"
      ],
      "author": {
        "name": "Mateusz Kusiak",
        "email": "mateusz.kusiak@intel.com",
        "time": "Mon Jan 02 09:35:21 2023 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Wed Jan 04 10:20:58 2023 -0500"
      },
      "message": "super-intel: refactor the code for enum\n\nIt prepares super-intel for change context-\u003eupdate to enum.\n\nSigned-off-by: Mateusz Kusiak \u003cmateusz.kusiak@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "7e8daba8b7937716dce8ea28298a4e2e72cb829e",
      "tree": "234987bf4beb6c1bb43a5b9ef7edf0bd43bafe91",
      "parents": [
        "0a9e39383d3bf63e1f5cf10f64200083a1af8091"
      ],
      "author": {
        "name": "Mateusz Kusiak",
        "email": "mateusz.kusiak@intel.com",
        "time": "Mon Jan 02 09:35:20 2023 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Wed Jan 04 10:20:58 2023 -0500"
      },
      "message": "super1: refactor the code for enum\n\nIt prepares update_super1 for change context-\u003eupdate to enum.\nChange if else statements into switch.\n\nSigned-off-by: Mateusz Kusiak \u003cmateusz.kusiak@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "0a9e39383d3bf63e1f5cf10f64200083a1af8091",
      "tree": "17c9bd99f518ae3e69d39ab7e86f10cdd10855b8",
      "parents": [
        "35aa44c549290e22f285896684c704acb53b7717"
      ],
      "author": {
        "name": "Mateusz Kusiak",
        "email": "mateusz.kusiak@intel.com",
        "time": "Mon Jan 02 09:35:19 2023 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Wed Jan 04 10:20:58 2023 -0500"
      },
      "message": "super0: refactor the code for enum\n\nIt prepares update_super0 for change context-\u003eupdate to enum.\nChange if else statements to switch.\n\nSigned-off-by: Mateusz Kusiak \u003cmateusz.kusiak@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "35aa44c549290e22f285896684c704acb53b7717",
      "tree": "79e8105ffb81a78b75b63918e6d327088369da2d",
      "parents": [
        "2257de106cbf17a7f1df33a10cfd2be0d5a064cb"
      ],
      "author": {
        "name": "Mateusz Kusiak",
        "email": "mateusz.kusiak@intel.com",
        "time": "Mon Jan 02 09:35:18 2023 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Wed Jan 04 10:20:58 2023 -0500"
      },
      "message": "super-ddf: Remove update_super_ddf.\n\nThis is not supported by ddf.\nIt hides errors by returning success status for some updates.\nRemove update_super_dff().\n\nSigned-off-by: Mateusz Kusiak \u003cmateusz.kusiak@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "2257de106cbf17a7f1df33a10cfd2be0d5a064cb",
      "tree": "a062410e9bf0c7c213315e420d45deb4db23ed68",
      "parents": [
        "db10eab68e652f141169b7240e057d110d626c3d"
      ],
      "author": {
        "name": "Mateusz Kusiak",
        "email": "mateusz.kusiak@intel.com",
        "time": "Mon Jan 02 09:35:17 2023 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Wed Jan 04 10:20:58 2023 -0500"
      },
      "message": "Add code specific update options to enum.\n\nSome of update options aren\u0027t taken from user input, but are hard-coded\nas strings.\nInclude those options in enum.\n\nSigned-off-by: Mateusz Kusiak \u003cmateusz.kusiak@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "db10eab68e652f141169b7240e057d110d626c3d",
      "tree": "482cc08ddc167b4a4c58a9f9544a23cd33d3a10f",
      "parents": [
        "2568ce89ea5c26225e8984733adc2ea7559d853a"
      ],
      "author": {
        "name": "Mateusz Kusiak",
        "email": "mateusz.kusiak@intel.com",
        "time": "Mon Jan 02 09:35:16 2023 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Wed Jan 04 10:20:58 2023 -0500"
      },
      "message": "Fix --update-subarray on active volume\n\nOptions: bitmap, ppl and name should not be updated when array is active.\nThose features are mutually exclusive and share the same data area in IMSM (danger of overwriting by kernel).\nRemove check for active subarrays from super-intel.\nSince ddf is not supported, apply it globally for all options.\n\nSigned-off-by: Mateusz Kusiak \u003cmateusz.kusiak@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "2568ce89ea5c26225e8984733adc2ea7559d853a",
      "tree": "ff1429fa3379e0a974d34d68aaa1721814bf8c2d",
      "parents": [
        "7fcbfd7c620e2dcd3b539d18e93cb503ee3a8a62"
      ],
      "author": {
        "name": "Mateusz Kusiak",
        "email": "mateusz.kusiak@intel.com",
        "time": "Mon Jan 02 09:35:15 2023 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Wed Jan 04 10:20:58 2023 -0500"
      },
      "message": "mdadm: Add option validation for --update-subarray\n\nSubset of options available for \"--update\" is not same as for \"--update-subarray\".\nDefine maps and enum for update options and use them instead of direct comparisons.\nAdd proper error message.\n\nSigned-off-by: Mateusz Kusiak \u003cmateusz.kusiak@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "7fcbfd7c620e2dcd3b539d18e93cb503ee3a8a62",
      "tree": "35917bd04b566376504a8dc0c96171a1aae2b3a7",
      "parents": [
        "434b3b9bb96a76dc12f693b64cf23b581781e20b"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@linux.intel.com",
        "time": "Wed Dec 21 12:50:17 2022 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Wed Dec 28 10:04:12 2022 -0500"
      },
      "message": "mdadm: create ident_init()\n\nAdd a wrapper for repeated initializations in mdadm.c and config.c.\nMove includes up.\n\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "434b3b9bb96a76dc12f693b64cf23b581781e20b",
      "tree": "193f0aeec2ae3546aa06eed89105fea47049ed78",
      "parents": [
        "725e37cd14866906ba28c970394b9f7a4cd97413"
      ],
      "author": {
        "name": "Blazej Kucman",
        "email": "blazej.kucman@intel.com",
        "time": "Tue Dec 20 12:07:51 2022 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Wed Dec 28 09:59:06 2022 -0500"
      },
      "message": "Grow: fix possible memory leak.\n\nSigned-off-by: Blazej Kucman \u003cblazej.kucman@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "725e37cd14866906ba28c970394b9f7a4cd97413",
      "tree": "2e5c6be1f315c7760e48ce4dcef074bf8259c321",
      "parents": [
        "f40ac0e7e6043361ad12e9db97c07e56c3977cf6"
      ],
      "author": {
        "name": "Blazej Kucman",
        "email": "blazej.kucman@intel.com",
        "time": "Mon Dec 19 11:21:58 2022 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Wed Dec 28 09:56:17 2022 -0500"
      },
      "message": "Update mdadm Monitor manual.\n\n- describe monitor work modes,\n- clarify the turning off condition,\n- describe the mdmonitor.service as a prefered management way.\n\nSigned-off-by: Blazej Kucman \u003cblazej.kucman@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "f40ac0e7e6043361ad12e9db97c07e56c3977cf6",
      "tree": "839a8301b63ad2bfaa877cdc7f90cd02afdaa1e9",
      "parents": [
        "3698867194f27fdd7824b8bdd172d619a2c087cc"
      ],
      "author": {
        "name": "Blazej Kucman",
        "email": "blazej.kucman@intel.com",
        "time": "Mon Dec 19 11:21:57 2022 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Wed Dec 28 09:56:17 2022 -0500"
      },
      "message": "Monitor: block if monitor modes are combined.\n\nBlock monitoring start if --scan mode and MD devices list are combined.\n\nSigned-off-by: Blazej Kucman \u003cblazej.kucman@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "3698867194f27fdd7824b8bdd172d619a2c087cc",
      "tree": "d61a30d2732416258288fb855ea725f7e036c97b",
      "parents": [
        "8b668d4aa3305af5963162b7499b128bd71f8f29"
      ],
      "author": {
        "name": "Mateusz Grzonka",
        "email": "mateusz.grzonka@intel.com",
        "time": "Wed Sep 07 14:56:49 2022 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Wed Dec 28 09:47:41 2022 -0500"
      },
      "message": "Mdmonitor: Split alert() into separate functions\n\nSigned-off-by: Mateusz Grzonka \u003cmateusz.grzonka@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "8b668d4aa3305af5963162b7499b128bd71f8f29",
      "tree": "d7207816bef6db14891b75a5ab20ac5451a800dc",
      "parents": [
        "6f2af6a48c541f207cb727a31fb86de2cd04fc21"
      ],
      "author": {
        "name": "Lukasz Florczak",
        "email": "lukasz.florczak@linux.intel.com",
        "time": "Thu Sep 22 08:29:50 2022 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Thu Sep 29 11:12:10 2022 -0400"
      },
      "message": "Mdmonitor: Omit non-md devices\n\nFix segfault commit [1] introduced check whether given device is\nmddevice, but it happend to terminate Mdmonitor if at least one of given\ndevices didn\u0027t fulfill that condition. In result Mdmonitor service was\nno longer started on boot (with --scan option) when config contained some\nnon-existent array entry.\n\nThis commit introduces ommiting non-md devices so scan option can still\nbe used when config is wrong and allow Mdmonitor service to run on boot.\n\nGiving a list of devices to monitor containing non-existing or\nnon-md devices will result in monitoring only confirmed mddevices.\n\n[1] https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id\u003de702f392959d1c2ad2089e595b52235ed97b4e18\n\nSigned-off-by: Lukasz Florczak \u003clukasz.florczak@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "6f2af6a48c541f207cb727a31fb86de2cd04fc21",
      "tree": "a57f3b9c8d52cd12848f70bc5b2c063f298b8717",
      "parents": [
        "f7cbd810b639eb946ba1b3bddb1faefb9696de42"
      ],
      "author": {
        "name": "Kinga Tanska",
        "email": "kinga.tanska@intel.com",
        "time": "Fri Sep 02 08:49:23 2022 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Thu Sep 29 11:04:43 2022 -0400"
      },
      "message": "mdadm: replace container level checking with inline\n\nTo unify all containers checks in code, is_container() function is\nadded and propagated.\n\nSigned-off-by: Kinga Tanska \u003ckinga.tanska@intel.com\u003e\nAcked-by: Coly Li \u003ccolyli@suse.de\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "f7cbd810b639eb946ba1b3bddb1faefb9696de42",
      "tree": "24152efae3c61feae0e547ce3de789eac9b286f7",
      "parents": [
        "ea109700563d93704ebdc540c7770d874369f667"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@linux.intel.com",
        "time": "Fri Sep 09 15:50:34 2022 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Fri Sep 16 15:27:02 2022 -0400"
      },
      "message": "ReadMe: fix command-line help\n\nMake command-line help consistent with manual page.\nCopied from Debian.\n\nCc: Felix Lechner \u003cfelix.lechner@lease-up.com\u003e\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nAcked-by: Coly Li \u003ccolyli@suse.de\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "ea109700563d93704ebdc540c7770d874369f667",
      "tree": "28e0f1d6288f5e2fd8be14e49a90ea067002fd93",
      "parents": [
        "ea7a02a3294aae223e1329aed5da7f4aa3ac05c5"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@linux.intel.com",
        "time": "Fri Sep 09 15:50:33 2022 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Fri Sep 16 15:27:02 2022 -0400"
      },
      "message": "mdadm: Add Documentation entries to systemd services\n\nAdd documentation section.\nCopied from Debian.\n\nCc: Felix Lechner \u003cfelix.lechner@lease-up.com\u003e\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nAcked-by: Coly Li \u003ccolyli@suse.de\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "ea7a02a3294aae223e1329aed5da7f4aa3ac05c5",
      "tree": "fb4ea40e6a8e70246ba95ca821d8d9b38d23d227",
      "parents": [
        "55c10e4de13abe3e6934895e1fff7d2d20d0b2c2"
      ],
      "author": {
        "name": "Oldřich Jedlička",
        "email": "oldium.pro@gmail.com",
        "time": "Wed Aug 31 19:57:29 2022 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Wed Sep 14 09:46:06 2022 -0400"
      },
      "message": "mdadm: added support for Intel Alderlake RST on VMD platform\n\nAlderlake RST on VMD uses RstVmdV UEFI variable name, so detect it.\n\nSigned-off-by: Oldřich Jedlička \u003coldium.pro@gmail.com\u003e\nReviewed-by: Kinga Tanska \u003ckinga.tanska@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "55c10e4de13abe3e6934895e1fff7d2d20d0b2c2",
      "tree": "5f50e6eb51608caf15ad988bc5c1b85052c95ff7",
      "parents": [
        "fc6fd4063769f4194c3fb8f77b32b2819e140fb9"
      ],
      "author": {
        "name": "Pawel Baldysiak",
        "email": "pawel.baldysiak@intel.com",
        "time": "Thu Sep 01 11:20:31 2022 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Thu Sep 08 12:56:37 2022 -0400"
      },
      "message": "Monitor: Fix statelist memory leaks\n\nFree statelist in error path in Monitor initialization.\n\nSigned-off-by: Pawel Baldysiak \u003cpawel.baldysiak@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "fc6fd4063769f4194c3fb8f77b32b2819e140fb9",
      "tree": "5b9b7461b0f4694d6932ce171dd333bf2a1ce08c",
      "parents": [
        "1a386f804d8392b849b3362da6b0157b0db83091"
      ],
      "author": {
        "name": "Mateusz Kusiak",
        "email": "mateusz.kusiak@intel.com",
        "time": "Thu Aug 18 11:47:21 2022 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Thu Sep 08 12:52:25 2022 -0400"
      },
      "message": "Manage: Block unsafe member failing\n\nKernel may or may not block mdadm from removing member device if it\nwill cause arrays failed state. It depends on raid personality\nimplementation in kernel.\nAdd verification on requested removal path (#mdadm --set-faulty\ncommand).\n\nSigned-off-by: Mateusz Kusiak \u003cmateusz.kusiak@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "1a386f804d8392b849b3362da6b0157b0db83091",
      "tree": "44a5f8bcab36925fcaac1e8ab7fdf837a441e71d",
      "parents": [
        "171e9743881edf2dfb163ddff483566fbf913ccd"
      ],
      "author": {
        "name": "Mateusz Grzonka",
        "email": "mateusz.grzonka@intel.com",
        "time": "Fri Aug 12 16:52:12 2022 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Thu Sep 08 11:55:50 2022 -0400"
      },
      "message": "mdadm: Correct typos, punctuation and grammar in man\n\nSigned-off-by: Mateusz Grzonka \u003cmateusz.grzonka@intel.com\u003e\nReviewed-by: Wol \u003canthony@youngman.org.uk\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "171e9743881edf2dfb163ddff483566fbf913ccd",
      "tree": "834a6ce71135fd753ac0c2c7fd1af44e059fb7d8",
      "parents": [
        "5c3c3df646dd3b7e8df81152f08e9ac4ddccc671"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Aug 26 08:55:56 2022 +1000"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Mon Aug 29 11:45:39 2022 -0400"
      },
      "message": "super1: report truncated device\n\nWhen the metadata is at the start of the device, it is possible that it\ndescribes a device large than the one it is actually stored on.  When\nthis happens, report it loudly in --examine.\n\n....\n   Unused Space : before\u003d1968 sectors, after\u003d-2047 sectors DEVICE TOO SMALL\n          State : clean TRUNCATED DEVICE\n....\n\nAlso report in --assemble so that the failure which the kernel will\nreport will be explained.\n\nmdadm: Device /dev/sdb is not large enough for data described in superblock\nmdadm: no RAID superblock on /dev/sdb\nmdadm: /dev/sdb has no superblock - assembly aborted\n\nScenario can be demonstrated as follows:\n\nmdadm: Note: this array has metadata at the start and\n    may not be suitable as a boot device.  If you plan to\n    store \u0027/boot\u0027 on this device please ensure that\n    your boot-loader understands md/v1.x metadata, or use\n    --metadata\u003d0.90\nmdadm: Defaulting to version 1.2 metadata\nmdadm: array /dev/md/test started.\nmdadm: stopped /dev/md/test\n   Unused Space : before\u003d1968 sectors, after\u003d-2047 sectors DEVICE TOO SMALL\n          State : clean TRUNCATED DEVICE\n   Unused Space : before\u003d1968 sectors, after\u003d-2047 sectors DEVICE TOO SMALL\n          State : clean TRUNCATED DEVICE\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "5c3c3df646dd3b7e8df81152f08e9ac4ddccc671",
      "tree": "304a92cd84b8fa901062082a1aed538c2a51cb62",
      "parents": [
        "7211116c295ba1f9e1fcbdc2dd2d3762855062e1"
      ],
      "author": {
        "name": "Kinga Tanska",
        "email": "kinga.tanska@intel.com",
        "time": "Fri Aug 19 02:55:46 2022 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Wed Aug 24 12:00:32 2022 -0400"
      },
      "message": "Assemble: check if device is container before scheduling force-clean update\n\nUp to now using assemble with force flag making each array as clean.\nForce-clean should not be done for the container. This commit add\ncheck if device is different than container before cleaning.\n\nSigned-off-by: Kinga Tanska \u003ckinga.tanska@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "7211116c295ba1f9e1fcbdc2dd2d3762855062e1",
      "tree": "ee4d983805d5150d509da2cbc143714a4e6fc6d2",
      "parents": [
        "27ad4900501c615b7c6b266bf23948e5606dba53"
      ],
      "author": {
        "name": "Mateusz Kusiak",
        "email": "mateusz.kusiak@intel.com",
        "time": "Thu Jul 28 20:20:53 2022 +0800"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Wed Aug 24 11:53:40 2022 -0400"
      },
      "message": "Grow: Split Grow_reshape into helper function\n\nGrow_reshape should be split into helper functions given its size.\n- Add helper function for preparing reshape on external metadata.\n- Close cfd file descriptor.\n\nSigned-off-by: Mateusz Kusiak \u003cmateusz.kusiak@intel.com\u003e\nAcked-by: Coly Li \u003ccolyli@suse.de\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "27ad4900501c615b7c6b266bf23948e5606dba53",
      "tree": "ba2106c279531f60588c57a9f2bfa94a15f30563",
      "parents": [
        "ae5dfc56b7a96805d5a0b50eaf93b9fec8604298"
      ],
      "author": {
        "name": "Logan Gunthorpe",
        "email": "logang@deltatee.com",
        "time": "Wed Jul 27 15:52:46 2022 -0600"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Tue Aug 23 10:08:15 2022 -0400"
      },
      "message": "mdadm: Don\u0027t open md device for CREATE and ASSEMBLE\n\nThe mdadm command tries to open the md device for most modes, first\nthing, no matter what. When running to create or assemble an array,\nin most cases, the md device will not exist, the open call will fail\nand everything will proceed correctly.\n\nHowever, when running tests, a create or assembly command may be run\nshortly after stopping an array and the old md device file may still\nbe around. Then, if create_on_open is set in the kernel, a new md\ndevice will be created when mdadm does its initial open.\n\nWhen mdadm gets around to creating the new device with the new_array\nparameter it issues this error:\n\n   mdadm: Fail to create md0 when using\n   /sys/module/md_mod/parameters/new_array, fallback to creation via node\n\nThis is because an mddev was already created by the kernel with the\nearlier open() call and thus the new one being created will fail with\nEEXIST. The mdadm command will still successfully be created due to\nfalling back to the node creation method. However, the error message\nitself will fail any test that\u0027s running it.\n\nThis issue is a race condition that is very rare, but a recent change\nin the kernel caused this to happen more frequently: about 1 in 50\ntimes.\n\nTo fix this, don\u0027t bother trying to open the md device for CREATE,\nASSEMBLE and BUILD commands, as the file descriptor will never be used\nanyway even if it is successfully openned. The mdfd has not been used\nfor these commands since:\n\n   7f91af49ad09 (\"Delay creation of array devices for assemble/build/create\")\n\nThe checks that were done on the open device can be changed to being\ndone with stat.\n\nSide note: it would be nice to disable create_on_open as well to help\nsolve this, but it seems the work for this was never finished. By default,\nmdadm will create using the old node interface when a name is specified\nunless the user specifically puts names\u003dyes in a config file, which\ndoesn\u0027t seem to be common or desirable to require this..\n\nSigned-off-by: Logan Gunthorpe \u003clogang@deltatee.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "ae5dfc56b7a96805d5a0b50eaf93b9fec8604298",
      "tree": "be8274854af21114319e1c81ef351ad8ec5d0f23",
      "parents": [
        "e4a030a0d3a953b8e74c118200e58dc83c2fc608"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@linux.intel.com",
        "time": "Tue Jul 19 14:48:23 2022 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Tue Aug 23 09:52:33 2022 -0400"
      },
      "message": "mdadm: move data_offset to struct shape\n\nData offset is a shape property so move it there to remove additional\nparameter from some functions.\n\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "e4a030a0d3a953b8e74c118200e58dc83c2fc608",
      "tree": "eaabb5ad4e22c5309ade50f67efc90a5af5858d4",
      "parents": [
        "b7671c82010ffc04dfaecff2dd19ef8b2283e2b6"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@linux.intel.com",
        "time": "Tue Jul 19 14:48:22 2022 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Tue Aug 23 09:52:33 2022 -0400"
      },
      "message": "mdadm: remove symlink option\n\nThe option is not used. Remove it from code.\n\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "b7671c82010ffc04dfaecff2dd19ef8b2283e2b6",
      "tree": "9774d9a48b65979e684b84261c116903510f8ca9",
      "parents": [
        "39b381252c32275079344d30de18b76fda4bba26"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@linux.intel.com",
        "time": "Tue Jul 19 14:48:21 2022 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Tue Aug 23 09:52:33 2022 -0400"
      },
      "message": "tests: add test for names\n\nCurrent behavior is not documented and tested. This test is a base for\nfuture improvements. It is enough to test it only with native metadata,\nbecause it is generic code. Generated properties are passed to metadata\nhandler.\n\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "39b381252c32275079344d30de18b76fda4bba26",
      "tree": "74ca20fbdd168d3f926e144c675e2778c5d1b5a6",
      "parents": [
        "239b3cc0b5da87e966746533b1873c439db54b16"
      ],
      "author": {
        "name": "Logan Gunthorpe",
        "email": "logang@deltatee.com",
        "time": "Wed Jul 27 15:52:45 2022 -0600"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Tue Aug 23 09:41:28 2022 -0400"
      },
      "message": "tests/00readonly: Run udevadm settle before setting ro\n\nIn some recent kernel versions, 00readonly fails with:\n\n  mdadm: failed to set readonly for /dev/md0: Device or resource busy\n  ERROR: array is not read-only!\n\nThis was traced down to a race condition with udev holding a reference\nto the block device at the same time as trying to set it read only.\n\nTo fix this, call udevadm settle before setting the array read only.\n\nSigned-off-by: Logan Gunthorpe \u003clogang@deltatee.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "239b3cc0b5da87e966746533b1873c439db54b16",
      "tree": "c9a78bda8b8d53a8d9114cf0fc1ee4b06d411e58",
      "parents": [
        "daa86d6634761796ada1f535c13e47fdd3cc95eb"
      ],
      "author": {
        "name": "Mateusz Grzonka",
        "email": "mateusz.grzonka@intel.com",
        "time": "Fri Aug 12 16:36:02 2022 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Mon Aug 22 17:34:52 2022 -0400"
      },
      "message": "mdadm: Replace obsolete usleep with nanosleep\n\nAccording to POSIX.1-2001, usleep is considered obsolete.\nReplace it with a wrapper that uses nanosleep, as recommended in man.\nAdd handy macros for conversions between msec, usec and nsec.\n\nSigned-off-by: Mateusz Grzonka \u003cmateusz.grzonka@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "daa86d6634761796ada1f535c13e47fdd3cc95eb",
      "tree": "8bf551fa89da30650aa1e14f55f13359861356de",
      "parents": [
        "28520bf114b3b0515a48ff44fff4ecbe9ed6dfad"
      ],
      "author": {
        "name": "Logan Gunthorpe",
        "email": "logang@deltatee.com",
        "time": "Wed Jun 22 14:25:19 2022 -0600"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Sun Aug 07 16:27:59 2022 -0400"
      },
      "message": "tests: Add broken files for all broken tests\n\nEach broken file contains the rough frequency of brokeness as well\nas a brief explanation of what happens when it breaks. Estimates\nof failure rates are not statistically significant and can vary\nrun to run.\n\nThis is really just a view from my window. Tests were done on a\nsmall VM with the default loop devices, not real hardware. We\u0027ve\nseen different kernel configurations can cause bugs to appear as well\n(ie. different block schedulers). It may also be that different race\nconditions will be seen on machines with different performance\ncharacteristics.\n\nThese annotations were done with the kernel currently in md/md-next:\n\n facef3b96c5b (\"md: Notify sysfs sync_completed in md_reap_sync_thread()\")\n\nSigned-off-by: Logan Gunthorpe \u003clogang@deltatee.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "28520bf114b3b0515a48ff44fff4ecbe9ed6dfad",
      "tree": "a687d764c003dca40a4154042a122014be48e967",
      "parents": [
        "a7bfcc716e235664dfb3b6c5a9590273e611ac72"
      ],
      "author": {
        "name": "Logan Gunthorpe",
        "email": "logang@deltatee.com",
        "time": "Wed Jun 22 14:25:18 2022 -0600"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Sun Aug 07 16:27:59 2022 -0400"
      },
      "message": "mdadm/test: Mark and ignore broken test failures\n\nAdd functionality to continue if a test marked as broken fails.\n\nTo mark a test as broken, a file with the same name but with the suffix\n\u0027.broken\u0027 should exist. The first line in the file will be printed with\na KNOWN BROKEN message; the rest of the file can describe the how the\ntest is broken.\n\nAlso adds --skip-broken and --skip-always-broken to skip all the tests\nthat have a .broken file or to skip all tests whose .broken file\u0027s first\nline contains the keyword always.\n\nSigned-off-by: Logan Gunthorpe \u003clogang@deltatee.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "a7bfcc716e235664dfb3b6c5a9590273e611ac72",
      "tree": "40c3028f9ea5d5856c967b85c765d4d25553af40",
      "parents": [
        "a2c832465fc75202e244327b2081231dfa974617"
      ],
      "author": {
        "name": "Logan Gunthorpe",
        "email": "logang@deltatee.com",
        "time": "Wed Jun 22 14:25:17 2022 -0600"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Sun Aug 07 16:27:59 2022 -0400"
      },
      "message": "mdadm/test: Add a mode to repeat specified tests\n\nMany tests fail infrequently or rarely. To help find these, add\nan option to run the tests multiple times by specifying --loop\u003dN.\n\nIf --loop\u003d0 is specified, the test will be looped forever.\n\nSigned-off-by: Logan Gunthorpe \u003clogang@deltatee.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "a2c832465fc75202e244327b2081231dfa974617",
      "tree": "b391fde2e1b28b2cace2e3c1717fdfed07a9966c",
      "parents": [
        "de045db607b1ac4b70fc2a8878463e029c2ab1dc"
      ],
      "author": {
        "name": "Sudhakar Panneerselvam",
        "email": "sudhakar.panneerselvam@oracle.com",
        "time": "Wed Jun 22 14:25:16 2022 -0600"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Sun Aug 07 16:27:59 2022 -0400"
      },
      "message": "tests/02lineargrow: clear the superblock at every iteration\n\nThis fixes 02lineargrow test as prior metadata causes --add operation\nto misbehave.\n\nSigned-off-by: Sudhakar Panneerselvam \u003csudhakar.panneerselvam@oracle.com\u003e\nSigned-off-by: Himanshu Madhani \u003chimanshu.madhani@oracle.com\u003e\nSigned-off-by: Logan Gunthorpe \u003clogang@deltatee.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "de045db607b1ac4b70fc2a8878463e029c2ab1dc",
      "tree": "ac82208e289b4a5a9e9d0e652158f2dafe253387",
      "parents": [
        "14c2161edb77d7294199e8aa7daa9f9d1d0ad5d7"
      ],
      "author": {
        "name": "Sudhakar Panneerselvam",
        "email": "sudhakar.panneerselvam@oracle.com",
        "time": "Wed Jun 22 14:25:15 2022 -0600"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Sun Aug 07 16:27:59 2022 -0400"
      },
      "message": "tests/04update-metadata: avoid passing chunk size to raid1\n\n\u002704update-metadata\u0027 test fails with error, \"specifying chunk size is\nforbidden for this level\" added by commit, 5b30a34aa4b5e. Hence,\ncorrecting the test to ignore passing chunk size to raid1.\n\nSigned-off-by: Sudhakar Panneerselvam \u003csudhakar.panneerselvam@oracle.com\u003e\nSigned-off-by: Himanshu Madhani \u003chimanshu.madhani@oracle.com\u003e\n[logang@deltatee.com: fix if/then style and dropped unrelated hunk]\nSigned-off-by: Logan Gunthorpe \u003clogang@deltatee.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "14c2161edb77d7294199e8aa7daa9f9d1d0ad5d7",
      "tree": "9f2857c0c056ce5c991bf26524e05dcf77892174",
      "parents": [
        "7539254342bc591717b0051734cc6c09c1b88640"
      ],
      "author": {
        "name": "Sudhakar Panneerselvam",
        "email": "sudhakar.panneerselvam@oracle.com",
        "time": "Wed Jun 22 14:25:14 2022 -0600"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Sun Aug 07 16:27:59 2022 -0400"
      },
      "message": "tests: fix raid0 tests for 0.90 metadata\n\nSome of the test cases fail because raid0 creation fails with the error,\n\"0.90 metadata does not support layouts for RAID0\" added by commit,\n329dfc28debb. Fix some of the test cases by switching from raid0 to\nlinear level for 0.9 metadata where possible.\n\nSigned-off-by: Sudhakar Panneerselvam \u003csudhakar.panneerselvam@oracle.com\u003e\nSigned-off-by: Himanshu Madhani \u003chimanshu.madhani@oracle.com\u003e\nSigned-off-by: Logan Gunthorpe \u003clogang@deltatee.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "7539254342bc591717b0051734cc6c09c1b88640",
      "tree": "e58552f850210ceb75a1163bb59866e9a3792a4f",
      "parents": [
        "41edf6f45895193f4a523cb0a08d639c9ff9ccc9"
      ],
      "author": {
        "name": "Sudhakar Panneerselvam",
        "email": "sudhakar.panneerselvam@oracle.com",
        "time": "Wed Jun 22 14:25:13 2022 -0600"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Sun Aug 07 16:27:59 2022 -0400"
      },
      "message": "tests/00raid0: add a test that validates raid0 with layout fails for 0.9\n\n329dfc28debb disallows the creation of raid0 with layouts for 0.9\nmetadata. This test confirms the new behavior.\n\nSigned-off-by: Sudhakar Panneerselvam \u003csudhakar.panneerselvam@oracle.com\u003e\nSigned-off-by: Himanshu Madhani \u003chimanshu.madhani@oracle.com\u003e\nSigned-off-by: Logan Gunthorpe \u003clogang@deltatee.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "41edf6f45895193f4a523cb0a08d639c9ff9ccc9",
      "tree": "d6085adb5953d79b4b546152ebcced5c0740fce5",
      "parents": [
        "6c9d9260633f2c8491985b0782cf0fbd7e51651b"
      ],
      "author": {
        "name": "Logan Gunthorpe",
        "email": "logang@deltatee.com",
        "time": "Wed Jun 22 14:25:12 2022 -0600"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Sun Aug 07 16:27:59 2022 -0400"
      },
      "message": "mdadm: Fix optional --write-behind parameter\n\nThe commit noted below changed the behaviour of --write-behind to\nrequire an argument. This broke the 06wrmostly test with the error:\n\n  mdadm: Invalid value for maximum outstanding write-behind writes: (null).\n         Must be between 0 and 16383.\n\nTo fix this, check if optarg is NULL before parising it, as the origial\ncode did.\n\nFixes: 60815698c0ac (\"Refactor parse_num and use it to parse optarg.\")\nCc: Mateusz Grzonka \u003cmateusz.grzonka@intel.com\u003e\nSigned-off-by: Logan Gunthorpe \u003clogang@deltatee.com\u003e\nAcked-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "6c9d9260633f2c8491985b0782cf0fbd7e51651b",
      "tree": "624ffc9d3a33b064add609c27e75dd32376b96ee",
      "parents": [
        "9ae62977b51dab0f4bb46b1c8ea5ebd1705b2f4d"
      ],
      "author": {
        "name": "Logan Gunthorpe",
        "email": "logang@deltatee.com",
        "time": "Wed Jun 22 14:25:11 2022 -0600"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Sun Aug 07 16:27:59 2022 -0400"
      },
      "message": "mdadm: Fix mdadm -r remove option regression\n\nThe commit noted below globally adds a parameter to the -r option but missed\nthe fact that -r is used for another purpose: --remove.\n\nAfter that commit, a command such as:\n\n  mdadm /dev/md0 -r /dev/loop0\n\nwill do nothing seeing the device parameter will be consumed as a\nargument to the -r option; thus, there will only be one device\nseen one the command line, devs_found will only be 1 and nothing will\nhappen.\n\nThis caused the 01r5integ and 01raid6integ tests to hang indefinitely\nas mdadm did not remove the failed device. With the device not removed,\nit would not be readded. Then the loop waiting for the array status to\nchange would loop forever.\n\nThis commit was recently reverted, but the legitimate fix for the\nmonitor operations was still not fixed. So add specific monitor\nshort ops to re-fix the --monitor -r option.\n\nFixes: 546047688e1c (\"mdadm: fix coredump of mdadm --monitor -r\")\nFixes: 190dc029b141 (\"Revert \"mdadm: fix coredump of mdadm --monitor -r\"\")\nCc: Wu Guanghao \u003cwuguanghao3@huawei.com\u003e\nCc: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nSigned-off-by: Logan Gunthorpe \u003clogang@deltatee.com\u003e\nAcked-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "9ae62977b51dab0f4bb46b1c8ea5ebd1705b2f4d",
      "tree": "c8303e9b01db099e8cee93db4dfb488145f722b0",
      "parents": [
        "548e9b916f86c06e2cdb50d8f49633f9bec66c7e"
      ],
      "author": {
        "name": "Logan Gunthorpe",
        "email": "logang@deltatee.com",
        "time": "Wed Jun 22 14:25:10 2022 -0600"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Sun Aug 07 16:27:59 2022 -0400"
      },
      "message": "monitor: Avoid segfault when calling NULL get_bad_blocks\n\nNot all struct superswitch implement a get_bad_blocks() function,\nyet mdmon seems to call it without checking for NULL and thus\noccasionally segfaults in the test 10ddf-geometry.\n\nFix this by checking for NULL before calling it.\n\nSigned-off-by: Logan Gunthorpe \u003clogang@deltatee.com\u003e\nAcked-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "548e9b916f86c06e2cdb50d8f49633f9bec66c7e",
      "tree": "5ab94fb50d427d82500ee57fbcf6430acf1b0b79",
      "parents": [
        "2b93288a5650bb811932836f67f30d63c5ddcfbd"
      ],
      "author": {
        "name": "Logan Gunthorpe",
        "email": "logang@deltatee.com",
        "time": "Wed Jun 22 14:25:09 2022 -0600"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Sun Aug 07 16:27:59 2022 -0400"
      },
      "message": "mdadm/Grow: Fix use after close bug by closing after fork\n\nThe test 07reshape-grow fails most of the time. But it succeeds around\n1 in 5 times. When it does succeed, it causes the tests to die because\nmdadm has segfaulted.\n\nThe segfault was caused by mdadm attempting to repoen a file\ndescriptor that was already closed. The backtrace of the segfault\nwas:\n\n  #0  __strncmp_avx2 () at ../sysdeps/x86_64/multiarch/strcmp-avx2.S:101\n  #1  0x000056146e31d44b in devnm2devid (devnm\u003d0x0) at util.c:956\n  #2  0x000056146e31dab4 in open_dev_flags (devnm\u003d0x0, flags\u003d0)\n                         at util.c:1072\n  #3  0x000056146e31db22 in open_dev (devnm\u003d0x0) at util.c:1079\n  #4  0x000056146e3202e8 in reopen_mddev (mdfd\u003d4) at util.c:2244\n  #5  0x000056146e329f36 in start_array (mdfd\u003d4,\n              mddev\u003d0x7ffc55342450 \"/dev/md0\", content\u003d0x7ffc55342860,\n              st\u003d0x56146fc78660, ident\u003d0x7ffc55342f70, best\u003d0x56146fc6f5d0,\n              bestcnt\u003d10, chosen_drive\u003d0, devices\u003d0x56146fc706b0, okcnt\u003d5,\n\t      sparecnt\u003d0,  rebuilding_cnt\u003d0, journalcnt\u003d0, c\u003d0x7ffc55342e90,\n\t      clean\u003d1,  avail\u003d0x56146fc78720 \"\\001\\001\\001\\001\\001\",\n\t      start_partial_ok\u003d0, err_ok\u003d0, was_forced\u003d0)\n\t                  at Assemble.c:1206\n  #6  0x000056146e32c36e in Assemble (st\u003d0x56146fc78660,\n               mddev\u003d0x7ffc55342450 \"/dev/md0\", ident\u003d0x7ffc55342f70,\n\t       devlist\u003d0x56146fc6e2d0, c\u003d0x7ffc55342e90)\n\t                 at Assemble.c:1914\n  #7  0x000056146e312ac9 in main (argc\u003d11, argv\u003d0x7ffc55343238)\n                         at mdadm.c:1510\n\nThe file descriptor was closed early in Grow_continue(). The noted commit\nmoved the close() call to close the fd above the fork which caused the\nparent process to return with a closed fd.\n\nThis meant reshape_array() and Grow_continue() would return in the parent\nwith the fd forked. The fd would eventually be passed to reopen_mddev()\nwhich returned an unhandled NULL from fd2devnm() which would then be\ndereferenced in devnm2devid.\n\nFix this by moving the close() call below the fork. This appears to\nfix the 07revert-grow test. While we\u0027re at it, switch to using\nclose_fd() to invalidate the file descriptor.\n\nFixes: 77b72fa82813 (\"mdadm/Grow: prevent md\u0027s fd from being occupied during delayed time\")\nCc: Alex Wu \u003calexwu@synology.com\u003e\nCc: BingJing Chang \u003cbingjingc@synology.com\u003e\nCc: Danny Shih \u003cdannyshih@synology.com\u003e\nCc: ChangSyun Peng \u003callenpeng@synology.com\u003e\nSigned-off-by: Logan Gunthorpe \u003clogang@deltatee.com\u003e\nAcked-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "2b93288a5650bb811932836f67f30d63c5ddcfbd",
      "tree": "79638716ccc3ce218dde0cfbd24036a9c5113819",
      "parents": [
        "679bd9508a30b2a0a1baecc9a21dd6c7d8d8d7dc"
      ],
      "author": {
        "name": "Logan Gunthorpe",
        "email": "logang@deltatee.com",
        "time": "Wed Jun 22 14:25:08 2022 -0600"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Sun Aug 07 16:27:59 2022 -0400"
      },
      "message": "DDF: Fix NULL pointer dereference in validate_geometry_ddf()\n\nA relatively recent patch added a call to validate_geometry() in\nManage_add() that has level\u003dLEVEL_CONTAINER and chunk\u003dNULL.\n\nThis causes some ddf tests to segfault which aborts the test suite.\n\nTo fix this, avoid dereferencing chunk when the level is\nLEVEL_CONTAINER or LEVEL_NONE.\n\nFixes: 1f5d54a06df0 (\"Manage: Call validate_geometry when adding drive to external container\")\nSigned-off-by: Logan Gunthorpe \u003clogang@deltatee.com\u003e\nAcked-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "679bd9508a30b2a0a1baecc9a21dd6c7d8d8d7dc",
      "tree": "26b67a08d87894cddb899055018261f988bfe880",
      "parents": [
        "14ae4c37bce9a53da08d59d6c2d7e0946e9c9f47"
      ],
      "author": {
        "name": "Logan Gunthorpe",
        "email": "logang@deltatee.com",
        "time": "Wed Jun 22 14:25:07 2022 -0600"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Sun Aug 07 16:27:59 2022 -0400"
      },
      "message": "DDF: Cleanup validate_geometry_ddf_container()\n\nMove the function up so that the function declaration is not necessary\nand remove the unused arguments to the function.\n\nNo functional changes are intended but will help with a bug fix in the\nnext patch.\n\nSigned-off-by: Logan Gunthorpe \u003clogang@deltatee.com\u003e\nAcked-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "14ae4c37bce9a53da08d59d6c2d7e0946e9c9f47",
      "tree": "76c81a6029d32c67fc031c4b631dd7d6540d598f",
      "parents": [
        "84d969be8f6d8a345b75f558fad26e4f62a558f6"
      ],
      "author": {
        "name": "Logan Gunthorpe",
        "email": "logang@deltatee.com",
        "time": "Wed Jun 22 14:25:06 2022 -0600"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jes@trained-monkey.org",
        "time": "Sun Aug 07 16:27:59 2022 -0400"
      },
      "message": "Makefile: Don\u0027t build static build with everything and everything-test\n\nRunning the test suite requires building everything, but it seems to be\ndifficult to build the static version of mdadm now seeing there\nis no readily available static udev library.\n\nThe test suite doesn\u0027t need the static binary so just don\u0027t build it\nwith the everything or everything-test targets.\n\nLeave the mdadm.static and install-static targets in place in case\nsomeone still has a use case for the static binary.\n\nSigned-off-by: Logan Gunthorpe \u003clogang@deltatee.com\u003e\nAcked-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\n"
    },
    {
      "commit": "84d969be8f6d8a345b75f558fad26e4f62a558f6",
      "tree": "2e9e2bf18cafbddbe4081e0541a74d5f44248808",
      "parents": [
        "c8d1c398505b62d9129a4e711f17e4469f4327ff"
      ],
      "author": {
        "name": "Kinga Tanska",
        "email": "kinga.tanska@intel.com",
        "time": "Thu Jul 14 09:02:11 2022 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Thu Jul 28 17:10:22 2022 -0400"
      },
      "message": "Monitor: use snprintf to fill device name\n\nSafe string functions are propagated in Monitor.c.\n\nSigned-off-by: Kinga Tanska \u003ckinga.tanska@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "c8d1c398505b62d9129a4e711f17e4469f4327ff",
      "tree": "780e9e27726b48eff4a1411199d8397201a4189f",
      "parents": [
        "751757620afb25a4c02746bf8368a7b5f22352ec"
      ],
      "author": {
        "name": "Kinga Tanska",
        "email": "kinga.tanska@intel.com",
        "time": "Thu Jul 14 09:02:10 2022 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Thu Jul 28 17:10:22 2022 -0400"
      },
      "message": "Monitor: use devname as char array instead of pointer\n\nDevice name wasn\u0027t filled properly due to incorrect use of strcpy.\nStrcpy was used twice. Firstly to fill devname with \"/dev/md/\"\nand then to add chosen name. First strcpy result was overwritten by\nsecond one (as a result \u003cdevice_name\u003e instead of \"/dev/md/\u003cdevice_name\u003e\"\nwas assigned). This commit changes this implementation to use snprintf\nand devname with fixed size.\n\nSigned-off-by: Kinga Tanska \u003ckinga.tanska@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "751757620afb25a4c02746bf8368a7b5f22352ec",
      "tree": "08f458318f4dbf03a22526001fbeccb0fae2a40c",
      "parents": [
        "42e02e613fb0b4a2c0c0d984b9e6e2933875bb44"
      ],
      "author": {
        "name": "Lukasz Florczak",
        "email": "lukasz.florczak@linux.intel.com",
        "time": "Fri Jul 22 08:43:48 2022 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Thu Jul 28 16:53:48 2022 -0400"
      },
      "message": "mdadm: Remove dead code in imsm_fix_size_mismatch\n\nimsm_create_metadata_update_for_size_change() that returns u_size value\ncould return 0 in the past. As its behavior changed, and returned value\nis always the size of imsm_update_size_change structure, check for\nu_size is no longer needed.\n\nSigned-off-by: Lukasz Florczak \u003clukasz.florczak@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "42e02e613fb0b4a2c0c0d984b9e6e2933875bb44",
      "tree": "f159defa97875fee251b699c0be530d7bc2118a7",
      "parents": [
        "70f1ff4291b0388adca1f4c91918ce1175e8b360"
      ],
      "author": {
        "name": "Lukasz Florczak",
        "email": "lukasz.florczak@linux.intel.com",
        "time": "Fri Jul 22 08:43:47 2022 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Thu Jul 28 16:53:47 2022 -0400"
      },
      "message": "mdadm: Fix array size mismatch after grow\n\nimsm_fix_size_mismatch() is invoked to fix the problem, but it couldn\u0027t\nproceed due to migration check. This patch allows for intended behavior.\n\nSigned-off-by: Lukasz Florczak \u003clukasz.florczak@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "70f1ff4291b0388adca1f4c91918ce1175e8b360",
      "tree": "c15f74eefd9c8477b7bf51b62068a0da90cae212",
      "parents": [
        "9a7df595bbe360132cb37c8b39aa1fd9ac24b43f"
      ],
      "author": {
        "name": "Lukasz Florczak",
        "email": "lukasz.florczak@linux.intel.com",
        "time": "Wed Jun 15 14:28:39 2022 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Fri Jun 24 14:09:38 2022 -0400"
      },
      "message": "mdadm: block update\u003dppl for non raid456 levels\n\nOption ppl should be used only for raid levels 4, 5 and 6. Cancel update\nfor other levels.\n\nApplied globally for imsm and ddf format.\n\nAdditionally introduce is_level456() helper function.\n\nSigned-off-by: Lukasz Florczak \u003clukasz.florczak@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    }
  ],
  "next": "9a7df595bbe360132cb37c8b39aa1fd9ac24b43f"
}
