)]}'
{
  "log": [
    {
      "commit": "feeb2785e67f084cb5d706fe5f074ade50bece78",
      "tree": "69a0a80e0f17550e7c24afe2b580df196dd22809",
      "parents": [
        "b8bbf264ee336a196409bf10a497384a4a5a1b50"
      ],
      "author": {
        "name": "Mateusz Kusiak",
        "email": "mateusz.kusiak@intel.com",
        "time": "Thu Aug 12 13:48:48 2021 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Fri Aug 13 15:21:12 2021 -0400"
      },
      "message": "Utils: Change sprintf to snprintf\n\nUsing sprintf can cause segmentation fault by exceeding the size of buffer array.\n\nSigned-off-by: Mateusz Kusiak \u003cmateusz.kusiak@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "b8bbf264ee336a196409bf10a497384a4a5a1b50",
      "tree": "302d25579b3a4508bdeef8bca568e2c467c5ddd5",
      "parents": [
        "e6878148c1742b1f78a659503f5e5067501ebf73"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Mon Aug 02 13:07:32 2021 -0400"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Mon Aug 02 13:08:19 2021 -0400"
      },
      "message": "Release mdadm-4.2-rc2\n\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "e6878148c1742b1f78a659503f5e5067501ebf73",
      "tree": "ecf4b0397e6c5cf07c41a8c2dfbe874f2a496fcc",
      "parents": [
        "0663137c77bc848b2927075c077b545fceeb4dae"
      ],
      "author": {
        "name": "Sudhakar Panneerselvam",
        "email": "sudhakar.panneerselvam@oracle.com",
        "time": "Thu Jul 22 18:28:34 2021 +0000"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Mon Aug 02 10:53:33 2021 -0400"
      },
      "message": "Assemble: skip devices that don\u0027t match uuid instead of aborting the assembly.\n\nThis fixes \u002703r0assem\u0027 test as assembly fails when looking for specific\nuuid among the device list.\n\nSigned-off-by: Sudhakar Panneerselvam \u003csudhakar.panneerselvam@oracle.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "0663137c77bc848b2927075c077b545fceeb4dae",
      "tree": "096e70e328bc0d2e5b7309a19b80d9c3275e7dac",
      "parents": [
        "2b2c5668fd291136174d3b1aad94d0def8642161"
      ],
      "author": {
        "name": "oshchirs",
        "email": "oleksandr.shchirskyi@intel.com",
        "time": "Fri Jul 30 11:16:00 2021 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Mon Aug 02 10:24:20 2021 -0400"
      },
      "message": "Add monitor delay parameter to mdadm.conf\n\nAdd possibility to configure delay for mdadm in monitoring mode\nusing mdadm.conf.\n--delay command line argument takes precedence over config file.\n\nSigned-off-by: Oleksandr Shchirskyi \u003coleksandr.shchirskyi@intel.com\u003e\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "2b2c5668fd291136174d3b1aad94d0def8642161",
      "tree": "5a73e49fd486c3a18ae28ccb7220072e93c02d51",
      "parents": [
        "7d374a1869d3a84971d027a7f4233878c8f25a62"
      ],
      "author": {
        "name": "Mateusz Grzonka",
        "email": "mateusz.grzonka@intel.com",
        "time": "Wed Jul 28 16:31:11 2021 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Mon Aug 02 10:04:35 2021 -0400"
      },
      "message": "tests: Avoid passing chunk size when creating RAID 1\n\nTests fail because passing chunk size for RAID 1 is now forbidden.\nFailing tests:\n- 14imsm-r1_2d-grow-r1_3d\n- 14imsm-r1_2d-takeover-r0_2d\n- 18imsm-1d-takeover-r1_2d\n- 18imsm-r1_2d-takeover-r0_1d\n\nCorrect tests to not pass chunk size when RAID level is 1.\n\nSigned-off-by: Mateusz Grzonka \u003cmateusz.grzonka@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "7d374a1869d3a84971d027a7f4233878c8f25a62",
      "tree": "e4287c379dfe09924a1b9d39d68feff975009fad",
      "parents": [
        "92a647c8a0ea26697967174fe24bc5cc47ce8f30"
      ],
      "author": {
        "name": "Mateusz Grzonka",
        "email": "mateusz.grzonka@intel.com",
        "time": "Tue Jul 27 10:25:18 2021 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Mon Aug 02 10:03:38 2021 -0400"
      },
      "message": "Fix memory leak after \"mdadm --detail\"\n\nSigned-off-by: Mateusz Grzonka \u003cmateusz.grzonka@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "92a647c8a0ea26697967174fe24bc5cc47ce8f30",
      "tree": "a87b6ed5f7e58b381e5d918b5eabb0a747f6103f",
      "parents": [
        "1c275381c92941d74daf840c495ef6f840fcd6b7"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@linux.intel.com",
        "time": "Wed Jul 21 17:47:54 2021 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Tue Jul 27 17:35:33 2021 -0400"
      },
      "message": "Assemble: start dirty and degraded array.\n\nThe case when array is already degraded has been omitted\nby commit 7b99edab2834 (\"Assemble.c: respect force flag.\").\nAppropriative support has been added now.\n\nHandlers for \"run\" and \"force\" have been divided into independent\nroutines. Especially force has to be as meaningless as possible.\nIt respects following rules:\n    - user agrees to start array as degraded (by --run) or is already\n      degraded\n    - raid456 module is in use\n    - some drives are missing (to limit potential abuses)\n\nIt doesn\u0027t allow to skip resync on dirty, but not degraded array.\n\nThis patch cleans up message generation for external array and makes it\nconsistent. Following code could be reused also for native.\n\nIn current implementation assemble_container_content is called once, in\nboth Incremental or Assembly mode. Thus makes that partial assembly is\nnot likely to happen. It is possible, but requires user input.\nPartial assembly during reshape fails (sysfs_set_array\nerror - not yet investigated). For now I put FIXME to mark current\nlogic as known to be buggy because preexist_cnt contains both exp_cnt\nand new_cnt which may produce an incorrect message.\n\nCheck for new disks and runstop is unnecessary, so has been removed.\nThis allows to print assemble status in every case, even if nothing new\nhappens.\n\nReported-by: Devon Beets \u003cdevon@sigmalabsinc.com\u003e\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "1c275381c92941d74daf840c495ef6f840fcd6b7",
      "tree": "ae28e2cd8b6e99ebe52f114bad04f374730a44c1",
      "parents": [
        "5b30a34aa4b5ea7a8202314c1d737ec4a481c127"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@linux.intel.com",
        "time": "Wed Jul 21 13:42:20 2021 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Tue Jul 27 16:05:00 2021 -0400"
      },
      "message": "imsm: fix num_data_stripes after raid0 takeover\n\nAfter raid1 to raid0 migration num_data_stripes value is\nincorrect because was additionally divided by 2.\n\nCreate dedicated setters for num_data_stripes and num_domains\nand propagate it across the code to unify alghoritms and\neliminate similar mistakes.\n\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "5b30a34aa4b5ea7a8202314c1d737ec4a481c127",
      "tree": "4f1fca60453dba48eb645e3dfcc99ff2a8549405",
      "parents": [
        "3a85bf0e417d0977136efbade7c7ea269e24bc21"
      ],
      "author": {
        "name": "Mateusz Grzonka",
        "email": "mateusz.grzonka@intel.com",
        "time": "Thu Jul 15 12:25:23 2021 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Fri Jul 16 10:31:41 2021 -0400"
      },
      "message": "Add error handling for chunk size in RAID1\n\nPrint error if chunk size is set as it is not supported.\n\nSigned-off-by: Mateusz Grzonka \u003cmateusz.grzonka@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "3a85bf0e417d0977136efbade7c7ea269e24bc21",
      "tree": "07841a8564d8558698cecba24ca9049a622b6656",
      "parents": [
        "ccd61ebfd97fde43768497c79e3d361b484b1520"
      ],
      "author": {
        "name": "Mateusz Grzonka",
        "email": "mateusz.grzonka@intel.com",
        "time": "Mon Jun 28 14:15:04 2021 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Fri Jul 16 10:30:11 2021 -0400"
      },
      "message": "imsm: Fix possible memory leaks and refactor freeing struct dl\n\nFree memory allocated by structs dl and intel_super.\nAllow __free_imsm_disk to decide if fd has to be closed and propagate it\nacross code instead of direct struct dl freeing.\n\nSigned-off-by: Mateusz Grzonka \u003cmateusz.grzonka@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "ccd61ebfd97fde43768497c79e3d361b484b1520",
      "tree": "9465a2283db0853982740944acf831089ba0760a",
      "parents": [
        "601ffa784f03cea843b9b732e561ffea0b8c036f"
      ],
      "author": {
        "name": "Xiao Ni",
        "email": "xni@redhat.com",
        "time": "Tue Jun 22 23:15:55 2021 +0800"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Fri Jul 16 10:27:17 2021 -0400"
      },
      "message": "mdadm: Fix building errors\n\nIn util.c, there is a building error:\n\u0027/md/metadata_version\u0027 directive writing 20 bytes into a\nregion of size between 0 and 255 [-Werror\u003dformat-overflow\u003d]\n\nIn mapfile.c\nIt declares the fouth argument as \u0027int *\u0027 in map_update,\nbut in mdadm.h it\u0027s previously declared as an array \u0027int[4]\u0027\n\nSigned-off-by: Xiao Ni \u003cxni@redhat.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "601ffa784f03cea843b9b732e561ffea0b8c036f",
      "tree": "2ed2d7ee8c5b2f0d653a5673b8faa7fcecd3b395",
      "parents": [
        "8d69bf147ec77447c5d45c17bed7dc017808cc44"
      ],
      "author": {
        "name": "Oleksandr Shchirskyi",
        "email": "oleksandr.shchirskyi@linux.intel.com",
        "time": "Fri Jun 18 15:53:32 2021 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Fri Jul 16 10:25:45 2021 -0400"
      },
      "message": "Don\u0027t associate spares with other arrays during RAID Examine\n\nSpares in imsm belong to containers, not volumes, and must go into\na separate container when assembling the RAID.\nRemove association spares with other arrays and make Examine print\nseparate containers for spares.\nAuto assemble without config file already works like this. So make\ncreating a config file and assembling from it consistent with auto\nassemble.\nWith this change, mdadm -Es will add this line to output if spares\nare found:\nARRAY metadata\u003dimsm UUID\u003d00000000:00000000:00000000:00000000\n\nSigned-off-by: Oleksandr Shchirskyi \u003coleksandr.shchirskyi@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "8d69bf147ec77447c5d45c17bed7dc017808cc44",
      "tree": "ccfbf03660ef38acdc9a2183b56cee247de19090",
      "parents": [
        "7d8935cbb0fdb2b776b736bffc00323a04e5f788"
      ],
      "author": {
        "name": "Oleksandr Shchirskyi",
        "email": "oleksandr.shchirskyi@linux.intel.com",
        "time": "Fri Jun 18 15:53:31 2021 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Fri Jul 16 10:25:22 2021 -0400"
      },
      "message": "Remove Spare drives line from details for external metadata\n\nArrays with external metadata do not have spare disks directly\nassigned to volumes; spare disks belong to containers and are\nmoved to arrays when the array is degraded/reshaping.\nThus, the display of zero spare disks in volume details is\nincorrect and can be confusing.\n\nSigned-off-by: Oleksandr Shchirskyi \u003coleksandr.shchirskyi@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "7d8935cbb0fdb2b776b736bffc00323a04e5f788",
      "tree": "a90a1b656cff21d0187c93f54b6687ed0ad9a664",
      "parents": [
        "dca80fcd5d15c37ecbd82763e6fe4aee8c077bf9"
      ],
      "author": {
        "name": "Oleksandr Shchirskyi",
        "email": "oleksandr.shchirskyi@linux.intel.com",
        "time": "Fri Jun 18 15:53:30 2021 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Fri Jul 16 10:25:13 2021 -0400"
      },
      "message": "imsm: correct offset for 4k disks in --examine output\n\n\"Sector Offset\" field in Examine output was always printed in 512\nbyte sectors. Update it to support 4096 sector size.\n\nSigned-off-by: Oleksandr Shchirskyi \u003coleksandr.shchirskyi@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "dca80fcd5d15c37ecbd82763e6fe4aee8c077bf9",
      "tree": "a3e304069f060f9a5199185792797865019efabc",
      "parents": [
        "f421731c7e1de6608f8fafb551d199ff5f1d6b97"
      ],
      "author": {
        "name": "Blazej Kucman",
        "email": "blazej.kucman@intel.com",
        "time": "Tue Jun 15 16:45:39 2021 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Fri Jul 16 10:23:05 2021 -0400"
      },
      "message": "Use dev_open in validate geometry container\n\nFix regression caused by the patch 1f5d54a06\n(\"Manage: Call validate_geometry when adding drive to external container\")\n- mdmonitor passes to Manage() routine dev name as min:mjr.\nThe open() used in validate_geometry_container()\nin both ddf and imsm requires path, replace open calls by dev_open,\nwhich allows to use dev path and min:mjr.\n\nSigned-off-by: Blazej Kucman \u003cblazej.kucman@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "f421731c7e1de6608f8fafb551d199ff5f1d6b97",
      "tree": "779f7172ad0dbecba504afcded1209c71afede8f",
      "parents": [
        "1f5d54a06df01ca3032ca2d29159584cab7d7509"
      ],
      "author": {
        "name": "Xiao Ni",
        "email": "xni@redhat.com",
        "time": "Wed Jun 02 09:17:19 2021 +0800"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Fri Jul 16 10:21:49 2021 -0400"
      },
      "message": "mdadm/super1: It needs to specify int32 for bitmap_offset\n\nFor super1.0 bitmap offset is -16. So it needs to use int type for bitmap offset.\n\nFixes: 1fe2e1007310 (mdadm/bitmap: locate bitmap calcuate bitmap position wrongly)\nSigned-off-by: Xiao Ni \u003cxni@redhat.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "1f5d54a06df01ca3032ca2d29159584cab7d7509",
      "tree": "9c08f26bce615f9fedfc4becf9e14394756afe67",
      "parents": [
        "8662f92d71f1f88589061272606b8b673d31de05"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@linux.intel.com",
        "time": "Mon May 17 16:39:03 2021 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Wed May 26 07:26:34 2021 -0400"
      },
      "message": "Manage: Call validate_geometry when adding drive to external container\n\nWhen adding drive to container call validate_geometry to verify whether\ndrive is supported and can be addded to container.\n\nRemove unused parameters from validate_geometry_imsm_container().\nThere is no need to pass them.\nDon\u0027t calculate freesize if it is not mandatory. Make it configurable.\n\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "8662f92d71f1f88589061272606b8b673d31de05",
      "tree": "d18bc448c4c23390d7b01351c4999444be27da3a",
      "parents": [
        "fcebeb77b18842876295b1a0dbc22d173a709434"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@linux.intel.com",
        "time": "Mon May 17 16:39:02 2021 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Wed May 26 07:26:32 2021 -0400"
      },
      "message": "imsm: Limit support to the lowest namespace\n\nFirst namespace existence is not quaranted by NVMe specification.\nInstead first the smallest one shall be chosen.\n\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "fcebeb77b18842876295b1a0dbc22d173a709434",
      "tree": "3bbdf4265ebba5a92ea7d878798f8caa667a590a",
      "parents": [
        "7c798f870900f6f4d4647dd3c88318524d7ccee4"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@linux.intel.com",
        "time": "Mon May 17 16:39:01 2021 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Wed May 26 07:26:30 2021 -0400"
      },
      "message": "imsm: add devpath_to_char method\n\nAdd method for reading sysfs attributes and propagate it across IMSM code.\n\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "7c798f870900f6f4d4647dd3c88318524d7ccee4",
      "tree": "cc2a1a94251ff5c6aa9c4f828a5e9dcb0ced8a91",
      "parents": [
        "0530e2e0d8c9ecb5171e70bc48e1a6566f317378"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@linux.intel.com",
        "time": "Mon May 17 16:39:00 2021 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Wed May 26 07:26:21 2021 -0400"
      },
      "message": "imsm: add generic method to resolve \"device\" links\n\nEach virtual device is linked with parent by \"device\". This patch adds\npossibility to get previous device in sysfs tree.\n\nDepending on device type, there is a different amount of virutal\nlayers. The best we can do is allow to directly specify how many\n\"device\" links need to be resolved. This approach also allows to get\nprevious virtual device, which may contain some attributes.\n\nSimplify fd2devname, this function doesn\u0027t require new functionality and\nshall use generic fd2kname.\n\nFor nvme drives represented via nvme-subystem when path to block\ndevice if requested, then return it without translation.\n\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "0530e2e0d8c9ecb5171e70bc48e1a6566f317378",
      "tree": "9512ac499faa4dce8b16cf2c25f38d28f74a692a",
      "parents": [
        "83b3de7795d2a421eb6ae4ab97656a250bb898ea"
      ],
      "author": {
        "name": "Norbert Szulc",
        "email": "norbert.szulc@intel.com",
        "time": "Wed May 05 13:01:02 2021 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Thu May 06 17:01:25 2021 -0400"
      },
      "message": "Prevent user from using --stop with ambiguous args\n\nWhen both --scan and device name is passed to --stop action,\nthen is executed only for given device. Scan is ignored.\n\nBlock the operation when both --scan and device name are passed.\n\nSigned-off-by: Norbert Szulc \u003cnorbert.szulc@intel.com\u003e\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "83b3de7795d2a421eb6ae4ab97656a250bb898ea",
      "tree": "6e8c64627cd48a787ced146cda50d5e9d4019d17",
      "parents": [
        "ff904202a4a6232e0f0dfea31a7c4a34ab08f76e"
      ],
      "author": {
        "name": "Xiao Ni",
        "email": "xni@redhat.com",
        "time": "Fri Apr 23 14:01:30 2021 +0800"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Thu May 06 16:47:10 2021 -0400"
      },
      "message": "Fix some building errors\n\nThere are some building errors if treating warning as errors.\nFix them in this patch.\n\nSigned-off-by: Xiao Ni \u003cxni@redhat.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "ff904202a4a6232e0f0dfea31a7c4a34ab08f76e",
      "tree": "ebda20f737d796378b9718bb49b25c6915cb36fc",
      "parents": [
        "c11b1c3cede2e91988aaf36a6496ec1a5d6589a3"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@linux.intel.com",
        "time": "Wed Apr 21 16:50:08 2021 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Thu May 06 16:40:29 2021 -0400"
      },
      "message": "imsm: change wrong size verification\n\nExpectation that size is always rounded is incorrect.\nJust confirm that size is smaller to be certain that update is safe.\n\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "c11b1c3cede2e91988aaf36a6496ec1a5d6589a3",
      "tree": "83162964ea2bd75f52947d6724b3b806cb81600d",
      "parents": [
        "aec016303bfa65ff5fac679698f3d47eeca3d823"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Wed Apr 14 11:02:53 2021 -0400"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Wed Apr 14 11:16:03 2021 -0400"
      },
      "message": "Release mdadm-4.2-rc1\n\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "aec016303bfa65ff5fac679698f3d47eeca3d823",
      "tree": "aad9c607a728094d9ad9b030510cc0d3460df06a",
      "parents": [
        "78c93b006e6127e62ca62adfb107c13fe5429386"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Wed Apr 14 11:15:07 2021 -0400"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Wed Apr 14 11:16:03 2021 -0400"
      },
      "message": "super-intel.c: Handle errors from calls to get_dev_sector_size()\n\nThe compiler gets rather upset if we do not take care of this.\n\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "78c93b006e6127e62ca62adfb107c13fe5429386",
      "tree": "a7eadf61596b4a4cf61459a0f0a735517a2cc6fd",
      "parents": [
        "af3396dadfcd3b13480d021b8d3645c6d2420f79"
      ],
      "author": {
        "name": "Nigel Croxon",
        "email": "ncroxon@redhat.com",
        "time": "Fri Mar 26 07:56:10 2021 -0400"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Tue Apr 06 14:31:20 2021 -0400"
      },
      "message": "mdadm: fix growing containers\n\nThis fixes growing containers which was broken with\ncommit 4ae96c802203ec3c (mdadm: fix reshape from RAID5 to RAID6 with\nbackup file)\n\nThe issue being that containers use the function\nwait_for_reshape_isms and expect a number value and not a\nstring value of \"max\".  The change is to test for external\nbefore setting the correct value.\n\nSigned-off-by: Nigel Croxon \u003cncroxon@redhat.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "af3396dadfcd3b13480d021b8d3645c6d2420f79",
      "tree": "1f18fca15c4145fd08eb854844a026c8b2d67b9f",
      "parents": [
        "f94df5cf83917df50a3436dd067c751504bfc665"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@linux.intel.com",
        "time": "Thu Mar 18 17:12:35 2021 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Fri Mar 19 08:31:11 2021 -0400"
      },
      "message": "Monitor: make libudev dependency optional\n\nMake -ludev configurable, enabled by default.\nTo disable it, -DNO_LIBUDEV has to be set explicitly in CXFALGS.\n\nThis patch restores commit cab9c67d461c (\"mdmonitor: set small delay\nonce\") for configuration without libudev to bring minimal support in\nsuch case.\n\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "f94df5cf83917df50a3436dd067c751504bfc665",
      "tree": "41c7a1929fa1eb010510503444dd6d8b01d44693",
      "parents": [
        "d835518b6b5381da773e1ce1ae10614239017ecf"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@linux.intel.com",
        "time": "Wed Mar 17 13:01:54 2021 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Thu Mar 18 10:50:53 2021 -0400"
      },
      "message": "imsm: support for third Sata controller\n\nAdd new UEFI TSata variable. Remove CSata variable.\nThis variable has been never exposed by UEFI.\nRemove vulnerability to match different hbas with SATA variable.\n\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "d835518b6b5381da773e1ce1ae10614239017ecf",
      "tree": "ff73bad0b201020f56806523b1df7bc534d967fe",
      "parents": [
        "4036e7ee350c60cb5ad7962ee037efc011eb0c41"
      ],
      "author": {
        "name": "Blazej Kucman",
        "email": "blazej.kucman@intel.com",
        "time": "Fri Mar 12 10:30:16 2021 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Tue Mar 16 16:22:39 2021 -0400"
      },
      "message": "imsm: nvme multipath support\n\nAdd support for nvme devices which are represented\nvia nvme-subsystem.\nPrint warning when multi-path disk is added to RAID.\n\nSigned-off-by: Oleksandr Shchirskyi \u003coleksandr.shchirskyi@intel.com\u003e\nSigned-off-by: Blazej Kucman \u003cblazej.kucman@intel.com\u003e\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "4036e7ee350c60cb5ad7962ee037efc011eb0c41",
      "tree": "5d18fa2cba9d6613812688eeb38098d8442a611c",
      "parents": [
        "bdbe7f8199361a170d16f6d114fa61cd7e72599f"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@linux.intel.com",
        "time": "Thu Mar 11 13:52:45 2021 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Tue Mar 16 16:21:07 2021 -0400"
      },
      "message": "imsm: extend curr_migr_unit to u64\n\nMake it u64 to align it with curr_migr_init field from migration_area.\n\nName helpers as vol_curr_migr_unit for differentiation between those\nfields. Add ommited fillers in struct migr_record.\n\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "bdbe7f8199361a170d16f6d114fa61cd7e72599f",
      "tree": "522e2445fed54d72633b2b29248004bf2ff07914",
      "parents": [
        "848d71c91dc249098bdbbf319e25d319eb1d8e23"
      ],
      "author": {
        "name": "Jakub Radtke",
        "email": "jakub.radtke@intel.com",
        "time": "Fri Jan 15 00:47:01 2021 -0500"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Tue Mar 09 17:18:06 2021 -0500"
      },
      "message": "Grow: Block reshape when external metadata and write-intent bitmap\n\nCurrent kernel sysfs interface for the bitmap is limited. It allows\nthe applying of the bitmap on non-active volumes only.\nThe reshape operation for a volume with a bitmap should be blocked.\n\nSigned-off-by: Jakub Radtke \u003cjakub.radtke@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "848d71c91dc249098bdbbf319e25d319eb1d8e23",
      "tree": "e7771d6efd6a70301b3d1ef200f24130c1197a55",
      "parents": [
        "19ad203ecbceca51120a8b8cabc202e1053f41b4"
      ],
      "author": {
        "name": "Jakub Radtke",
        "email": "jakub.radtke@intel.com",
        "time": "Fri Jan 15 00:47:00 2021 -0500"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Tue Mar 09 17:18:02 2021 -0500"
      },
      "message": "Create: Block automatic enabling bitmap for external metadata\n\nFor external metadata, bitmap should be added only when\nexplicitly set by the administrator.\nThey could be additional requirements to consider before\nenabling the external metadata\u0027s functionality\n(e.g., kernel support).\n\nSigned-off-by: Jakub Radtke \u003cjakub.radtke@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "19ad203ecbceca51120a8b8cabc202e1053f41b4",
      "tree": "3ccb5379d54a939f17d79b6277432ac0d95fca8c",
      "parents": [
        "dc95f821ec58be8bccffc0858edca2d12fecef72"
      ],
      "author": {
        "name": "Jakub Radtke",
        "email": "jakub.radtke@intel.com",
        "time": "Fri Jan 15 00:46:59 2021 -0500"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Tue Mar 09 17:17:59 2021 -0500"
      },
      "message": "imsm: Update-subarray for write-intent bitmap\n\nThe patch updates the current bitmap functionality to handle adding\nthe bitmap on existing volumes.\n\nSigned-off-by: Jakub Radtke \u003cjakub.radtke@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "dc95f821ec58be8bccffc0858edca2d12fecef72",
      "tree": "2e3ff10a0a97630bab49663fb7dc5a7f170a01a7",
      "parents": [
        "69d40de44b6b90c498323490b7310399a6833d0d"
      ],
      "author": {
        "name": "Jakub Radtke",
        "email": "jakub.radtke@intel.com",
        "time": "Fri Jan 15 00:46:58 2021 -0500"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Tue Mar 09 17:17:55 2021 -0500"
      },
      "message": "Add \"bitmap\" to allowed command-line values\n\nCurrently, the sysfs interface allows bitmap setup only when volume\nis in an inactive state.\nFor external metadata to add bitmap to existing volume instead of\nGROW, the UPDATE operation can be done.\nThe patch adds a \"bitmap\" argument to the allowed values for UPDATE.\n\nSigned-off-by: Jakub Radtke \u003cjakub.radtke@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "69d40de44b6b90c498323490b7310399a6833d0d",
      "tree": "9d209fd862bf35fd9841b70e6b2651def36ef217",
      "parents": [
        "fbc425562c5787b9aabb2d3b2d4fb6f18c553852"
      ],
      "author": {
        "name": "Jakub Radtke",
        "email": "jakub.radtke@intel.com",
        "time": "Fri Jan 15 00:46:57 2021 -0500"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Tue Mar 09 17:17:51 2021 -0500"
      },
      "message": "imsm: Adding a spare to an existing array with bitmap\n\nWhen adding a spare to an existing array with bitmap, an additional\ninitialization (adding bitmap header and preparing the bitmap area)\nis required.\n\nSigned-off-by: Jakub Radtke \u003cjakub.radtke@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "fbc425562c5787b9aabb2d3b2d4fb6f18c553852",
      "tree": "2f4fa181d42bb51366926629b0df25cb8d844e6e",
      "parents": [
        "b554ab5c9bba537b4a282b3863ead6b3b52dd2e1"
      ],
      "author": {
        "name": "Jakub Radtke",
        "email": "jakub.radtke@intel.com",
        "time": "Fri Jan 15 00:46:56 2021 -0500"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Tue Mar 09 17:17:48 2021 -0500"
      },
      "message": "imsm: Write-intent bitmap support\n\nThis patch enables the bitmap functionality with the IMSM metadata format.\nThe functionality covers \"internal\" bitmap.\n\nThere are the following limitation to \"internal\" metadata:\n- creating the bitmap using --grow is not supported\n- parameter --bitmap-chunk is ignored (default value 64MiB is used)\n\nSigned-off-by: Jakub Radtke \u003cjakub.radtke@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "b554ab5c9bba537b4a282b3863ead6b3b52dd2e1",
      "tree": "0e13c7c9a6557674ff460346d992880ea6baff5e",
      "parents": [
        "b090e910756ea1165be5ac879746ab4bb83a2f91"
      ],
      "author": {
        "name": "Jakub Radtke",
        "email": "jakub.radtke@intel.com",
        "time": "Fri Jan 15 00:46:55 2021 -0500"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Tue Mar 09 17:17:43 2021 -0500"
      },
      "message": "Enable bitmap support for external metadata\n\nThe patch enables the implementation of a write-intent bitmap for external\nmetadata.\nConfiguration of the internal bitmaps for non-native metadata requires the\nextension in superswitch to perform an additional sysfs setup before the\narray is activated.\n\nSigned-off-by: Jakub Radtke \u003cjakub.radtke@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "b090e910756ea1165be5ac879746ab4bb83a2f91",
      "tree": "b50fb1db0288b4762d05977b6bf44150867596d8",
      "parents": [
        "db5377883fef8655aac56b5d7ce5408f8ae494e0"
      ],
      "author": {
        "name": "Jakub Radtke",
        "email": "jakub.radtke@intel.com",
        "time": "Fri Jan 15 00:46:54 2021 -0500"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Tue Mar 09 17:17:39 2021 -0500"
      },
      "message": "Modify mdstat parsing for volumes with the bitmap\n\nCurrent mdstat read functionality is not working correctly\nfor the volumes with the write-intent bitmap.\nIt affects rebuild and reshape use cases.\n\nSigned-off-by: Jakub Radtke \u003cjakub.radtke@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "db5377883fef8655aac56b5d7ce5408f8ae494e0",
      "tree": "42f00b469a6c6765d54e86a590975dde01b5a936",
      "parents": [
        "c7b8547c70035395a02ae4f7a5ec76a46dedb3cb"
      ],
      "author": {
        "name": "Xiao Ni",
        "email": "xni@redhat.com",
        "time": "Tue Feb 09 17:39:51 2021 +0800"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Mon Mar 08 10:50:37 2021 -0500"
      },
      "message": "It should be FAILED when raid has not enough active disks\n\nIt can\u0027t remove the disk if there are not enough disks. For example, raid5 can\u0027t remove the\nsecond disk. If the second disk is unplug from machine, it\u0027s better show missing and the raid\nshould be FAILED. It\u0027s better for administrator to monitor the raid.\n\nSigned-off-by: Xiao Ni \u003cxni@redhat.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "c7b8547c70035395a02ae4f7a5ec76a46dedb3cb",
      "tree": "3bc4491b5fd499ac1f8b66d2b85f3e32b12af3ff",
      "parents": [
        "49b69533e8a62573de987c45cb4469fc8e754723"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@linux.intel.com",
        "time": "Fri Feb 05 14:29:58 2021 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Mon Mar 08 10:43:29 2021 -0500"
      },
      "message": "imsm: add verbose flag to compare_super\n\nIMSM does more than comparing metadata and errors reported directly\nfrom compare_super_imsm can be useful.\n\nAdd verbose flag to compare_super method and make all not critical\nerror printing configurable.\n\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "49b69533e8a62573de987c45cb4469fc8e754723",
      "tree": "18a4a654060ef007bf3b8ee48e7b97efdd7ba50c",
      "parents": [
        "0d5839541223a93fd55578ff972192d16fc502bc"
      ],
      "author": {
        "name": "Oleksandr Shchirskyi",
        "email": "oleksandr.shchirskyi@intel.com",
        "time": "Thu Jan 14 15:14:16 2021 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Mon Mar 08 10:20:48 2021 -0500"
      },
      "message": "mdmonitor: check if udev has finished events processing\n\nIf mdmonitor is awaken by event, wait for udev to finish\nevents processing, to eliminate the race between udev and mdadm\nwhen spare has been added and need to be moved by mdmonitor\n\nSigned-off-by: Oleksandr Shchirskyi \u003coleksandr.shchirskyi@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "0d5839541223a93fd55578ff972192d16fc502bc",
      "tree": "5684d5f0652d982d9f12eda41f7d39cfb64abe35",
      "parents": [
        "2f86fda346e43f5bc1702a27653ff0418a8262dc"
      ],
      "author": {
        "name": "Oleksandr Shchirskyi",
        "email": "oleksandr.shchirskyi@intel.com",
        "time": "Thu Jan 14 13:59:20 2021 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Mon Mar 08 10:15:51 2021 -0500"
      },
      "message": "Document PPL in man md\n\nPartial Parity Log (PPL) was not documented in the man md.\nAdded brief info about PPL.\n\nSigned-off-by: Oleksandr Shchirskyi \u003coleksandr.shchirskyi@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "2f86fda346e43f5bc1702a27653ff0418a8262dc",
      "tree": "ec4cb86887dd2da05849e6b100d18de4679bf418",
      "parents": [
        "f7a6246bab1541d7208a5f0f9f0c6cac114e38da"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@linux.intel.com",
        "time": "Wed Jan 13 09:58:45 2021 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Mon Mar 08 10:12:51 2021 -0500"
      },
      "message": "imsm: use saved fds during migration\n\nIMSM super keeps open descriptors in super-\u003edisks structure, they are\nreliable and should be chosen if possible. The repeatedly called open\nand close during reshape generates redundant udev change events on\neach member drive.\n\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "f7a6246bab1541d7208a5f0f9f0c6cac114e38da",
      "tree": "7765126311e90745fa7acd25e5797e5bf31d4413",
      "parents": [
        "e6561c4defe853eaa6be27da0bb6bbd36e197b1f"
      ],
      "author": {
        "name": "Zhao Heming",
        "email": "heming.zhao@suse.com",
        "time": "Wed Feb 03 08:22:51 2021 +0800"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Wed Mar 03 09:30:14 2021 -0500"
      },
      "message": "super1.c: avoid useless sync when bitmap switches from clustered to none\n\nWith kernel commit 480523feae58 (\"md: only call set_in_sync() when it\nis expected to succeed.\"), mddev-\u003ein_sync in clustered array is always\nzero. It makes metadata resync_offset to always zero.\nWhen assembling a clusterd array with \"-U no-bitmap\" option, kernel\nmd layer \"mddev-\u003eresync_offset \u003d\u003d 0\" and \"mddev-\u003ebitmap \u003d\u003d NULL\" will\ntrigger raid1 do sync on every bitmap chunk. the sync action is useless,\nwe should avoid it.\n\nRelated kernel flow:\n```\nmd_do_sync\n mddev-\u003epers-\u003esync_request\n  raid1_sync_request\n   md_bitmap_start_sync(mddev-\u003ebitmap, sector_nr, \u0026sync_blocks, 1)\n    __bitmap_start_sync(bitmap, offset,\u0026blocks1, degraded)\n      if (bitmap \u003d\u003d NULL) {/* FIXME or bitmap set as \u0027failed\u0027 */\n        *blocks \u003d 1024;\n        return 1; /* always resync if no bitmap */\n      }\n```\n\nReprodusible steps:\n```\nnode1 # mdadm -C /dev/md0 -b clustered -e 1.2 -n 2 -l mirror /dev/sd{a,b}\nnode1 # mdadm -Ss\n(in another shell, executing \u0026 watching: watch -n 1 \u0027cat /proc/mdstat\u0027)\nnode1 # mdadm -A -U no-bitmap /dev/md0 /dev/sd{a,b}\n```\n\nSigned-off-by: Zhao Heming \u003cheming.zhao@suse.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "e6561c4defe853eaa6be27da0bb6bbd36e197b1f",
      "tree": "6ce422f72180ea7bf1fad477bd3d963861c6295d",
      "parents": [
        "8818d4e7fe7cda900d5c00014b05cdde058bdd29"
      ],
      "author": {
        "name": "Zhao Heming",
        "email": "heming.zhao@suse.com",
        "time": "Sat Jan 30 17:49:54 2021 +0800"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Wed Mar 03 09:29:17 2021 -0500"
      },
      "message": "super1: fix Floating point exception\n\nwrite_bitmap1 didn\u0027t check return value of locate_bitmap1, which will\noperate bitmap area under invalid bitmap info.\n\nmdadm core dumped when doing below steps:\n```\nnode1 # mdadm -C /dev/md0 -b none -e 1.2 -n 2 -l mirror /dev/sda /dev/sdb\nnode1 # mdadm -Ss\nnode1 # mdadm -A -U home-cluster --home-cluster\u003dabc /dev/md0 /dev/sda /dev/sdb\nFloating point exception (core dumped)\n```\n\nSigned-off-by: Zhao Heming \u003cheming.zhao@suse.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "8818d4e7fe7cda900d5c00014b05cdde058bdd29",
      "tree": "12dd72a08884c1c853d0041f7acbd19869315a2b",
      "parents": [
        "4ae96c802203ec3cfbb089240c56d61f7f4661b3"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Feb 26 12:02:36 2021 +1100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Wed Mar 03 09:29:17 2021 -0500"
      },
      "message": "Grow: be careful of corrupt dev_roles list\n\nI\u0027ve seen a case where the dev_roles list of a linear array\nwas corrupt.  -\u003emax_dev was \u003e 128 and \u003e raid_disks, and the\nextra slots were \u00270\u0027, not 0xFFFE or 0xFFFF.\n\nThis caused problems when a 128th device was added.\n\nSo:\n 1/ make Grow_Add_device more robust so that if numbers\n   look wrong, it fails-safe.\n\n 2/ make examine_super1() report details if the dev_roles\n   array is corrupt.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "4ae96c802203ec3cfbb089240c56d61f7f4661b3",
      "tree": "a157deca4505926ba249b672dd3ff836f260e2ea",
      "parents": [
        "1fe2e1007310778d0551d5c34317e5318507399d"
      ],
      "author": {
        "name": "Nigel Croxon",
        "email": "ncroxon@redhat.com",
        "time": "Wed Jan 20 15:05:42 2021 -0500"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Wed Mar 03 09:29:17 2021 -0500"
      },
      "message": "mdadm: fix reshape from RAID5 to RAID6 with backup file\n\nReshaping a 3-disk RAID5 to 4-disk RAID6 will cause a hang of\nthe resync after the grow.\n\nAdding a spare disk to avoid degrading the array when growing\nis successful, but not successful when supplying a backup file\non the command line. If the reshape job is not already running,\nset the sync_max value to max.\n\nSigned-off-by: Nigel Croxon \u003cncroxon@redhat.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "1fe2e1007310778d0551d5c34317e5318507399d",
      "tree": "e2a913303e65cb811b3e8a52510b29ec8cff1e3f",
      "parents": [
        "75562b57d43bd252399b55d0004b8eac4b337a67"
      ],
      "author": {
        "name": "Xiao Ni",
        "email": "xni@redhat.com",
        "time": "Wed Oct 28 14:04:24 2020 +0800"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Wed Mar 03 09:29:13 2021 -0500"
      },
      "message": "mdadm/bitmap: locate bitmap calcuate bitmap position wrongly\n\nNow it only adds bitmap offset based on cluster nodes. It\u0027s not right. It needs to\nadd per node bitmap space to find next node bitmap position.\n\nSigned-off-by: Xiao Ni \u003cxni@redhat.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "75562b57d43bd252399b55d0004b8eac4b337a67",
      "tree": "619187ee89e1ab2cbf24efc587a1b543cc9db555",
      "parents": [
        "69068584f9ed68b8b2736287a1c9863e11b741d5"
      ],
      "author": {
        "name": "Lidong Zhong",
        "email": "lidong.zhong@suse.com",
        "time": "Mon Dec 14 22:51:33 2020 +0800"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Sun Dec 20 13:45:30 2020 -0500"
      },
      "message": "Dump: get stat from a wrong metadata file when restoring metadata\n\nThe dumped metadata files are shown as below\nlocalhost:~ # ll -ih test/\ntotal 16K\n34565564 -rw-r--r-- 2 root root 1.0G Dec 14 21:15\nscsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-3\n34565563 -rw-r--r-- 2 root root 1.0G Dec 14 21:15\nscsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-4\n34565563 -rw-r--r-- 2 root root 1.0G Dec 14 21:15 sda\n34565564 -rw-r--r-- 2 root root 1.0G Dec 14 21:15 sdb\n\nIt reports such error when trying to restore metadata for /dev/sda\nlocalhost:~ # mdadm --restore\u003dtest /dev/sda\nmdadm: test/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-4 is not the same\nsize as /dev/sda - cannot restore.\nIt\u0027s because the stb value has been changed to other metadata file in\nthe while statement.\n\nSigned-off-by: Lidong Zhong \u003clidong.zhong@suse.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "69068584f9ed68b8b2736287a1c9863e11b741d5",
      "tree": "0b368ec968aa485c103e484a75ae5a66d9aa9637",
      "parents": [
        "a64f1263a56bd8653267c1a9800daa0bc993a743"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@linux.intel.com",
        "time": "Fri Dec 11 12:28:38 2020 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Sun Dec 20 13:45:30 2020 -0500"
      },
      "message": "Incremental: Remove redundant spare movement logic\n\nIf policy is set then mdmonitor is responsible for moving spares.\nThis logic is reduntant and potentialy dangerus, spare could be moved at\ninitrd stage depending on drives appearance order.\n\nRemove it.\n\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "a64f1263a56bd8653267c1a9800daa0bc993a743",
      "tree": "fc2d24eb0658b8f5ecf7c1ba8a4929e710245cfa",
      "parents": [
        "b4a5ad4958cb3ad87c3c5fa993e7572c38596d09"
      ],
      "author": {
        "name": "Tkaczyk Mariusz",
        "email": "mariusz.tkaczyk@intel.com",
        "time": "Thu Oct 15 10:45:29 2020 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Wed Nov 25 18:21:57 2020 -0500"
      },
      "message": "udev: start grow service automatically\n\nGrow continue via service or fork is started during raid assembly.\nIf raid was assembled in initrd it will be newer restarted after\nswitch root.\nAdd udev support for starting mdadm-grow-continue service.\n\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@intel.com\u003e\n"
    },
    {
      "commit": "b4a5ad4958cb3ad87c3c5fa993e7572c38596d09",
      "tree": "05f0ff6a3487c5ed611d75ec6c22003ef71c508d",
      "parents": [
        "9c030dadba89b90a4e52b6afe0290076c809684c"
      ],
      "author": {
        "name": "Kinga Tanska",
        "email": "kinga.tanska@intel.com",
        "time": "Thu Oct 22 14:22:29 2020 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Wed Nov 25 18:20:55 2020 -0500"
      },
      "message": "Make target to install binaries only\n\nMake install causes installation of binaries, udev and man.\nThis commit contains new target make install-bin, which\nresults in installation of binaries only.\n\nSigned-off-by: Kinga Tanska \u003ckinga.tanska@intel.com\u003e\n"
    },
    {
      "commit": "9c030dadba89b90a4e52b6afe0290076c809684c",
      "tree": "6fe161976ef300fdd9c2a2e51f4c35ab0eef4622",
      "parents": [
        "ff6bb131a46e1bac84a26e5b2c4bf408c0e56926"
      ],
      "author": {
        "name": "Zhao Heming",
        "email": "heming.zhao@suse.com",
        "time": "Sat Oct 24 17:43:12 2020 +0800"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Wed Nov 25 18:19:49 2020 -0500"
      },
      "message": "mdadm/Detail: show correct state for clustered array\n\nAfter kernel md module commit 480523feae581, in clustered env,\nmddev-\u003ein_sync always zero, it will make array.state never set\nup MD_SB_CLEAN. it causes \"mdadm -D /dev/mdX\" show state \u0027active\u0027\nall the time.\n\nbitmap.c: add a new API IsBitmapDirty() to support inquiry bitmap\ndirty or clean.\n\nSigned-off-by: Zhao Heming \u003cheming.zhao@suse.com\u003e\n"
    },
    {
      "commit": "ff6bb131a46e1bac84a26e5b2c4bf408c0e56926",
      "tree": "3234e5a3eb4e383a298f4bd27254c812cd222059",
      "parents": [
        "a8f3cfd54e45c8aabc4a99cdc92b6b9080b26607"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@intel.com",
        "time": "Wed Nov 04 10:02:36 2020 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Wed Nov 25 18:15:55 2020 -0500"
      },
      "message": "mdadm: Unify forks behaviour\n\nIf mdadm is run by udev or systemd, it gets a pipe as each stream.\nForks in the background may run after an event or service has been\nprocessed when udev is detached from pipe. As a result process\nfails quietly if any message is written.\nTo prevent from it, each fork has to close all parent streams. Leave\nstderr and stdout opened only for debug purposes.\nUnify it across all forks. Introduce other descriptors detection by\nscanning /proc/self/fd directory. Add generic method for\nmanaging systemd services.\n\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@intel.com\u003e\n"
    },
    {
      "commit": "a8f3cfd54e45c8aabc4a99cdc92b6b9080b26607",
      "tree": "95ab151d80a92e9fb32c394494348aeca0d5606e",
      "parents": [
        "ca4b156b2059ee00a9143313267ee4a098967d76"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@intel.com",
        "time": "Wed Nov 04 10:01:28 2020 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Wed Nov 25 18:09:47 2020 -0500"
      },
      "message": "imsm: limit support to first NVMe namespace\n\nDue to metadata limitations NVMe multinamespace support has to be removed.\n\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@intel.com\u003e\n"
    },
    {
      "commit": "ca4b156b2059ee00a9143313267ee4a098967d76",
      "tree": "bc17b93830fc65fa33473449d65cc4f05ae84e7c",
      "parents": [
        "b65c1f4a2340e24ae00babc4399fb4030ff99517"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@linux.intel.com",
        "time": "Tue Nov 24 16:41:01 2020 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Wed Nov 25 18:09:03 2020 -0500"
      },
      "message": "Monitor: don\u0027t use default modes when creating a file\n\nReplace fopen() calls by open() with creation mode directly specified.\nThis fixes the potential security issue. Use octal values instead masks.\n\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\n"
    },
    {
      "commit": "b65c1f4a2340e24ae00babc4399fb4030ff99517",
      "tree": "9031377f55f79952258f9ff6111925be6f19c854",
      "parents": [
        "895ffd992954069e4ea67efb8a85bb0fd72c3707"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@linux.intel.com",
        "time": "Tue Nov 24 15:58:53 2020 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Wed Nov 25 18:08:04 2020 -0500"
      },
      "message": "imsm: remove redundant calls to imsm_get_map\n\nMAP_0 is gotten and the beginning, there is no need to get it again.\n\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\n"
    },
    {
      "commit": "895ffd992954069e4ea67efb8a85bb0fd72c3707",
      "tree": "757a1c7c4b84cae68735befde4619d5b4a28e65d",
      "parents": [
        "ce559078a5650afb9f635204b31a89a1fa0061e3"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@linux.intel.com",
        "time": "Tue Nov 24 14:15:15 2020 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Wed Nov 25 18:07:11 2020 -0500"
      },
      "message": "imsm: update num_data_stripes according to dev_size\n\nIf array was created in UEFI there is possibility that\nmember size is not rounded to 1MB. After any size reconfiguration\nit will be rounded down to 1MB per each member but the old\ncomponent size will remain in metadata.\nDuring reshape old array size is calculated from component size because\ndev_size is not a part of map and is bumped to new value quickly.\nIt may result in size mismatch if array is assembled during reshape.\n\nIf difference in calculated size and dev_size is observed try to fix it.\nnum_data_stripes value can be safety updated to smaller value if array\ndoesn\u0027t occuppy whole reserved component space.\n\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\n"
    },
    {
      "commit": "ce559078a5650afb9f635204b31a89a1fa0061e3",
      "tree": "418f91f01ed3ca50833046bafda1a42cdb21ed6c",
      "parents": [
        "c3129b39a7d467eec063681529f46f84a2a85308"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@linux.intel.com",
        "time": "Tue Nov 24 13:39:49 2020 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Wed Nov 25 18:06:23 2020 -0500"
      },
      "message": "Create.c: close mdfd and generate uevent\n\nDuring mdfd closing change event is not generated because open() is\ncalled before start watching mddevice by udev.\nDevice is ready at this stage. Unblock device, close fd and\ngenerate event to give a chance next layers to work.\n\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@linux.intel.com\u003e\n"
    },
    {
      "commit": "c3129b39a7d467eec063681529f46f84a2a85308",
      "tree": "43a5d62023f8a36687041c47f6e7003ff0500418",
      "parents": [
        "97b51a2c2d00b79a59f2a8e37134031b0c9e0223"
      ],
      "author": {
        "name": "Lidong Zhong",
        "email": "lidong.zhong@suse.com",
        "time": "Sun Nov 22 23:12:29 2020 +0800"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Wed Nov 25 18:05:05 2020 -0500"
      },
      "message": "Detail: fix segfault during IMSM raid creation\n\nIt can be reproduced with non IMSM hardware and IMSM_NO_PLATFORM\nenvironmental variable set. The array state is inactive when creating\nan IMSM container. And the structure info is NULL because load_super()\nalways fails since no intel HBA information could be obtained.\n\nSigned-off-by: Lidong Zhong \u003clidong.zhong@suse.com\u003e\nReported-by: Tkaczyk Mariusz \u003cmariusz.tkaczyk@intel.com\u003e\nFixes: 64bf4dff3430 (Detail: show correct raid level when the array is inactive)\n"
    },
    {
      "commit": "97b51a2c2d00b79a59f2a8e37134031b0c9e0223",
      "tree": "1958109eec5a7e8926e2ecfaac02a90ecd00187b",
      "parents": [
        "7f3b2d1d1621cbdc60b5af4a41445391010fe9e1"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Oct 14 13:12:48 2020 +1100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Wed Oct 14 11:40:40 2020 -0400"
      },
      "message": "Super1: allow RAID0 layout setting to be removed.\n\nOnce the RAID0 layout has been set, the RAID0 array cannot be assembled\non an older kernel which doesn\u0027t understand layouts.\nThis is an intentional safety feature, but sometimes people need the\nability to roll-back to a previously working configuration.\n\nSo add \"--update\u003dlayout-unspecified\" to remove RAID0 layout information\nfrom the superblock.\nRunning \"--assemble --update\u003dlayout-unspecified\" will cause the assembly\nthe fail when run on a newer kernel, but will allow it to work on\nan older kernel.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "7f3b2d1d1621cbdc60b5af4a41445391010fe9e1",
      "tree": "28ee07a2d2fa15404f30a6da7998559c67ca7735",
      "parents": [
        "cab9c67d461c65a1138359f9f6d39636466b90e4"
      ],
      "author": {
        "name": "Blazej Kucman",
        "email": "blazej.kucman@intel.com",
        "time": "Wed Sep 09 10:31:20 2020 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Wed Oct 14 11:37:49 2020 -0400"
      },
      "message": "Check if other Monitor instance running before fork.\n\nMake error message visible to the user.\n\nSigned-off-by: Blazej Kucman \u003cblazej.kucman@intel.com\u003e\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "cab9c67d461c65a1138359f9f6d39636466b90e4",
      "tree": "a35cdb61d64c9617daceea527f5fb73112b6490e",
      "parents": [
        "007087d0898a045901e4e120296e6d9b845b20a6"
      ],
      "author": {
        "name": "Blazej Kucman",
        "email": "blazej.kucman@intel.com",
        "time": "Wed Sep 09 10:31:19 2020 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Wed Oct 14 11:33:47 2020 -0400"
      },
      "message": "mdmonitor: set small delay once\n\nIf mdmonitor is awakened by event, set small delay once\nto deal with udev and mdadm.\n\nSigned-off-by: Blazej Kucman \u003cblazej.kucman@intel.com\u003e\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "007087d0898a045901e4e120296e6d9b845b20a6",
      "tree": "3a936e260342a7ef18c41cc96c2c0640da1aaa29",
      "parents": [
        "e2308733910a157b0a4d4e78721f239d44b91a24"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@intel.com",
        "time": "Wed Sep 09 10:31:18 2020 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Wed Oct 14 11:32:09 2020 -0400"
      },
      "message": "Monitor: stop notifing about containers.\n\nStop reporting any events from container but still track them,\nit is important for spare migration.\nStop mdmonitor if no redundant array is presented in mdstat.\nThere is nothing to follow.\n\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "e2308733910a157b0a4d4e78721f239d44b91a24",
      "tree": "ddef0e3ff7475c0262f130d1441b00878e80175f",
      "parents": [
        "2ce091724031e18f522994ffd1e5eb0dc404bcba"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@intel.com",
        "time": "Wed Sep 09 10:31:17 2020 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Wed Oct 14 11:31:39 2020 -0400"
      },
      "message": "Monitor: refresh mdstat fd after select\n\nAfter 52209d6ee118 (\"Monitor: release /proc/mdstat fd when no arrays\npresent\") mdstat fd is closed if mdstat is empty or cannot be opened.\nIt causes that monitor is not able to select on mdstat. Select\ndoesn\u0027t fail because it gets valid descriptor to a different resource.\nAs a result any new event will be unnoticed until timeout (delay).\n\nRefresh mdstat after wake up, don\u0027t poll on wrong resource.\n\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "2ce091724031e18f522994ffd1e5eb0dc404bcba",
      "tree": "c85645b11bf2a1f0eee0bc474a3ef948872850b9",
      "parents": [
        "64bf4dff34301a4b44883a8bc03f7835faef121e"
      ],
      "author": {
        "name": "Xiao Ni",
        "email": "xni@redhat.com",
        "time": "Tue Sep 15 15:44:42 2020 +0800"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Wed Oct 14 11:24:39 2020 -0400"
      },
      "message": "Don\u0027t create bitmap for raid5 with journal disk\n\nJournal disk and bitmap can\u0027t exist at the same time. It needs to check if the raid\nhas a journal disk when creating bitmap.\n\nSigned-off-by: Xiao Ni \u003cxni@redhat.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "64bf4dff34301a4b44883a8bc03f7835faef121e",
      "tree": "2d98870b1de94a3fbce7a8f9ef15a78d8177c8df",
      "parents": [
        "5f4184557a98bb641a7889e280265109c73e2f43"
      ],
      "author": {
        "name": "Lidong Zhong",
        "email": "lidong.zhong@suse.com",
        "time": "Mon Sep 14 10:52:18 2020 +0800"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Wed Oct 14 11:19:38 2020 -0400"
      },
      "message": "Detail: show correct raid level when the array is inactive\n\nSometimes the raid level in the output of `mdadm -D /dev/mdX` is\nmisleading when the array is in inactive state. Here is a testcase for\nintroduction.\n1\\ creating a raid1 device with two disks. Specify a different hostname\nrather than the real one for later verfication.\n\nnode1:~ # mdadm --create /dev/md0 --homehost TESTARRAY -o -l 1 -n 2 /dev/sdb\n/dev/sdc\n2\\ remove one of the devices and reboot\n3\\ show the detail of raid1 device\n\nnode1:~ # mdadm -D /dev/md127\n/dev/md127:\n        Version : 1.2\n     Raid Level : raid0\n  Total Devices : 1\n    Persistence : Superblock is persistent\n          State : inactive\nWorking Devices : 1\n\nYou can see that the \"Raid Level\" in /dev/md127 is raid0 now.\nAfter step 2\\ is done, the degraded raid1 device is recognized\nas a \"foreign\" array in 64-md-raid-assembly.rules. And thus the\ntimer to activate the raid1 device is not triggered. The array\nlevel returned from GET_ARRAY_INFO ioctl is 0. And the string\nshown for \"Raid Level\" is\nstr \u003d map_num(pers, array.level);\nAnd the definition of pers is\nmapping_t pers[] \u003d {\n{ \"linear\", LEVEL_LINEAR},\n{ \"raid0\", 0},\n{ \"0\", 0}\n...\nSo the misleading \"raid0\" is shown in this testcase.\n\nChangelog:\nv1: don\u0027t show \"Raid Level\" when array is inactive\nSigned-off-by: Lidong Zhong \u003clidong.zhong@suse.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "5f4184557a98bb641a7889e280265109c73e2f43",
      "tree": "ec2df90516fd9556620064a7dd0f162ed4111b6f",
      "parents": [
        "5e592e1ed809b94670872b7a4629317fc1c8a5c1"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@intel.com",
        "time": "Thu Aug 06 13:57:50 2020 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Fri Aug 07 09:46:25 2020 -0400"
      },
      "message": "manual: update --examine-badblocks\n\nIMSM also supports it.\n\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "5e592e1ed809b94670872b7a4629317fc1c8a5c1",
      "tree": "267b51040fafae5406e63ea5c0bc3dc7846c3a11",
      "parents": [
        "138a9e9bbe2622eafc90c976b82f3d84895dbebd"
      ],
      "author": {
        "name": "Winston Weinert",
        "email": "winston@ml1.net",
        "time": "Wed Jul 22 08:33:22 2020 -0500"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Fri Aug 07 09:46:21 2020 -0400"
      },
      "message": "mdadm/md.4: update path to in-kernel-tree documentation\n\nDocumentation/md.txt was renamed to Documentation/admin-guide/md.rst\nin linux commit 9d85025b0418163fae079c9ba8f8445212de8568 (Oct 26,\n2016).\n\nSigned-off-by: Winston Weinert \u003cwinston@ml1.net\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "138a9e9bbe2622eafc90c976b82f3d84895dbebd",
      "tree": "9e908ab634b25c155b5d379aa6c9216cb6bb12e8",
      "parents": [
        "77b72fa828132a35c8b2e08d3fb07eea80b11895"
      ],
      "author": {
        "name": "Xiao Ni",
        "email": "xni@redhat.com",
        "time": "Mon Jul 27 09:14:20 2020 +0800"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Fri Aug 07 09:46:03 2020 -0400"
      },
      "message": "Specify nodes number when updating cluster nodes\n\nNow it allows updating cluster nodes without specify --nodes. It can write superblock\nwith zero nodes. It can break the current cluster. Add this check to avoid this problem.\n\nv2: It needs check c.update first to avoid NULL pointer reference\nv3: Wol points the typo error\n\nSigned-off-by: Xiao Ni \u003cxni@redhat.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "77b72fa828132a35c8b2e08d3fb07eea80b11895",
      "tree": "219333df6b2b93f34d243ef5db5969247b538fe6",
      "parents": [
        "bcf40dbb5bf7db9d55a877b805ebb95c2008a132"
      ],
      "author": {
        "name": "allenpeng",
        "email": "allenpeng@synology.com",
        "time": "Fri Jun 12 17:00:39 2020 +0800"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Thu Jun 18 16:05:43 2020 -0400"
      },
      "message": "mdadm/Grow: prevent md\u0027s fd from being occupied during delayed time\n\nIf we start reshaping on md which shares sub-devices with another\nresyncing md, it may be forced to wait for others to complete. mdadm\noccupies the md\u0027s fd during this time, which causes the md can not be\nstopped and the filesystem can not be mounted on the md. We can close\nmd\u0027s fd earlier to solve this problem.\n\nReproducible Steps:\n\n1. create two partitions on sda, sdb, sdc, sdd\n2. create raid1 with sda1, sdb1\nmdadm -C /dev/md1 --assume-clean -l1 -n2 /dev/sda1 /dev/sdb1\n3. create raid5 with sda2, sdb2, sdc2\nmdadm -C /dev/md2 --assume-clean -l5 -n3 /dev/sda2 /dev/sdb2 /dev/sdc2\n4. start resync at md1\necho repair \u003e /sys/block/md1/md/sync_action\n5. reshape raid5 to raid6\nmdadm -a /dev/md2 /dev/sdd2\nmdadm --grow /dev/md2 -n4 -l6 --backup-file\u003d/root/md2-backup\n\nNow mdadm is occupying the fd of md2, causing md2 unable to be stopped\n\n6.Try to stop md2, an error message shows\nmdadm -S /dev/md2\nmdadm: Cannot get exclusive access to /dev/md3:Perhaps a running process,\nmounted filesystem or active volume group?\n\nReviewed-by: Alex Wu \u003calexwu@synology.com\u003e\nReviewed-by: BingJing Chang \u003cbingjingc@synology.com\u003e\nReviewed-by: Danny Shih \u003cdannyshih@synology.com\u003e\nSigned-off-by: ChangSyun Peng \u003callenpeng@synology.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "bcf40dbb5bf7db9d55a877b805ebb95c2008a132",
      "tree": "cb78f2b6408cfd117d7858ed556a59e70ee284a8",
      "parents": [
        "8e41153c91cdce696618c527906648625217470c"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Fri Jun 12 10:49:11 2020 -0400"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Fri Jun 12 10:49:11 2020 -0400"
      },
      "message": "Update link to Intel page for IMSM\n\nThe old design page is gone, so update to the current overview page.\n\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "8e41153c91cdce696618c527906648625217470c",
      "tree": "069433f54ef536942704fe4148a73d59bc44d3ec",
      "parents": [
        "2cf0433063203fca10d26629c9e090b51fb1d806"
      ],
      "author": {
        "name": "Paul Menzel",
        "email": "pmenzel@molgen.mpg.de",
        "time": "Thu May 28 16:52:24 2020 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Fri Jun 12 10:48:43 2020 -0400"
      },
      "message": "Use more secure HTTPS URLs\n\nAll URLs in the source are available over HTTPS, so convert all URLs to\nHTTPS with the command below.\n\n    git grep -l \u0027http://\u0027 | xargs sed -i \u0027s,http://,https://,g\u0027\n\nRevert the changes to announcement files `ANNOUNCE-*` as requested by\nthe maintainer.\n\nCc: linux-raid@vger.kernel.org\nSigned-off-by: Paul Menzel \u003cpmenzel@molgen.mpg.de\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "2cf0433063203fca10d26629c9e090b51fb1d806",
      "tree": "75af8d9e197d50a217aef3f0a036b51351d93347",
      "parents": [
        "7758ada9f3872cc9cb4c76c733dbc553562b3d7d"
      ],
      "author": {
        "name": "David Favro",
        "email": "dfavro@meta-dynamic.com",
        "time": "Sat May 23 08:24:59 2020 -0400"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Fri Jun 05 11:21:13 2020 -0400"
      },
      "message": "Detect too-small device: error rather than underflow/crash\n\nFor 1.x metadata, when the user requested creation of an array on\ncomponent devices that were too small even to hold the superblock,\nan undetected integer wraparound (underflow) resulted in an enormous\ncomputed size which resulted in various follow-on errors such as\nfloating-point exception.\n\nThis patch detects this condition, prints a reasonable diagnostic\nmessage, and refuses to continue.\n\nSigned-off-by: David Favro \u003cdfavro@meta-dynamic.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "7758ada9f3872cc9cb4c76c733dbc553562b3d7d",
      "tree": "8110e2412445417e5d98765f79eb4696c9c4c63f",
      "parents": [
        "d92cee7b374db9944b63bdd6c1784a2dd90ee9ca"
      ],
      "author": {
        "name": "Kinga Tanska",
        "email": "kinga.tanska@intel.com",
        "time": "Fri May 29 08:31:36 2020 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Fri Jun 05 11:20:49 2020 -0400"
      },
      "message": "Block overwriting existing links while manual assembly\n\nManual assembly with existing link caused overwriting\nthis link. Add checking link and block this situation.\n\nSigned-off-by: Kinga Tanska \u003ckinga.tanska@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "d92cee7b374db9944b63bdd6c1784a2dd90ee9ca",
      "tree": "ab4562313e4c6d67f23a1b06d317c5c64f0694cb",
      "parents": [
        "7d90f7603af6b59e7144cef6617a1e9dd42161bd"
      ],
      "author": {
        "name": "Guoqing Jiang",
        "email": "guoqing.jiang@cloud.ionos.com",
        "time": "Mon May 18 23:53:36 2020 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Mon May 18 20:24:29 2020 -0400"
      },
      "message": "restripe: fix ignoring return value of ‘read’ and lseek\n\nGot below error when run \"make everything\".\n\nrestripe.c: In function ‘test_stripes’:\nrestripe.c:870:4: error: ignoring return value of ‘read’, declared with attribute warn_unused_result [-Werror\u003dunused-result]\n    read(source[i], stripes[i], chunk_size);\n    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nFix it by check the return value of ‘read’, and free memory\nin the failure case.\n\nAnd check the return value of lseek as well per Jes\u0027s comment.\n\nSigned-off-by: Guoqing Jiang \u003cguoqing.jiang@cloud.ionos.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "7d90f7603af6b59e7144cef6617a1e9dd42161bd",
      "tree": "921b81f5d939fa3653fac6f992c3162b427f2df3",
      "parents": [
        "f4c8a605d2467c0ed25fcba5d27dd56540660e55"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Mon May 18 20:19:53 2020 -0400"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Mon May 18 20:19:53 2020 -0400"
      },
      "message": "Include count for \\0 character when using strncpy to implement strdup.\n\nWe have to include the \\0 character in the length when copying a\nstring with strncpy() for which length was found with strlen().\nOtherwise the destination will not get null terminated - except that\nwe explicitly zeroed it out earlier.\n\nThis quiets down the compiler\u0027s warnings.\n\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "f4c8a605d2467c0ed25fcba5d27dd56540660e55",
      "tree": "e0c053b25bebb96494f88128130729efadfd918e",
      "parents": [
        "03ab9763f51ddf2030f60f83e76cf9c1b50b726c"
      ],
      "author": {
        "name": "Guoqing Jiang",
        "email": "guoqing.jiang@cloud.ionos.com",
        "time": "Mon May 18 23:53:35 2020 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Mon May 18 20:10:39 2020 -0400"
      },
      "message": "uuid.c: split uuid stuffs from util.c\n\nCurrently, \u0027make raid6check\u0027 is build broken since commit b06815989\n(\"mdadm: load default sysfs attributes after assemblation\").\n\n/usr/bin/ld: sysfs.o: in function `sysfsline\u0027:\nsysfs.c:(.text+0x2707): undefined reference to `parse_uuid\u0027\n/usr/bin/ld: sysfs.c:(.text+0x271a): undefined reference to `uuid_zero\u0027\n/usr/bin/ld: sysfs.c:(.text+0x2721): undefined reference to `uuid_zero\u0027\n\nApparently, the compile of mdadm or raid6check are coupled with uuid\nfunctions inside util.c. However, we can\u0027t just add util.o to CHECK_OBJS\nwhich raid6check is needed, because it caused other worse problems.\n\nSo, let\u0027s introduce a uuid.c file which is indenpended file to fix the\nproblem, all the contents are splitted from util.c.\n\nSigned-off-by: Guoqing Jiang \u003cguoqing.jiang@cloud.ionos.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "03ab9763f51ddf2030f60f83e76cf9c1b50b726c",
      "tree": "461d016987916694548222e12bb503e1bf006238",
      "parents": [
        "3b7aae927bdb6e150d1aaf3aaf0d183a06abda0b"
      ],
      "author": {
        "name": "Tkaczyk Mariusz",
        "email": "mariusz.tkaczyk@intel.com",
        "time": "Fri May 15 11:23:14 2020 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Fri May 15 09:52:01 2020 -0400"
      },
      "message": "Makefile: add EXTRAVERSION support\n\nAdd optional EXTRAVERSION parameter to Makefile and allow to mark version\nby user friendly label. It might be useful when creating custom\nspins of mdadm, or labeling some instance in between major releases.\n\nSigned-off-by: Tkaczyk Mariusz \u003cmariusz.tkaczyk@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "3b7aae927bdb6e150d1aaf3aaf0d183a06abda0b",
      "tree": "e960db0014482b3d5e026d44b05613b0ebbf7dbc",
      "parents": [
        "7b99edab2834d5d08ef774b4cff784caaa1a186f"
      ],
      "author": {
        "name": "Donald Buczek",
        "email": "buczek@molgen.mpg.de",
        "time": "Wed May 13 15:16:46 2020 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Thu May 14 11:08:59 2020 -0400"
      },
      "message": "mdcheck: Log when done\n\nCurrently mdcheck (when called with `--duration`) logs only the\nbeginning of the check, the pausing and the continuation but not the\ncompletion.\n\nSo, log the completion, too, so that it can be determined how long the\nraid check took.\n\n    2020-05-08T18:00:02+02:00 deadpool root: mdcheck start checking /dev/md0\n    2020-05-08T18:00:02+02:00 deadpool root: mdcheck start checking /dev/md1\n    2020-05-09T15:32:04+02:00 deadpool root: mdcheck finished checking /dev/md1\n    2020-05-09T17:38:04+02:00 deadpool root: mdcheck finished checking /dev/md0\n\nCc: linux-raid@vger.kernel.org\nSigned-off-by: Paul Menzel \u003cpmenzel@molgen.mpg.de\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "7b99edab2834d5d08ef774b4cff784caaa1a186f",
      "tree": "27d642365557a35a2d1493e6ccdaa48ede85b7e4",
      "parents": [
        "ec7d7ceefc1c2b9ba82cac1ba0f6a34d41a4a913"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@intel.com",
        "time": "Tue May 05 12:17:17 2020 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Thu May 14 11:08:35 2020 -0400"
      },
      "message": "Assemble.c: respect force flag.\n\nIf the array is dirty handler will set resync_start to 0 to inform kernel\nthat resync is needed. RWH affects only raid456 module, for other\nlevels array will be started even array is degraded and resync cannot be\nperformed.\n\nForce is really meaningful for raid456. If array is degraded and resync\nis requested, kernel will reject an attempt to start the array. To\nrespect force, it has to be marked as clean (this will be done for each\narray without PPL) and remove the resync request (only for raid 456).\nData corruption may occur so proper warning is added.\n\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "ec7d7ceefc1c2b9ba82cac1ba0f6a34d41a4a913",
      "tree": "92f31903c72f1521e9d1c4ed018bd8f558e5e628",
      "parents": [
        "5cfb79dea26d9d7266f79c7c196a1a9f70c16a28"
      ],
      "author": {
        "name": "Nigel Croxon",
        "email": "ncroxon@redhat.com",
        "time": "Mon May 04 12:27:45 2020 -0400"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Tue May 05 13:49:38 2020 -0400"
      },
      "message": "clean up meaning of small typo\n\nClean up the typo which leads to wrong understanding.\n\nSigned-off-by: Nigel Croxon \u003cncroxon@redhat.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "5cfb79dea26d9d7266f79c7c196a1a9f70c16a28",
      "tree": "687edf90ccae250511c9555d07278af5e00ac57b",
      "parents": [
        "12724c018c964596aa277489fd287d5c3506361a"
      ],
      "author": {
        "name": "Gioh Kim",
        "email": "gi-oh.kim@cloud.ionos.com",
        "time": "Tue Apr 16 18:08:17 2019 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Mon Apr 27 10:44:09 2020 -0400"
      },
      "message": "Assemble: print error message if mdadm fails assembling with --uuid option\n\nWhen mdadm tries to assemble one working device and one zeroed-out device,\nit failed but print successful message because there is --uuid option.\n\nFollowing script always reproduce it.\n\ndd if\u003d/dev/zero of\u003d/dev/ram0 oflag\u003ddirect\ndd if\u003d/dev/zero of\u003d/dev/ram1 oflag\u003ddirect\n./mdadm -C /dev/md111 -e 1.2 --uuid\u003d\"12345678:12345678:12345678:12345678\" \\\n    -l1 -n2 /dev/ram0 /dev/ram1\n./mdadm -S /dev/md111\ndd if\u003d/dev/zero of\u003d/dev/ram1 oflag\u003ddirect\n./mdadm -A /dev/md111 --uuid\u003d\"12345678:12345678:12345678:12345678\" \\\n    /dev/ram0 /dev/ram1\n\nFollowing is message from mdadm.\n\nmdadm: No super block found on /dev/ram1 (Expected magic a92b4efc, got 00000000)\nmdadm: no RAID superblock on /dev/ram1\nmdadm: /dev/md111 assembled from 1 drive - need all 2 to start it (use --run to insist).\n\nThe mdadm say that it assembled but mdadm does not create /dev/md111.\nThe message is wrong.\n\nAfter applying this patch, mdadm reports error correctly as following.\n\nmdadm: No super block found on /dev/ram1 (Expected magic a92b4efc, got 00000000)\nmdadm: no RAID superblock on /dev/ram1\nmdadm: /dev/ram1 has no superblock - assembly aborted\n\nSigned-off-by: Gioh Kim \u003cgi-oh.kim@cloud.ionos.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "12724c018c964596aa277489fd287d5c3506361a",
      "tree": "a2a41839ae4aa4a68001f35ed986ac6473747426",
      "parents": [
        "1c294b5d960abeeb9e0f188af294d019bc82b20e"
      ],
      "author": {
        "name": "Tkaczyk Mariusz",
        "email": "mariusz.tkaczyk@intel.com",
        "time": "Fri Apr 17 13:55:55 2020 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Mon Apr 27 10:36:58 2020 -0400"
      },
      "message": "Manage, imsm: Write metadata before add\n\nNew drive in container always appears as spare. Manager is able to\nhandle that, and queues appropriative update to monitor.\nNo update from mdadm side has to be processed, just insert the drive and\nping the mdmon. Metadata has to be written if no mdmon is running (case\nfor Raid0 or container without arrays).\n\nIf bare drive is added very early on startup (by custom bare rule),\nthere is possiblity that mdmon was not restarted after switch root. Old\none is not able to handle new drive. New one fails because there is\ndrive without metadata in container and metadata cannot be loaded.\n\nTo prevent this, write spare metadata before adding device\nto container. Mdmon will overwrite it (same case as spare migration,\nif drive appears it writes the most recent metadata).\nMetadata has to be written only on new drive before sysfs_add_disk(),\ndon\u0027t race with mdmon if running.\n\nSigned-off-by: Tkaczyk Mariusz \u003cmariusz.tkaczyk@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "1c294b5d960abeeb9e0f188af294d019bc82b20e",
      "tree": "a8fe1b3be381d173d5eecef13cac5ea8ec7f6ed1",
      "parents": [
        "185ec4397e61ad00dd68c841e15eaa8629eb9514"
      ],
      "author": {
        "name": "Lidong Zhong",
        "email": "lidong.zhong@suse.com",
        "time": "Tue Apr 14 16:19:41 2020 +0800"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Mon Apr 27 10:33:46 2020 -0400"
      },
      "message": "Detail: adding sync status for cluster device\n\nOn the node with /proc/mdstat is\n\nPersonalities : [raid1]\nmd0 : active raid1 sdb[4] sdc[3] sdd[2]\n      1046528 blocks super 1.2 [3/2] [UU_]\n        recover\u003dREMOTE\n      bitmap: 1/1 pages [4KB], 65536KB chunk\n\nLet\u0027s change the \u0027State\u0027 of \u0027mdadm -Q -D\u0027 accordingly\nState : clean, degraded\nWith this patch, it will be\nState : clean, degraded, recovering (REMOTE)\n\nSigned-off-by: Lidong Zhong \u003clidong.zhong@suse.com\u003e\nAcked-by: Guoqing Jiang \u003cguoqing.jiang@cloud.ionos.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "185ec4397e61ad00dd68c841e15eaa8629eb9514",
      "tree": "0b3438982a4997f05f6c6c58606455ca3c6dd164",
      "parents": [
        "e1b92ee0de26576a33b20c9dd6ef6bd8cab8e283"
      ],
      "author": {
        "name": "Coly Li",
        "email": "colyli@suse.de",
        "time": "Sat Apr 11 00:24:46 2020 +0800"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Mon Apr 27 10:26:47 2020 -0400"
      },
      "message": "Monitor: improve check_one_sharer() for checking duplicated process\n\nWhen running mdadm monitor with scan mode, only one autorebuild process\nis allowed. check_one_sharer() checks duplicated process by following\nsteps,\n1) Read autorebuild.pid file,\n   - if file does not exist, no duplicated process, go to 3).\n   - if file exists, continue to next step.\n2) Read pid number from autorebuild.pid file, then check procfs pid\n   directory /proc/\u003cPID\u003e,\n   - if the directory does not exist, no duplicated process, go to 3)\n   - if the directory exists, print error message for duplicated process\n     and exit this mdadm.\n3) Write current pid into autorebuild.pid file, continue to monitor in\n   scan mode.\n\nThe problem for the above step 2) is, if after system reboots and\nanother different process happens to have exact same pid number which\nautorebuild.pid file records, check_one_sharer() will treat it as a\nduplicated mdadm process and returns error with message \"Only one\nautorebuild process allowed in scan mode, aborting\".\n\nThis patch tries to fix the above same-pid-but-different-process issue\nby one more step to check the process command name,\n1) Read autorebuild.pid file\n   - if file does not exist, no duplicated process, go to 4).\n   - if file exists, continue to next step.\n2) Read pid number from autorebuild.pid file, then check procfs file\n   comm with the specific pid directory /proc/\u003cPID\u003e/comm\n   - if the file does not exit, it means the directory /proc/\u003cPID\u003e does\n     not exist, go to 4)\n   - if the file exits, continue next step\n3) Read process command name from /proc/\u003cPIC\u003e/comm, compare the command\n   name with \"mdadm\" process name,\n   - if not equal, no duplicated process, goto 4)\n   - if strings are equal, print error message for duplicated process\n     and exit this mdadm.\n4) Write current pid into autorebuild.pid file, continue to monitor in\n   scan mode.\n\nNow check_one_sharer() returns error for duplicated process only when\nthe recorded pid from autorebuild.pid exists, and the process has exact\nsame command name as \"mdadm\".\n\nReported-by: Shinkichi Yamazaki \u003cshinkichi.yamazaki@suse.com\u003e\nSigned-off-by: Coly Li \u003ccolyli@suse.de\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "e1b92ee0de26576a33b20c9dd6ef6bd8cab8e283",
      "tree": "f0315a60016b27e932558b608afd2a162841ba3e",
      "parents": [
        "ba1b3bc80ea555c288f1119e69d9273249967081"
      ],
      "author": {
        "name": "Mariusz Tkaczyk",
        "email": "mariusz.tkaczyk@intel.com",
        "time": "Wed Apr 08 16:44:52 2020 +0200"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Mon Apr 27 10:23:35 2020 -0400"
      },
      "message": "udev: Ignore change event for imsm\n\nWhen adding a device to a container mdadm has to close its file\ndescriptor before sysfs_add_disk(). This generates change event.\nThere is race possibility because metadata is already written and other\n-I process can place drive differently. As a result device can be added\nto two containers simultaneously.\nFrom IMSM perspective there is no need to react for change event. IMSM\ndoesn\u0027t support stacked devices.\n\nSigned-off-by: Mariusz Tkaczyk \u003cmariusz.tkaczyk@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "ba1b3bc80ea555c288f1119e69d9273249967081",
      "tree": "b2a6b04fd1c2b1d70814a4fef76b4f1738064c39",
      "parents": [
        "e48aed3c81a75fa3f761fb5b84e5d16f2baee709"
      ],
      "author": {
        "name": "Artur Paszkiewicz",
        "email": "artur.paszkiewicz@intel.com",
        "time": "Tue Mar 17 10:21:03 2020 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Tue Mar 17 17:12:08 2020 -0400"
      },
      "message": "imsm: show Subarray and Volume ID in --examine output\n\nShow the index of the subarray as \u0027Subarray\u0027 and the value of the\nmy_vol_raid_dev_num field as \u0027Volume ID\u0027.\n\nSigned-off-by: Artur Paszkiewicz \u003cartur.paszkiewicz@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "e48aed3c81a75fa3f761fb5b84e5d16f2baee709",
      "tree": "4cb775801a42f6947c14eb64be15b6b810ef2a07",
      "parents": [
        "9e4494051de3f53228fabae56c116879bff5a0c8"
      ],
      "author": {
        "name": "Artur Paszkiewicz",
        "email": "artur.paszkiewicz@intel.com",
        "time": "Tue Mar 17 10:20:12 2020 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Tue Mar 17 17:11:11 2020 -0400"
      },
      "message": "imsm: support the Array Creation Time field in metadata\n\nAlso present its value in --examine and --examine --export.\n\nSigned-off-by: Artur Paszkiewicz \u003cartur.paszkiewicz@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "9e4494051de3f53228fabae56c116879bff5a0c8",
      "tree": "2ecfad6797976faa59f0a2cf1ec010d914117251",
      "parents": [
        "06a6101c0a4d2658798dc42f461ace8e6900f840"
      ],
      "author": {
        "name": "Lidong Zhong",
        "email": "lidong.zhong@suse.com",
        "time": "Mon Mar 16 10:16:49 2020 +0800"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Mon Mar 16 17:49:55 2020 -0400"
      },
      "message": "Detail: show correct bitmap info for cluster raid device\n\nSigned-off-by: Lidong Zhong \u003clidong.zhong@suse.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "06a6101c0a4d2658798dc42f461ace8e6900f840",
      "tree": "098646fae768648fc17f517d48a67de2d2f9b5b5",
      "parents": [
        "45c43276d02a32876c7e1f9f0d04580595141b3d"
      ],
      "author": {
        "name": "Blazej Kucman",
        "email": "blazej.kucman@intel.com",
        "time": "Wed Mar 11 15:40:13 2020 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Thu Mar 12 10:30:31 2020 -0400"
      },
      "message": "imsm: Correct minimal device size.\n\nCheck if given size of member drive is not less than 1 MibiByte.\n\nSigned-off-by: Blazej Kucman \u003cblazej.kucman@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "45c43276d02a32876c7e1f9f0d04580595141b3d",
      "tree": "51907dac229baab2e9e58b69d1bd29e876569c51",
      "parents": [
        "3364781b929f571a3dc3a6afed09eb1b03ce607c"
      ],
      "author": {
        "name": "Blazej Kucman",
        "email": "blazej.kucman@intel.com",
        "time": "Wed Feb 19 11:13:17 2020 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Mon Feb 24 16:18:35 2020 -0500"
      },
      "message": "imsm: Remove --dump/--restore implementation\n\nFunctionalities --dump and --restore are not supported.\nRemove dead code from imsm.\n\nSigned-off-by: Blazej Kucman \u003cblazej.kucman@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "3364781b929f571a3dc3a6afed09eb1b03ce607c",
      "tree": "360634ebe0c0811ece9933d56414f34491464588",
      "parents": [
        "fd38b8ea80ff8e0317e12d1d70431148ceedd5fd"
      ],
      "author": {
        "name": "Blazej Kucman",
        "email": "blazej.kucman@intel.com",
        "time": "Wed Feb 19 10:54:49 2020 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Mon Feb 24 16:08:15 2020 -0500"
      },
      "message": "imsm: pass subarray id to kill_subarray function\n\nAfter patch b6180160f (\"imsm: save current_vol number\")\ncurrent_vol for imsm is not set and kill_subarray()\ncannot determine which volume has to be deleted.\nVolume has to be passed as \"subarray_id\".\nThe parameter affects only IMSM metadata.\n\nSigned-off-by: Blazej Kucman \u003cblazej.kucman@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "fd38b8ea80ff8e0317e12d1d70431148ceedd5fd",
      "tree": "e47f21bc3cc46d06f7e17a63106717d9606e4928",
      "parents": [
        "2551061c253b8fd45ee93d1aab3e91d2c7ac9c20"
      ],
      "author": {
        "name": "Xiao Ni",
        "email": "xni@redhat.com",
        "time": "Tue Feb 11 21:44:15 2020 +0800"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Mon Feb 24 16:06:20 2020 -0500"
      },
      "message": "Remove the legacy whitespace\n\nThe whitespace between Environment\u003d and the true value causes confusion.\nTo avoid confusing other people in future, remove the whitespace to keep\nit a simple, unambiguous syntax\n\nSigned-off-by: Xiao Ni \u003cxni@redhat.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "2551061c253b8fd45ee93d1aab3e91d2c7ac9c20",
      "tree": "d2760333f5bfdabe90e5c8695bf431590d6b7a06",
      "parents": [
        "1e93d0d15913c3fa6d0de5af3fb5e4e3b3f068da"
      ],
      "author": {
        "name": "Coly Li",
        "email": "colyli@suse.de",
        "time": "Mon Feb 24 12:34:09 2020 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Mon Feb 24 16:02:57 2020 -0500"
      },
      "message": "mdadm.8: add note information for raid0 growing operation\n\nWhen growing a raid0 device, if the new component disk size is not\nbig enough, the grow operation may fail due to lack of backup space.\n\nThe minimum backup space should be larger than:\n LCM(old, new) * chunk-size * 2\n\nwhere LCM() is the least common multiple of the old and new count of\ncomponent disks, and \"* 2\" comes from the fact that mdadm refuses to\nuse more than half of a spare device for backup space.\n\nThere are users reporting such failure when they grew a raid0 array\nwith small component disk. Neil Brown points out this is not a bug\nand how the failure comes. This patch adds note information into\nmdadm(8) man page in the Notes part of GROW MODE section to explain\nthe minimum size requirement of new component disk size or external\nbackup size.\n\nReviewed-by: Petr Vorel \u003cpvorel@suse.cz\u003e\nCc: NeilBrown \u003cneilb@suse.de\u003e\nCc: Jes Sorensen \u003cjsorensen@fb.com\u003e\nCc: Paul Menzel \u003cpmenzel@molgen.mpg.de\u003e\nCc: Wols Lists \u003cantlists@youngman.org.uk\u003e\nCc: Nix \u003cnix@esperi.org.uk\u003e\nSigned-off-by: Coly Li \u003ccolyli@suse.de\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "1e93d0d15913c3fa6d0de5af3fb5e4e3b3f068da",
      "tree": "9721d13ef7c4211d40adbb08c6131f5bbdcf9b9a",
      "parents": [
        "42e641abeb312a91b841f1b1ea73661e4bd5a31c"
      ],
      "author": {
        "name": "Blazej Kucman",
        "email": "blazej.kucman@intel.com",
        "time": "Fri Jan 17 15:24:04 2020 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Tue Jan 21 13:41:14 2020 -0500"
      },
      "message": "imsm: fill working_disks according to metadata.\n\nImsm tracks as \"working_disk\" each visible drive.\nAssemble routine expects that the value will return count\nof active member drives recorded in metadata.\nAs a side effect \"--no-degraded\" doesn\u0027t work correctly for imsm.\nAlign this field to others.\nAdded check, if the option --no-degraded is called with --scan.\n\nSigned-off-by: Blazej Kucman \u003cblazej.kucman@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "42e641abeb312a91b841f1b1ea73661e4bd5a31c",
      "tree": "3b8c86882b49305088026e0c070a7791a1b11feb",
      "parents": [
        "4431efebabd0dd39f33dc1dd8ada312b8da1c9d8"
      ],
      "author": {
        "name": "Kinga Tanska",
        "email": "kinga.tanska@intel.com",
        "time": "Tue Jan 21 10:38:52 2020 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Tue Jan 21 13:37:14 2020 -0500"
      },
      "message": "Add support for Tebibytes\n\nAdding support for Tebibytes enables display size of\nvolumes in Tebibytes and Terabytes when they are\nbigger than 2048 GiB (or GB).\n\nSigned-off-by: Kinga Tanska \u003ckinga.tanska@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "4431efebabd0dd39f33dc1dd8ada312b8da1c9d8",
      "tree": "f5909c0833288db89a51ae29152780b8396e8d5a",
      "parents": [
        "e1512e7b7d060f0346738b237ea34eac21b29a26"
      ],
      "author": {
        "name": "Blazej Kucman",
        "email": "blazej.kucman@intel.com",
        "time": "Thu Jan 16 09:34:44 2020 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Thu Jan 16 13:56:10 2020 -0500"
      },
      "message": "imsm: Update grow manual.\n\nUpdate --grow option description in manual, according to\nthe supported grow operations by IMSM.\n\nSigned-off-by: Blazej Kucman \u003cblazej.kucman@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "e1512e7b7d060f0346738b237ea34eac21b29a26",
      "tree": "c2520994f976d7fa9d728ffff21f3e969ef35284",
      "parents": [
        "1a87493014050e3bd94000cd36122c3cadf21270"
      ],
      "author": {
        "name": "Xiao Ni",
        "email": "xni@redhat.com",
        "time": "Wed Dec 18 14:46:21 2019 +0800"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Thu Jan 16 13:52:21 2020 -0500"
      },
      "message": "mdcheck service can\u0027t start succesfully because of syntax error\n\nIt reports error when starting mdcheck_start and mdcheck_continue service.\nInvalid environment assignment, ignoring: MDADM_CHECK_DURATION\u003d\"6 hours\"\n\nSigned-off-by: Xiao Ni \u003cxni@redhat.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    },
    {
      "commit": "1a87493014050e3bd94000cd36122c3cadf21270",
      "tree": "788fafa8b04baf930883c1b2645588d2a0414606",
      "parents": [
        "aced6fc9542077a69b00d05bc9cd66c12fc34950"
      ],
      "author": {
        "name": "Kinga Tanska",
        "email": "kinga.tanska@intel.com",
        "time": "Tue Dec 10 12:21:21 2019 +0100"
      },
      "committer": {
        "name": "Jes Sorensen",
        "email": "jsorensen@fb.com",
        "time": "Thu Jan 16 13:48:13 2020 -0500"
      },
      "message": "Change warning message\n\nIn commit 039b7225e6 (\"md: allow creation of mdNNN arrays via\nmd_mod/parameters/new_array\") support for name like mdNNN\nwas added. Special warning, when kernel is unable to handle\nrequest, was added in commit 7105228e19\n(\"mdadm/mdopen: create new function create_named_array for\nwriting to new_array\"), but it was not adequate enough,\nbecause in this situation mdadm tries to do it in old way.\nThis commit changes warning to be more relevant when\ncreating RAID container with \"/dev/mdNNN\" name and mdadm\nback to old approach.\n\nSigned-off-by: Kinga Tanska \u003ckinga.tanska@intel.com\u003e\nSigned-off-by: Jes Sorensen \u003cjsorensen@fb.com\u003e\n"
    }
  ],
  "next": "aced6fc9542077a69b00d05bc9cd66c12fc34950"
}
