On 3/12/23 23:42, NeilBrown wrote: > Factor out IMSM_NO_PLATFORM testing into a single function that caches > the result. > > Allow mdmon to explicitly set the result to "1" so that we don't need > the ENV var in the unit file > > Check if the kernel command line contains "mdadm.imsm.test=1" and in > that case assert NO_PLATFORM. This simplifies testing in a virtual > machine. > > Signed-off-by: NeilBrown <neilb@xxxxxxx> > --- > mdadm.h | 2 ++ > mdmon.c | 6 ++++++ > super-intel.c | 43 ++++++++++++++++++++++++++++++++++++++++--- > systemd/mdmon@.service | 3 --- > 4 files changed, 48 insertions(+), 6 deletions(-) Hi Neil > diff --git a/super-intel.c b/super-intel.c > index e155a8ae99cb..a514dea6f95c 100644 > --- a/super-intel.c > +++ b/super-intel.c > @@ -629,6 +629,43 @@ static const char *_sys_dev_type[] = { > [SYS_DEV_VMD] = "VMD" > }; > > +static int no_platform = -1; > + > +static int check_no_platform(void) > +{ > + static const char search[] = "mdadm.imsm.test=1"; > + int fd; > + char buf[1024]; This isn't safe, /proc/cmdline can be longer than 1024 characters. Cheers, Jes