From 565da4d696d1b7f702309111d61edb355efe213e Mon Sep 17 00:00:00 2001 From: Jonathan Brassow Date: Fri, 4 Sep 2009 20:40:32 +0100 Subject: [PATCH] --- yaml --- r: 157221 b: refs/heads/master c: d2b698644c97cb033261536a4f2010924a00eac9 h: refs/heads/master i: 157219: eaa29152e488cfbc30ffe2007d6c24cce994ddac v: v3 --- [refs] | 2 +- trunk/drivers/md/dm-raid1.c | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 9de086b26707..bbda158f0349 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b8313b6da7e2e7c7f47d93d8561969a3ff9ba0ea +refs/heads/master: d2b698644c97cb033261536a4f2010924a00eac9 diff --git a/trunk/drivers/md/dm-raid1.c b/trunk/drivers/md/dm-raid1.c index 9726577cde49..33f179e66bf5 100644 --- a/trunk/drivers/md/dm-raid1.c +++ b/trunk/drivers/md/dm-raid1.c @@ -648,7 +648,13 @@ static void do_writes(struct mirror_set *ms, struct bio_list *writes) */ dm_rh_inc_pending(ms->rh, &sync); dm_rh_inc_pending(ms->rh, &nosync); - ms->log_failure = dm_rh_flush(ms->rh) ? 1 : 0; + + /* + * If the flush fails on a previous call and succeeds here, + * we must not reset the log_failure variable. We need + * userspace interaction to do that. + */ + ms->log_failure = dm_rh_flush(ms->rh) ? 1 : ms->log_failure; /* * Dispatch io.