Module Name: src
Committed By: skrll
Date: Tue Mar 18 15:44:37 UTC 2014
Modified Files:
src/sys/dev: cgd.c cgdvar.h
Log Message:
Remove a simplelock and replace with a kmutex
To generate a diff of this commit:
cvs rdiff -u -r1.84 -r1.85 src/sys/dev/cgd.c
cvs rdiff -u -r1.16 -r1.17 src/sys/dev/cgdvar.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/cgd.c
diff -u src/sys/dev/cgd.c:1.84 src/sys/dev/cgd.c:1.85
--- src/sys/dev/cgd.c:1.84 Sun Mar 16 05:20:26 2014
+++ src/sys/dev/cgd.c Tue Mar 18 15:44:37 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: cgd.c,v 1.84 2014/03/16 05:20:26 dholland Exp $ */
+/* $NetBSD: cgd.c,v 1.85 2014/03/18 15:44:37 skrll Exp $ */
/*-
* Copyright (c) 2002 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cgd.c,v 1.84 2014/03/16 05:20:26 dholland Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cgd.c,v 1.85 2014/03/18 15:44:37 skrll Exp $");
#include <sys/types.h>
#include <sys/param.h>
@@ -200,7 +200,7 @@ cgd_attach(device_t parent, device_t sel
{
struct cgd_softc *sc = device_private(self);
- simple_lock_init(&sc->sc_slock);
+ mutex_init(&sc->sc_lock, MUTEX_DEFAULT, IPL_BIO);
dk_sc_init(&sc->sc_dksc, device_xname(self));
sc->sc_dksc.sc_dev = self;
disk_init(&sc->sc_dksc.sc_dkdev, sc->sc_dksc.sc_xname, &cgddkdriver);
@@ -354,12 +354,12 @@ cgd_getdata(struct dk_softc *dksc, unsig
struct cgd_softc *cs = (struct cgd_softc *)dksc;
void * data = NULL;
- simple_lock(&cs->sc_slock);
+ mutex_enter(&cs->sc_lock);
if (cs->sc_data_used == 0) {
cs->sc_data_used = 1;
data = cs->sc_data;
}
- simple_unlock(&cs->sc_slock);
+ mutex_exit(&cs->sc_lock);
if (data)
return data;
@@ -373,9 +373,9 @@ cgd_putdata(struct dk_softc *dksc, void
struct cgd_softc *cs = (struct cgd_softc *)dksc;
if (data == cs->sc_data) {
- simple_lock(&cs->sc_slock);
+ mutex_enter(&cs->sc_lock);
cs->sc_data_used = 0;
- simple_unlock(&cs->sc_slock);
+ mutex_exit(&cs->sc_lock);
} else {
free(data, M_DEVBUF);
}
Index: src/sys/dev/cgdvar.h
diff -u src/sys/dev/cgdvar.h:1.16 src/sys/dev/cgdvar.h:1.17
--- src/sys/dev/cgdvar.h:1.16 Wed Dec 5 02:23:20 2012
+++ src/sys/dev/cgdvar.h Tue Mar 18 15:44:37 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: cgdvar.h,v 1.16 2012/12/05 02:23:20 christos Exp $ */
+/* $NetBSD: cgdvar.h,v 1.17 2014/03/18 15:44:37 skrll Exp $ */
/*-
* Copyright (c) 2002 The NetBSD Foundation, Inc.
@@ -32,8 +32,6 @@
#ifndef _DEV_CGDVAR_H_
#define _DEV_CGDVAR_H_
-#include <sys/simplelock.h>
-
/* ioctl(2) code: used by CGDIOCSET and CGDIOCCLR */
struct cgd_ioctl {
const char *ci_disk;
@@ -90,7 +88,7 @@ struct cgd_softc {
size_t sc_tpathlen; /* length of prior string */
struct cryptdata sc_cdata; /* crypto data */
const struct cryptfuncs *sc_cfuncs; /* encryption functions */
- struct simplelock sc_slock; /* our lock */
+ kmutex_t sc_lock; /* our lock */
};
#endif