Mercurial > illumos > illumos-gate
changeset 12629:8a89ca2bbe3a
6914620 SVM can panic system when attempting to access a damaged one-sided mirror
author | Ray Hassan <Ray.Hassan@oracle.COM> |
---|---|
date | Wed, 16 Jun 2010 10:25:09 +0100 |
parents | 7da42ae5ee37 |
children | e9b26c370c79 |
files | usr/src/uts/common/io/lvm/mirror/mirror.c |
diffstat | 1 files changed, 5 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/usr/src/uts/common/io/lvm/mirror/mirror.c Wed Jun 16 09:11:16 2010 +0200 +++ b/usr/src/uts/common/io/lvm/mirror/mirror.c Wed Jun 16 10:25:09 2010 +0100 @@ -20,8 +20,7 @@ */ /* - * Copyright 2009 Sun Microsystems, Inc. All rights reserved. - * Use is subject to license terms. + * Copyright (c) 1992, 2010, Oracle and/or its affiliates. All rights reserved. */ #include <sys/param.h> @@ -356,9 +355,11 @@ open_comp = (frm_probe) ? (shared->ms_flags & MDM_S_PROBEOPEN): (shared->ms_flags & MDM_S_ISOPEN); - if ((shared->ms_flags & MDM_S_IOERR || !open_comp) && + if (((shared->ms_flags & MDM_S_IOERR || !open_comp) && ((shared->ms_state == CS_OKAY) || - (shared->ms_state == CS_RESYNC))) { + (shared->ms_state == CS_RESYNC))) || + (!open_comp && + (shared->ms_state == CS_LAST_ERRED))) { if (clr_error) { shared->ms_flags &= ~MDM_S_IOERR; }