summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjr26306 <none@none>2008-04-07 04:17:28 -0700
committerjr26306 <none@none>2008-04-07 04:17:28 -0700
commit92bb3aa0c4df55e8df8196e55c7b030d462865c3 (patch)
tree9a4159a995c2d69430c320fd01f05f7ed70b2b77
parentc322ff79f6149528aa6dc5018328f071dcf1e50f (diff)
downloadillumos-gate-92bb3aa0c4df55e8df8196e55c7b030d462865c3.tar.gz
6665103 turnstile_block(): unowned mutex via SVM raid_alloc_pwslot()
-rw-r--r--usr/src/uts/common/sys/lvm/md_raid.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/usr/src/uts/common/sys/lvm/md_raid.h b/usr/src/uts/common/sys/lvm/md_raid.h
index 854bece664..2692e30c87 100644
--- a/usr/src/uts/common/sys/lvm/md_raid.h
+++ b/usr/src/uts/common/sys/lvm/md_raid.h
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -246,13 +246,18 @@ typedef struct mr_column_ic {
mr_pw_reserve_t *un_pw_reserve;
} mr_column_ic_t;
+/*
+ * Do not rearrange elements as mutexes must be aligned on
+ * an 8 byte boundary. Element _t_un_linlck_mx corresponds to
+ * _t_un_linlck_cv and element _t_un_mx corresponds to _t_un_cv
+ */
typedef struct mr_unit_ic {
caddr_t _t_un_pbuffer;
caddr_t _t_un_dbuffer;
struct md_raidcs *_t_un_linlck_chn;
kmutex_t _t_un_linlck_mx;
- kcondvar_t _t_un_linlck_cv;
kmutex_t _t_un_mx;
+ kcondvar_t _t_un_linlck_cv;
kcondvar_t _t_un_cv;
mr_column_ic_t *_t_un_column_ic;
} mr_unit_ic_t;