summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Release mdadm-4.2-rc1mdadm-4.2-rc1Jes Sorensen2021-04-146-5/+29
| | | | Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* super-intel.c: Handle errors from calls to get_dev_sector_size()Jes Sorensen2021-04-141-4/+10
| | | | | | The compiler gets rather upset if we do not take care of this. Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* mdadm: fix growing containersNigel Croxon2021-04-061-8/+11
| | | | | | | | | | | | | | This fixes growing containers which was broken with commit 4ae96c802203ec3c (mdadm: fix reshape from RAID5 to RAID6 with backup file) The issue being that containers use the function wait_for_reshape_isms and expect a number value and not a string value of "max". The change is to test for external before setting the correct value. Signed-off-by: Nigel Croxon <ncroxon@redhat.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* Monitor: make libudev dependency optionalMariusz Tkaczyk2021-03-192-6/+29
| | | | | | | | | | | | Make -ludev configurable, enabled by default. To disable it, -DNO_LIBUDEV has to be set explicitly in CXFALGS. This patch restores commit cab9c67d461c ("mdmonitor: set small delay once") for configuration without libudev to bring minimal support in such case. Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* imsm: support for third Sata controllerMariusz Tkaczyk2021-03-181-27/+31
| | | | | | | | | Add new UEFI TSata variable. Remove CSata variable. This variable has been never exposed by UEFI. Remove vulnerability to match different hbas with SATA variable. Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* imsm: nvme multipath supportBlazej Kucman2021-03-163-15/+104
| | | | | | | | | | | Add support for nvme devices which are represented via nvme-subsystem. Print warning when multi-path disk is added to RAID. Signed-off-by: Oleksandr Shchirskyi <oleksandr.shchirskyi@intel.com> Signed-off-by: Blazej Kucman <blazej.kucman@intel.com> Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* imsm: extend curr_migr_unit to u64Mariusz Tkaczyk2021-03-161-41/+51
| | | | | | | | | | Make it u64 to align it with curr_migr_init field from migration_area. Name helpers as vol_curr_migr_unit for differentiation between those fields. Add ommited fillers in struct migr_record. Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* Grow: Block reshape when external metadata and write-intent bitmapJakub Radtke2021-03-091-9/+15
| | | | | | | | | Current kernel sysfs interface for the bitmap is limited. It allows the applying of the bitmap on non-active volumes only. The reshape operation for a volume with a bitmap should be blocked. Signed-off-by: Jakub Radtke <jakub.radtke@intel.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* Create: Block automatic enabling bitmap for external metadataJakub Radtke2021-03-091-0/+1
| | | | | | | | | | | For external metadata, bitmap should be added only when explicitly set by the administrator. They could be additional requirements to consider before enabling the external metadata's functionality (e.g., kernel support). Signed-off-by: Jakub Radtke <jakub.radtke@intel.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* imsm: Update-subarray for write-intent bitmapJakub Radtke2021-03-091-6/+17
| | | | | | | | The patch updates the current bitmap functionality to handle adding the bitmap on existing volumes. Signed-off-by: Jakub Radtke <jakub.radtke@intel.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* Add "bitmap" to allowed command-line valuesJakub Radtke2021-03-092-3/+14
| | | | | | | | | | | Currently, the sysfs interface allows bitmap setup only when volume is in an inactive state. For external metadata to add bitmap to existing volume instead of GROW, the UPDATE operation can be done. The patch adds a "bitmap" argument to the allowed values for UPDATE. Signed-off-by: Jakub Radtke <jakub.radtke@intel.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* imsm: Adding a spare to an existing array with bitmapJakub Radtke2021-03-091-1/+36
| | | | | | | | | When adding a spare to an existing array with bitmap, an additional initialization (adding bitmap header and preparing the bitmap area) is required. Signed-off-by: Jakub Radtke <jakub.radtke@intel.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* imsm: Write-intent bitmap supportJakub Radtke2021-03-091-2/+617
| | | | | | | | | | | | This patch enables the bitmap functionality with the IMSM metadata format. The functionality covers "internal" bitmap. There are the following limitation to "internal" metadata: - creating the bitmap using --grow is not supported - parameter --bitmap-chunk is ignored (default value 64MiB is used) Signed-off-by: Jakub Radtke <jakub.radtke@intel.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* Enable bitmap support for external metadataJakub Radtke2021-03-093-0/+22
| | | | | | | | | | | The patch enables the implementation of a write-intent bitmap for external metadata. Configuration of the internal bitmaps for non-native metadata requires the extension in superswitch to perform an additional sysfs setup before the array is activated. Signed-off-by: Jakub Radtke <jakub.radtke@intel.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* Modify mdstat parsing for volumes with the bitmapJakub Radtke2021-03-091-0/+6
| | | | | | | | | Current mdstat read functionality is not working correctly for the volumes with the write-intent bitmap. It affects rebuild and reshape use cases. Signed-off-by: Jakub Radtke <jakub.radtke@intel.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* It should be FAILED when raid has not enough active disksXiao Ni2021-03-081-4/+10
| | | | | | | | | It can't remove the disk if there are not enough disks. For example, raid5 can't remove the second disk. If the second disk is unplug from machine, it's better show missing and the raid should be FAILED. It's better for administrator to monitor the raid. Signed-off-by: Xiao Ni <xni@redhat.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* imsm: add verbose flag to compare_superMariusz Tkaczyk2021-03-088-16/+23
| | | | | | | | | | | IMSM does more than comparing metadata and errors reported directly from compare_super_imsm can be useful. Add verbose flag to compare_super method and make all not critical error printing configurable. Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* mdmonitor: check if udev has finished events processingOleksandr Shchirskyi2021-03-082-12/+65
| | | | | | | | | If mdmonitor is awaken by event, wait for udev to finish events processing, to eliminate the race between udev and mdadm when spare has been added and need to be moved by mdmonitor Signed-off-by: Oleksandr Shchirskyi <oleksandr.shchirskyi@intel.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* Document PPL in man mdOleksandr Shchirskyi2021-03-081-15/+29
| | | | | | | | Partial Parity Log (PPL) was not documented in the man md. Added brief info about PPL. Signed-off-by: Oleksandr Shchirskyi <oleksandr.shchirskyi@intel.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* imsm: use saved fds during migrationMariusz Tkaczyk2021-03-081-154/+54
| | | | | | | | | | IMSM super keeps open descriptors in super->disks structure, they are reliable and should be chosen if possible. The repeatedly called open and close during reshape generates redundant udev change events on each member drive. Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* super1.c: avoid useless sync when bitmap switches from clustered to noneZhao Heming2021-03-031-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With kernel commit 480523feae58 ("md: only call set_in_sync() when it is expected to succeed."), mddev->in_sync in clustered array is always zero. It makes metadata resync_offset to always zero. When assembling a clusterd array with "-U no-bitmap" option, kernel md layer "mddev->resync_offset == 0" and "mddev->bitmap == NULL" will trigger raid1 do sync on every bitmap chunk. the sync action is useless, we should avoid it. Related kernel flow: ``` md_do_sync mddev->pers->sync_request raid1_sync_request md_bitmap_start_sync(mddev->bitmap, sector_nr, &sync_blocks, 1) __bitmap_start_sync(bitmap, offset,&blocks1, degraded) if (bitmap == NULL) {/* FIXME or bitmap set as 'failed' */ *blocks = 1024; return 1; /* always resync if no bitmap */ } ``` Reprodusible steps: ``` node1 # mdadm -C /dev/md0 -b clustered -e 1.2 -n 2 -l mirror /dev/sd{a,b} node1 # mdadm -Ss (in another shell, executing & watching: watch -n 1 'cat /proc/mdstat') node1 # mdadm -A -U no-bitmap /dev/md0 /dev/sd{a,b} ``` Signed-off-by: Zhao Heming <heming.zhao@suse.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* super1: fix Floating point exceptionZhao Heming2021-03-031-1/+4
| | | | | | | | | | | | | | | | write_bitmap1 didn't check return value of locate_bitmap1, which will operate bitmap area under invalid bitmap info. mdadm core dumped when doing below steps: ``` node1 # mdadm -C /dev/md0 -b none -e 1.2 -n 2 -l mirror /dev/sda /dev/sdb node1 # mdadm -Ss node1 # mdadm -A -U home-cluster --home-cluster=abc /dev/md0 /dev/sda /dev/sdb Floating point exception (core dumped) ``` Signed-off-by: Zhao Heming <heming.zhao@suse.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* Grow: be careful of corrupt dev_roles listNeilBrown2021-03-032-13/+50
| | | | | | | | | | | | | | | | | | I've seen a case where the dev_roles list of a linear array was corrupt. ->max_dev was > 128 and > raid_disks, and the extra slots were '0', not 0xFFFE or 0xFFFF. This caused problems when a 128th device was added. So: 1/ make Grow_Add_device more robust so that if numbers look wrong, it fails-safe. 2/ make examine_super1() report details if the dev_roles array is corrupt. Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* mdadm: fix reshape from RAID5 to RAID6 with backup fileNigel Croxon2021-03-031-2/+5
| | | | | | | | | | | | | Reshaping a 3-disk RAID5 to 4-disk RAID6 will cause a hang of the resync after the grow. Adding a spare disk to avoid degrading the array when growing is successful, but not successful when supplying a backup file on the command line. If the reshape job is not already running, set the sync_max value to max. Signed-off-by: Nigel Croxon <ncroxon@redhat.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* mdadm/bitmap: locate bitmap calcuate bitmap position wronglyXiao Ni2021-03-031-3/+9
| | | | | | | | Now it only adds bitmap offset based on cluster nodes. It's not right. It needs to add per node bitmap space to find next node bitmap position. Signed-off-by: Xiao Ni <xni@redhat.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* Dump: get stat from a wrong metadata file when restoring metadataLidong Zhong2020-12-201-0/+5
| | | | | | | | | | | | | | | | | | | | | | The dumped metadata files are shown as below localhost:~ # ll -ih test/ total 16K 34565564 -rw-r--r-- 2 root root 1.0G Dec 14 21:15 scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-3 34565563 -rw-r--r-- 2 root root 1.0G Dec 14 21:15 scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-4 34565563 -rw-r--r-- 2 root root 1.0G Dec 14 21:15 sda 34565564 -rw-r--r-- 2 root root 1.0G Dec 14 21:15 sdb It reports such error when trying to restore metadata for /dev/sda localhost:~ # mdadm --restore=test /dev/sda mdadm: test/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-4 is not the same size as /dev/sda - cannot restore. It's because the stb value has been changed to other metadata file in the while statement. Signed-off-by: Lidong Zhong <lidong.zhong@suse.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* Incremental: Remove redundant spare movement logicMariusz Tkaczyk2020-12-201-62/+0
| | | | | | | | | | | If policy is set then mdmonitor is responsible for moving spares. This logic is reduntant and potentialy dangerus, spare could be moved at initrd stage depending on drives appearance order. Remove it. Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* udev: start grow service automaticallyTkaczyk Mariusz2020-11-251-0/+2
| | | | | | | | | Grow continue via service or fork is started during raid assembly. If raid was assembled in initrd it will be newer restarted after switch root. Add udev support for starting mdadm-grow-continue service. Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@intel.com>
* Make target to install binaries onlyKinga Tanska2020-11-251-3/+5
| | | | | | | | Make install causes installation of binaries, udev and man. This commit contains new target make install-bin, which results in installation of binaries only. Signed-off-by: Kinga Tanska <kinga.tanska@intel.com>
* mdadm/Detail: show correct state for clustered arrayZhao Heming2020-11-253-10/+86
| | | | | | | | | | | | After kernel md module commit 480523feae581, in clustered env, mddev->in_sync always zero, it will make array.state never set up MD_SB_CLEAN. it causes "mdadm -D /dev/mdX" show state 'active' all the time. bitmap.c: add a new API IsBitmapDirty() to support inquiry bitmap dirty or clean. Signed-off-by: Zhao Heming <heming.zhao@suse.com>
* mdadm: Unify forks behaviourMariusz Tkaczyk2020-11-256-101/+100
| | | | | | | | | | | | | | If mdadm is run by udev or systemd, it gets a pipe as each stream. Forks in the background may run after an event or service has been processed when udev is detached from pipe. As a result process fails quietly if any message is written. To prevent from it, each fork has to close all parent streams. Leave stderr and stdout opened only for debug purposes. Unify it across all forks. Introduce other descriptors detection by scanning /proc/self/fd directory. Add generic method for managing systemd services. Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@intel.com>
* imsm: limit support to first NVMe namespaceMariusz Tkaczyk2020-11-253-1/+42
| | | | | | Due to metadata limitations NVMe multinamespace support has to be removed. Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@intel.com>
* Monitor: don't use default modes when creating a fileMariusz Tkaczyk2020-11-251-5/+12
| | | | | | | Replace fopen() calls by open() with creation mode directly specified. This fixes the potential security issue. Use octal values instead masks. Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
* imsm: remove redundant calls to imsm_get_mapMariusz Tkaczyk2020-11-251-2/+0
| | | | | | MAP_0 is gotten and the beginning, there is no need to get it again. Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
* imsm: update num_data_stripes according to dev_sizeMariusz Tkaczyk2020-11-251-6/+78
| | | | | | | | | | | | | | | | If array was created in UEFI there is possibility that member size is not rounded to 1MB. After any size reconfiguration it will be rounded down to 1MB per each member but the old component size will remain in metadata. During reshape old array size is calculated from component size because dev_size is not a part of map and is bumped to new value quickly. It may result in size mismatch if array is assembled during reshape. If difference in calculated size and dev_size is observed try to fix it. num_data_stripes value can be safety updated to smaller value if array doesn't occuppy whole reserved component space. Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
* Create.c: close mdfd and generate ueventMariusz Tkaczyk2020-11-251-5/+2
| | | | | | | | | During mdfd closing change event is not generated because open() is called before start watching mddevice by udev. Device is ready at this stage. Unblock device, close fd and generate event to give a chance next layers to work. Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
* Detail: fix segfault during IMSM raid creationLidong Zhong2020-11-251-1/+1
| | | | | | | | | | | It can be reproduced with non IMSM hardware and IMSM_NO_PLATFORM environmental variable set. The array state is inactive when creating an IMSM container. And the structure info is NULL because load_super() always fails since no intel HBA information could be obtained. Signed-off-by: Lidong Zhong <lidong.zhong@suse.com> Reported-by: Tkaczyk Mariusz <mariusz.tkaczyk@intel.com> Fixes: 64bf4dff3430 (Detail: show correct raid level when the array is inactive)
* Super1: allow RAID0 layout setting to be removed.NeilBrown2020-10-144-5/+34
| | | | | | | | | | | | | | | | Once the RAID0 layout has been set, the RAID0 array cannot be assembled on an older kernel which doesn't understand layouts. This is an intentional safety feature, but sometimes people need the ability to roll-back to a previously working configuration. So add "--update=layout-unspecified" to remove RAID0 layout information from the superblock. Running "--assemble --update=layout-unspecified" will cause the assembly the fail when run on a newer kernel, but will allow it to work on an older kernel. Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* Check if other Monitor instance running before fork.Blazej Kucman2020-10-141-16/+28
| | | | | | | | Make error message visible to the user. Signed-off-by: Blazej Kucman <blazej.kucman@intel.com> Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@intel.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* mdmonitor: set small delay onceBlazej Kucman2020-10-143-5/+29
| | | | | | | | | If mdmonitor is awakened by event, set small delay once to deal with udev and mdadm. Signed-off-by: Blazej Kucman <blazej.kucman@intel.com> Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@intel.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* Monitor: stop notifing about containers.Mariusz Tkaczyk2020-10-141-3/+16
| | | | | | | | | | Stop reporting any events from container but still track them, it is important for spare migration. Stop mdmonitor if no redundant array is presented in mdstat. There is nothing to follow. Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@intel.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* Monitor: refresh mdstat fd after selectMariusz Tkaczyk2020-10-142-5/+5
| | | | | | | | | | | | | After 52209d6ee118 ("Monitor: release /proc/mdstat fd when no arrays present") mdstat fd is closed if mdstat is empty or cannot be opened. It causes that monitor is not able to select on mdstat. Select doesn't fail because it gets valid descriptor to a different resource. As a result any new event will be unnoticed until timeout (delay). Refresh mdstat after wake up, don't poll on wrong resource. Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@intel.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* Don't create bitmap for raid5 with journal diskXiao Ni2020-10-141-0/+1
| | | | | | | | Journal disk and bitmap can't exist at the same time. It needs to check if the raid has a journal disk when creating bitmap. Signed-off-by: Xiao Ni <xni@redhat.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* Detail: show correct raid level when the array is inactiveLidong Zhong2020-10-141-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes the raid level in the output of `mdadm -D /dev/mdX` is misleading when the array is in inactive state. Here is a testcase for introduction. 1\ creating a raid1 device with two disks. Specify a different hostname rather than the real one for later verfication. node1:~ # mdadm --create /dev/md0 --homehost TESTARRAY -o -l 1 -n 2 /dev/sdb /dev/sdc 2\ remove one of the devices and reboot 3\ show the detail of raid1 device node1:~ # mdadm -D /dev/md127 /dev/md127: Version : 1.2 Raid Level : raid0 Total Devices : 1 Persistence : Superblock is persistent State : inactive Working Devices : 1 You can see that the "Raid Level" in /dev/md127 is raid0 now. After step 2\ is done, the degraded raid1 device is recognized as a "foreign" array in 64-md-raid-assembly.rules. And thus the timer to activate the raid1 device is not triggered. The array level returned from GET_ARRAY_INFO ioctl is 0. And the string shown for "Raid Level" is str = map_num(pers, array.level); And the definition of pers is mapping_t pers[] = { { "linear", LEVEL_LINEAR}, { "raid0", 0}, { "0", 0} ... So the misleading "raid0" is shown in this testcase. Changelog: v1: don't show "Raid Level" when array is inactive Signed-off-by: Lidong Zhong <lidong.zhong@suse.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* manual: update --examine-badblocksMariusz Tkaczyk2020-08-071-2/+4
| | | | | | | IMSM also supports it. Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@intel.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* mdadm/md.4: update path to in-kernel-tree documentationWinston Weinert2020-08-071-1/+1
| | | | | | | | | Documentation/md.txt was renamed to Documentation/admin-guide/md.rst in linux commit 9d85025b0418163fae079c9ba8f8445212de8568 (Oct 26, 2016). Signed-off-by: Winston Weinert <winston@ml1.net> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* Specify nodes number when updating cluster nodesXiao Ni2020-08-071-0/+5
| | | | | | | | | | | Now it allows updating cluster nodes without specify --nodes. It can write superblock with zero nodes. It can break the current cluster. Add this check to avoid this problem. v2: It needs check c.update first to avoid NULL pointer reference v3: Wol points the typo error Signed-off-by: Xiao Ni <xni@redhat.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* mdadm/Grow: prevent md's fd from being occupied during delayed timeallenpeng2020-06-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we start reshaping on md which shares sub-devices with another resyncing md, it may be forced to wait for others to complete. mdadm occupies the md's fd during this time, which causes the md can not be stopped and the filesystem can not be mounted on the md. We can close md's fd earlier to solve this problem. Reproducible Steps: 1. create two partitions on sda, sdb, sdc, sdd 2. create raid1 with sda1, sdb1 mdadm -C /dev/md1 --assume-clean -l1 -n2 /dev/sda1 /dev/sdb1 3. create raid5 with sda2, sdb2, sdc2 mdadm -C /dev/md2 --assume-clean -l5 -n3 /dev/sda2 /dev/sdb2 /dev/sdc2 4. start resync at md1 echo repair > /sys/block/md1/md/sync_action 5. reshape raid5 to raid6 mdadm -a /dev/md2 /dev/sdd2 mdadm --grow /dev/md2 -n4 -l6 --backup-file=/root/md2-backup Now mdadm is occupying the fd of md2, causing md2 unable to be stopped 6.Try to stop md2, an error message shows mdadm -S /dev/md2 mdadm: Cannot get exclusive access to /dev/md3:Perhaps a running process, mounted filesystem or active volume group? Reviewed-by: Alex Wu <alexwu@synology.com> Reviewed-by: BingJing Chang <bingjingc@synology.com> Reviewed-by: Danny Shih <dannyshih@synology.com> Signed-off-by: ChangSyun Peng <allenpeng@synology.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* Update link to Intel page for IMSMJes Sorensen2020-06-121-1/+1
| | | | | | The old design page is gone, so update to the current overview page. Signed-off-by: Jes Sorensen <jsorensen@fb.com>
* Use more secure HTTPS URLsPaul Menzel2020-06-126-9/+9
| | | | | | | | | | | | | | All URLs in the source are available over HTTPS, so convert all URLs to HTTPS with the command below. git grep -l 'http://' | xargs sed -i 's,http://,https://,g' Revert the changes to announcement files `ANNOUNCE-*` as requested by the maintainer. Cc: linux-raid@vger.kernel.org Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de> Signed-off-by: Jes Sorensen <jsorensen@fb.com>