Module Name: src Committed By: hannken Date: Mon Jan 4 16:24:52 UTC 2016
Modified Files: src/sys/dev: md.c Log Message: Notify disk subsystem of the current geometry. Ok: Michael van Elst To generate a diff of this commit: cvs rdiff -u -r1.75 -r1.76 src/sys/dev/md.c 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/md.c diff -u src/sys/dev/md.c:1.75 src/sys/dev/md.c:1.76 --- src/sys/dev/md.c:1.75 Thu Aug 20 14:40:17 2015 +++ src/sys/dev/md.c Mon Jan 4 16:24:52 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: md.c,v 1.75 2015/08/20 14:40:17 christos Exp $ */ +/* $NetBSD: md.c,v 1.76 2016/01/04 16:24:52 hannken Exp $ */ /* * Copyright (c) 1995 Gordon W. Ross, Leo Weppelman. @@ -40,7 +40,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: md.c,v 1.75 2015/08/20 14:40:17 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: md.c,v 1.76 2016/01/04 16:24:52 hannken Exp $"); #ifdef _KERNEL_OPT #include "opt_md.h" @@ -528,6 +528,7 @@ mdioctl(dev_t dev, u_long cmd, void *dat static void md_set_disklabel(struct md_softc *sc) { + struct disk_geom *dg = &sc->sc_dkdev.dk_geom; struct disklabel *lp = sc->sc_dkdev.dk_label; struct partition *pp; @@ -567,6 +568,16 @@ md_set_disklabel(struct md_softc *sc) lp->d_magic = DISKMAGIC; lp->d_magic2 = DISKMAGIC; lp->d_checksum = dkcksum(lp); + + memset(dg, 0, sizeof(*dg)); + + dg->dg_secsize = lp->d_secsize; + dg->dg_secperunit = lp->d_secperunit; + dg->dg_nsectors = lp->d_nsectors; + dg->dg_ntracks = lp->d_ntracks = 64;; + dg->dg_ncylinders = lp->d_ncylinders; + + disk_set_info(sc->sc_dev, &sc->sc_dkdev, NULL); } /*