From: Coly Li Date: Wed, 31 Jul 2019 05:29:30 +0000 (+0800) Subject: udev: add --no-devices option for calling 'mdadm --detail' X-Git-Tag: mdadm-4.2-rc1~100 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1a52f1fc0266d438c996789d4addbfac999a6139;p=thirdparty%2Fmdadm.git udev: add --no-devices option for calling 'mdadm --detail' When creating symlink of a md raid device, the detailed information of component disks are unnecessary for rule udev-md-raid-arrays.rules. For md raid devices with huge number of component disks (e.g. 1500 DASD disks), the detail information of component devices can be very large and exceed udev monitor's on-stack message buffer. This patch adds '--no-devices' option when calling mdadm by, IMPORT{program}="BINDIR/mdadm --detail --no-devices --export $devnode" Now the detailed output won't include component disks information, and the error message "invalid message length" reported by systemd can be removed. Signed-off-by: Coly Li Reviewed-by: NeilBrown Signed-off-by: Jes Sorensen --- diff --git a/udev-md-raid-arrays.rules b/udev-md-raid-arrays.rules index 5b99d587..d3916651 100644 --- a/udev-md-raid-arrays.rules +++ b/udev-md-raid-arrays.rules @@ -17,7 +17,7 @@ TEST!="md/array_state", ENV{SYSTEMD_READY}="0", GOTO="md_end" ATTR{md/array_state}=="|clear|inactive", ENV{SYSTEMD_READY}="0", GOTO="md_end" LABEL="md_ignore_state" -IMPORT{program}="BINDIR/mdadm --detail --export $devnode" +IMPORT{program}="BINDIR/mdadm --detail --no-devices --export $devnode" ENV{DEVTYPE}=="disk", ENV{MD_NAME}=="?*", SYMLINK+="disk/by-id/md-name-$env{MD_NAME}", OPTIONS+="string_escape=replace" ENV{DEVTYPE}=="disk", ENV{MD_UUID}=="?*", SYMLINK+="disk/by-id/md-uuid-$env{MD_UUID}" ENV{DEVTYPE}=="disk", ENV{MD_DEVNAME}=="?*", SYMLINK+="md/$env{MD_DEVNAME}"