Mirror change made in FreeBSD, rev 1.39 of aac.c. May address PR 23574.

bzero out the sync command buffer when sending commands.  This was causing
problems when enumerating multiple arrays.
This commit is contained in:
ad 2003-12-09 20:12:14 +00:00
parent d45d00fdb9
commit ae788c30d0
1 changed files with 6 additions and 4 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: aac.c,v 1.9 2003/05/03 18:11:11 wiz Exp $ */
/* $NetBSD: aac.c,v 1.10 2003/12/09 20:12:14 ad Exp $ */
/*-
* Copyright (c) 2002 The NetBSD Foundation, Inc.
@ -77,7 +77,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: aac.c,v 1.9 2003/05/03 18:11:11 wiz Exp $");
__KERNEL_RCSID(0, "$NetBSD: aac.c,v 1.10 2003/12/09 20:12:14 ad Exp $");
#include "locators.h"
@ -631,14 +631,15 @@ aac_startup(struct aac_softc *sc)
/*
* Loop over possible containers.
*/
mi.Command = htole32(VM_NameServe);
mi.MntType = htole32(FT_FILESYS);
hd = sc->sc_hdr;
for (i = 0; i < AAC_MAX_CONTAINERS; i++, hd++) {
/*
* Request information on this container.
*/
memset(&mi, 0, sizeof(mi));
mi.Command = htole32(VM_NameServe);
mi.MntType = htole32(FT_FILESYS);
mi.MntCount = htole32(i);
if (aac_sync_fib(sc, ContainerCommand, 0, &mi, sizeof(mi), &mir,
&rsize)) {
@ -690,6 +691,7 @@ aac_shutdown(void *cookie)
* talk to it anymore. We've been closed and all I/O
* completed already
*/
memset(&cc, 0, sizeof(cc));
cc.Command = htole32(VM_CloseAll);
cc.ContainerId = 0xffffffff;
if (aac_sync_fib(sc, ContainerCommand, 0, &cc, sizeof(cc),