From owner-p4-projects Sat Feb 8 21:17:52 2003 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 459E137B405; Sat, 8 Feb 2003 21:17:49 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CB3C437B401 for ; Sat, 8 Feb 2003 21:17:48 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 77FD043F93 for ; Sat, 8 Feb 2003 21:17:48 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h195Hmbv055944 for ; Sat, 8 Feb 2003 21:17:48 -0800 (PST) (envelope-from jmallett@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h195Hm5n055941 for perforce@freebsd.org; Sat, 8 Feb 2003 21:17:48 -0800 (PST) Date: Sat, 8 Feb 2003 21:17:48 -0800 (PST) Message-Id: <200302090517.h195Hm5n055941@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmallett@freebsd.org using -f From: Juli Mallett Subject: PERFORCE change 24869 for review To: Perforce Change Reviews Sender: owner-p4-projects@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG http://perforce.freebsd.org/chv.cgi?CH=24869 Change 24869 by jmallett@jmallett_dalek on 2003/02/08 21:17:07 Add checksum support, and a few more bootverbose messages. Affected files ... .. //depot/projects/mips/sys/geom/geom_fx.c#5 edit Differences ... ==== //depot/projects/mips/sys/geom/geom_fx.c#5 (text+ko) ==== @@ -129,6 +129,7 @@ } __packed; struct g_fx_softc { + struct volhdr sc_volhdr; }; static void @@ -151,6 +152,21 @@ } static int +g_fx_cksum(struct volhdr *vh) +{ + int32_t *words; + int32_t sum; + int i; + + sum = 0; + words = (int32_t *)vh; + + for (i = 0; i < 512 / sizeof *words; i++) + sum += g_dec_be4((u_char *)&words[i]); + return sum; +} + +static int g_fx_start(struct bio *bp) { struct g_geom *gp; @@ -220,6 +236,15 @@ label = (struct volhdr *)buf; if (g_dec_be4((u_char *)&label->vh_magic) != FX_LABEL_MAGIC) break; + error = g_fx_cksum(label); + if (error != 0) { + if (bootverbose) { + printf("Found a bad label on %s (sum %d)\n", + pp->name, error); + } + break; + } + ms->sc_volhdr = *label; for (i = 0; i < FX_NPARTS; i++) { vp = &label->vh_part[i]; g_fx_swap_volpart(vp); @@ -237,6 +262,10 @@ } npart++; } + if (bootverbose) { + printf("Configured %d partitions on %s\n", + npart, pp->name); + } break; } g_topology_lock(); To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message