From 5684fff6f800098564b0456ad9b16c3c651dd4c0 Mon Sep 17 00:00:00 2001 From: "mwilck@arcor.de" Date: Fri, 16 Aug 2013 20:21:58 +0200 Subject: [PATCH] DDF: increase default value for safe_mode_delay to 4000ms That is the same value that IMSM uses. The current default of 200ms seems to have been copied from the native MD meta data. That value appears to be much too low for DDF, given that writing the DDF meta data means that easily several MB worth of data need to be written to disk. Signed-off-by: Martin Wilck Signed-off-by: NeilBrown --- super-ddf.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/super-ddf.c b/super-ddf.c index a5852a7..8bba70a 100644 --- a/super-ddf.c +++ b/super-ddf.c @@ -47,6 +47,10 @@ unsigned long crc32( #define DDF_NOTFOUND (~0U) #define DDF_CONTAINER (DDF_NOTFOUND-1) +/* Default for safe_mode_delay. Same value as for IMSM. + */ +static const int DDF_SAFE_MODE_DELAY = 4000; + /* The DDF metadata handling. * DDF metadata lives at the end of the device. * The last 512 byte block provides an 'anchor' which is used to locate @@ -1976,7 +1980,7 @@ static void getinfo_super_ddf_bvd(struct supertype *st, struct mdinfo *info, cha sprintf(info->text_version, "/%s/%d", st->container_devnm, info->container_member); - info->safe_mode_delay = 200; + info->safe_mode_delay = DDF_SAFE_MODE_DELAY; memcpy(info->name, ddf->virt->entries[info->container_member].name, 16); info->name[16]=0; @@ -3668,7 +3672,7 @@ static struct mdinfo *container_content_ddf(struct supertype *st, char *subarray this->array.md_minor = -1; this->array.major_version = -1; this->array.minor_version = -2; - this->safe_mode_delay = 200; + this->safe_mode_delay = DDF_SAFE_MODE_DELAY; cptr = (__u32 *)(vc->conf.guid + 16); this->array.ctime = DECADE + __be32_to_cpu(*cptr); this->array.utime = DECADE +