svn commit: r339023 - stable/11/sys/geom/eli
Mariusz Zaborski
oshogbo at FreeBSD.org
Sun Sep 30 12:25:39 UTC 2018
Author: oshogbo
Date: Sun Sep 30 12:25:38 2018
New Revision: 339023
URL: https://svnweb.freebsd.org/changeset/base/339023
Log:
MFC r336310:
Let geli deal with lost devices without crashing.
PR: 162036
Submitted by: Fabian Keil <fk at fabiankeil.de>
Obtained from: ElectroBSD
Discussed with: pjd@
Modified:
stable/11/sys/geom/eli/g_eli.c
stable/11/sys/geom/eli/g_eli_privacy.c
Directory Properties:
stable/11/ (props changed)
Modified: stable/11/sys/geom/eli/g_eli.c
==============================================================================
--- stable/11/sys/geom/eli/g_eli.c Sun Sep 30 12:16:06 2018 (r339022)
+++ stable/11/sys/geom/eli/g_eli.c Sun Sep 30 12:25:38 2018 (r339023)
@@ -252,7 +252,8 @@ g_eli_read_done(struct bio *bp)
pbp->bio_driver2 = NULL;
}
g_io_deliver(pbp, pbp->bio_error);
- atomic_subtract_int(&sc->sc_inflight, 1);
+ if (sc != NULL)
+ atomic_subtract_int(&sc->sc_inflight, 1);
return;
}
mtx_lock(&sc->sc_queue_mtx);
@@ -297,7 +298,8 @@ g_eli_write_done(struct bio *bp)
*/
sc = pbp->bio_to->geom->softc;
g_io_deliver(pbp, pbp->bio_error);
- atomic_subtract_int(&sc->sc_inflight, 1);
+ if (sc != NULL)
+ atomic_subtract_int(&sc->sc_inflight, 1);
}
/*
Modified: stable/11/sys/geom/eli/g_eli_privacy.c
==============================================================================
--- stable/11/sys/geom/eli/g_eli_privacy.c Sun Sep 30 12:16:06 2018 (r339022)
+++ stable/11/sys/geom/eli/g_eli_privacy.c Sun Sep 30 12:25:38 2018 (r339023)
@@ -87,7 +87,8 @@ g_eli_crypto_read_done(struct cryptop *crp)
bp->bio_error = crp->crp_etype;
}
sc = bp->bio_to->geom->softc;
- g_eli_key_drop(sc, crp->crp_desc->crd_key);
+ if (sc != NULL)
+ g_eli_key_drop(sc, crp->crp_desc->crd_key);
/*
* Do we have all sectors already?
*/
@@ -104,7 +105,8 @@ g_eli_crypto_read_done(struct cryptop *crp)
* Read is finished, send it up.
*/
g_io_deliver(bp, bp->bio_error);
- atomic_subtract_int(&sc->sc_inflight, 1);
+ if (sc != NULL)
+ atomic_subtract_int(&sc->sc_inflight, 1);
return (0);
}
More information about the svn-src-all
mailing list