CVS commit: src/sys/miscfs/nullfs
Module Name:src Committed By: jld Date: Sat Apr 10 18:14:54 UTC 2010 Modified Files: src/sys/miscfs/nullfs: null_vfsops.c Log Message: Change the nullfs module's actual name to null, to match the name it's installed under and the name of the filesystem. Fixes PR kern/43110. To generate a diff of this commit: cvs rdiff -u -r1.79 -r1.80 src/sys/miscfs/nullfs/null_vfsops.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/miscfs/nullfs/null_vfsops.c diff -u src/sys/miscfs/nullfs/null_vfsops.c:1.79 src/sys/miscfs/nullfs/null_vfsops.c:1.80 --- src/sys/miscfs/nullfs/null_vfsops.c:1.79 Sat Mar 14 15:36:22 2009 +++ src/sys/miscfs/nullfs/null_vfsops.c Sat Apr 10 18:14:54 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: null_vfsops.c,v 1.79 2009/03/14 15:36:22 dsl Exp $ */ +/* $NetBSD: null_vfsops.c,v 1.80 2010/04/10 18:14:54 jld Exp $ */ /* * Copyright (c) 1999 National Aeronautics Space Administration @@ -74,7 +74,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: null_vfsops.c,v 1.79 2009/03/14 15:36:22 dsl Exp $); +__KERNEL_RCSID(0, $NetBSD: null_vfsops.c,v 1.80 2010/04/10 18:14:54 jld Exp $); #include sys/param.h #include sys/systm.h @@ -90,7 +90,7 @@ #include miscfs/nullfs/null.h #include miscfs/genfs/layer_extern.h -MODULE(MODULE_CLASS_VFS, nullfs, layerfs); +MODULE(MODULE_CLASS_VFS, null, layerfs); VFS_PROTOS(nullfs); @@ -286,7 +286,7 @@ }; static int -nullfs_modcmd(modcmd_t cmd, void *arg) +null_modcmd(modcmd_t cmd, void *arg) { int error;
CVS commit: src/sys/arch/i386/include
Module Name:src Committed By: jld Date: Tue Apr 6 20:43:57 UTC 2010 Modified Files: src/sys/arch/i386/include: pte.h Log Message: Fix typos in PAE comment. To generate a diff of this commit: cvs rdiff -u -r1.21 -r1.22 src/sys/arch/i386/include/pte.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/arch/i386/include/pte.h diff -u src/sys/arch/i386/include/pte.h:1.21 src/sys/arch/i386/include/pte.h:1.22 --- src/sys/arch/i386/include/pte.h:1.21 Fri Feb 26 19:25:07 2010 +++ src/sys/arch/i386/include/pte.h Tue Apr 6 20:43:57 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: pte.h,v 1.21 2010/02/26 19:25:07 jym Exp $ */ +/* $NetBSD: pte.h,v 1.22 2010/04/06 20:43:57 jld Exp $ */ /* * Copyright (c) 2001 Wasabi Systems, Inc. @@ -164,10 +164,10 @@ * * The PAE extension extends the size of the PTE to 64 bits (52bits physical * address) and is compatible with the amd64 PTE format. The first level - * maps 2M, the second 1G, so a third level page table is intruduced to + * maps 2M, the second 1G, so a third level page table is introduced to * map the 4GB virtual address space. This PD has only 4 entries. - * We can't use recursive mapping at level 3 to map the PD pages, as - * this would eat one GB of address space. In addition, Xen impose restrictions + * We can't use recursive mapping at level 3 to map the PD pages, as this + * would eat one GB of address space. In addition, Xen imposes restrictions * on the entries we put in the L3 page (for example, the page pointed to by * the last slot can't be shared among different L3 pages), which makes * handling this L3 page in the same way we do for L2 on i386 (or L4 on amd64)
CVS commit: src/sbin/raidctl
Module Name:src Committed By: jld Date: Tue Mar 16 03:23:47 UTC 2010 Modified Files: src/sbin/raidctl: raidctl.c Log Message: Give a more polite message for `raidctl -m` on a non-parity RAID set. To generate a diff of this commit: cvs rdiff -u -r1.47 -r1.48 src/sbin/raidctl/raidctl.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sbin/raidctl/raidctl.c diff -u src/sbin/raidctl/raidctl.c:1.47 src/sbin/raidctl/raidctl.c:1.48 --- src/sbin/raidctl/raidctl.c:1.47 Sat Mar 13 13:45:05 2010 +++ src/sbin/raidctl/raidctl.c Tue Mar 16 03:23:47 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: raidctl.c,v 1.47 2010/03/13 13:45:05 plunky Exp $ */ +/* $NetBSD: raidctl.c,v 1.48 2010/03/16 03:23:47 jld Exp $ */ /*- * Copyright (c) 1996, 1997, 1998 The NetBSD Foundation, Inc. @@ -39,7 +39,7 @@ #include sys/cdefs.h #ifndef lint -__RCSID($NetBSD: raidctl.c,v 1.47 2010/03/13 13:45:05 plunky Exp $); +__RCSID($NetBSD: raidctl.c,v 1.48 2010/03/16 03:23:47 jld Exp $); #endif @@ -487,8 +487,15 @@ int dis, dr; struct rf_pmstat st; - do_ioctl(fd, RAIDFRAME_PARITYMAP_STATUS, st, - RAIDFRAME_PARITYMAP_STATUS); + if (ioctl(fd, RAIDFRAME_PARITYMAP_STATUS, st) == -1) { + if (errno == EINVAL) { + printf(raid%d: has no parity; parity map disabled\n, +raidID); + return; + } + err(1, ioctl (%s) failed, RAIDFRAME_PARITYMAP_STATUS); + } + if (st.enabled) { if (0 humanize_number(srs, 7, st.region_size * DEV_BSIZE, B, HN_AUTOSCALE, HN_NOSPACE))
CVS commit: src/sys/dev/raidframe
Module Name:src Committed By: jld Date: Sun Mar 14 21:11:41 UTC 2010 Modified Files: src/sys/dev/raidframe: rf_netbsdkintf.c rf_paritymap.c rf_paritymap.h Log Message: For RAID sets which have no parity (i.e., RAID level 0) and therefore can never have a parity map, make the parity map ioctls fail with EINVAL. This makes `raidctl -m` print a scary-looking error on such sets, which is an improvement over the previous behavior of falsely claiming that the parity map would be enabled on the next configuration. To generate a diff of this commit: cvs rdiff -u -r1.272 -r1.273 src/sys/dev/raidframe/rf_netbsdkintf.c cvs rdiff -u -r1.4 -r1.5 src/sys/dev/raidframe/rf_paritymap.c cvs rdiff -u -r1.1 -r1.2 src/sys/dev/raidframe/rf_paritymap.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/raidframe/rf_netbsdkintf.c diff -u src/sys/dev/raidframe/rf_netbsdkintf.c:1.272 src/sys/dev/raidframe/rf_netbsdkintf.c:1.273 --- src/sys/dev/raidframe/rf_netbsdkintf.c:1.272 Mon Mar 1 14:51:58 2010 +++ src/sys/dev/raidframe/rf_netbsdkintf.c Sun Mar 14 21:11:41 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: rf_netbsdkintf.c,v 1.272 2010/03/01 14:51:58 oster Exp $ */ +/* $NetBSD: rf_netbsdkintf.c,v 1.273 2010/03/14 21:11:41 jld Exp $ */ /*- * Copyright (c) 1996, 1997, 1998, 2008 The NetBSD Foundation, Inc. * All rights reserved. @@ -139,7 +139,7 @@ ***/ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: rf_netbsdkintf.c,v 1.272 2010/03/01 14:51:58 oster Exp $); +__KERNEL_RCSID(0, $NetBSD: rf_netbsdkintf.c,v 1.273 2010/03/14 21:11:41 jld Exp $); #ifdef _KERNEL_OPT #include opt_compat_netbsd.h @@ -1506,11 +1506,15 @@ return (0); case RAIDFRAME_PARITYMAP_STATUS: + if (rf_paritymap_ineligible(raidPtr)) + return EINVAL; rf_paritymap_status(raidPtr-parity_map, (struct rf_pmstat *)data); return 0; case RAIDFRAME_PARITYMAP_SET_PARAMS: + if (rf_paritymap_ineligible(raidPtr)) + return EINVAL; if (raidPtr-parity_map == NULL) return ENOENT; /* ??? */ if (0 != rf_paritymap_set_params(raidPtr-parity_map, @@ -1519,10 +1523,14 @@ return 0; case RAIDFRAME_PARITYMAP_GET_DISABLE: + if (rf_paritymap_ineligible(raidPtr)) + return EINVAL; *(int *) data = rf_paritymap_get_disable(raidPtr); return 0; case RAIDFRAME_PARITYMAP_SET_DISABLE: + if (rf_paritymap_ineligible(raidPtr)) + return EINVAL; rf_paritymap_set_disable(raidPtr, *(int *)data); /* XXX should errors be passed up? */ return 0; Index: src/sys/dev/raidframe/rf_paritymap.c diff -u src/sys/dev/raidframe/rf_paritymap.c:1.4 src/sys/dev/raidframe/rf_paritymap.c:1.5 --- src/sys/dev/raidframe/rf_paritymap.c:1.4 Wed Mar 3 14:23:27 2010 +++ src/sys/dev/raidframe/rf_paritymap.c Sun Mar 14 21:11:41 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: rf_paritymap.c,v 1.4 2010/03/03 14:23:27 oster Exp $ */ +/* $NetBSD: rf_paritymap.c,v 1.5 2010/03/14 21:11:41 jld Exp $ */ /*- * Copyright (c) 2009 Jed Davis. @@ -27,7 +27,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: rf_paritymap.c,v 1.4 2010/03/03 14:23:27 oster Exp $); +__KERNEL_RCSID(0, $NetBSD: rf_paritymap.c,v 1.5 2010/03/14 21:11:41 jld Exp $); #include sys/param.h #include sys/callout.h @@ -590,6 +590,18 @@ } /* + * Is this RAID set ineligible for parity-map use due to not actually + * having any parity? (If so, rf_paritymap_attach is a no-op, but + * rf_paritymap_{get,set}_disable will still pointlessly act on the + * component labels.) + */ +int +rf_paritymap_ineligible(RF_Raid_t *raidPtr) +{ + return raidPtr-Layout.map-faultsTolerated == 0; +} + +/* * Attach a parity map to a RAID set if appropriate. Includes * configure-time processing of parity-map fields of component label. */ @@ -604,7 +616,7 @@ u_int flags, regions; struct rf_pmparams params; - if (raidPtr-Layout.map-faultsTolerated == 0) { + if (rf_paritymap_ineligible(raidPtr)) { /* There isn't any parity. */ return; } Index: src/sys/dev/raidframe/rf_paritymap.h diff -u src/sys/dev/raidframe/rf_paritymap.h:1.1 src/sys/dev/raidframe/rf_paritymap.h:1.2 --- src/sys/dev/raidframe/rf_paritymap.h:1.1 Tue Nov 17 18:54:26 2009 +++ src/sys/dev/raidframe/rf_paritymap.h Sun Mar 14 21:11:41 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: rf_paritymap.h,v 1.1 2009/11/17 18:54:26 jld Exp $ */ +/* $NetBSD: rf_paritymap.h,v 1.2 2010/03/14 21:11:41 jld Exp $ */ /*- * Copyright (c) 2009 Jed Davis. @@ -112,6 +112,7 @@ int rf_paritymap_merge(struct rf_paritymap_ondisk *, struct rf_paritymap_ondisk *); +int rf_paritymap_ineligible(RF_Raid_t *); void rf_paritymap_attach(RF_Raid_t *, int); void rf_paritymap_detach(RF_Raid_t *); /* Not while the RAID is live! */
CVS commit: src/sbin/raidctl
Module Name:src Committed By: jld Date: Sat Mar 13 07:21:38 UTC 2010 Modified Files: src/sbin/raidctl: raidctl.c Log Message: Exclude parity map regions that don't actually exist from the dirty region count in `raidctl -m`. Makes for less confusing output during `raidctl -i`. To generate a diff of this commit: cvs rdiff -u -r1.45 -r1.46 src/sbin/raidctl/raidctl.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sbin/raidctl/raidctl.c diff -u src/sbin/raidctl/raidctl.c:1.45 src/sbin/raidctl/raidctl.c:1.46 --- src/sbin/raidctl/raidctl.c:1.45 Wed Jan 27 18:34:02 2010 +++ src/sbin/raidctl/raidctl.c Sat Mar 13 07:21:37 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: raidctl.c,v 1.45 2010/01/27 18:34:02 christos Exp $ */ +/* $NetBSD: raidctl.c,v 1.46 2010/03/13 07:21:37 jld Exp $ */ /*- * Copyright (c) 1996, 1997, 1998 The NetBSD Foundation, Inc. @@ -39,7 +39,7 @@ #include sys/cdefs.h #ifndef lint -__RCSID($NetBSD: raidctl.c,v 1.45 2010/01/27 18:34:02 christos Exp $); +__RCSID($NetBSD: raidctl.c,v 1.46 2010/03/13 07:21:37 jld Exp $); #endif @@ -504,7 +504,7 @@ st.ctrs.nwrite, st.ctrs.ncachesync, st.ctrs.nclearing); dr = 0; - for (i = 0; i RF_PARITYMAP_NREG; i++) + for (i = 0; i st.params.regions; i++) if (isset(st.dirty, i)) dr++; printf(raid%d: %d dirty region%s\n, raidID, dr,
CVS commit: src/sbin/raidctl
Module Name:src Committed By: jld Date: Thu Dec 10 20:20:59 UTC 2009 Modified Files: src/sbin/raidctl: raidctl.c Log Message: Slight change to the wording of the parity map info: the parity is marked clean after however much inactivity; it is *actually* clean as soon as the component disks all do their thing (on the order of ms, usually), just the same as before. The bikeshed is now less of a taupe and more of an ecru. To generate a diff of this commit: cvs rdiff -u -r1.42 -r1.43 src/sbin/raidctl/raidctl.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sbin/raidctl/raidctl.c diff -u src/sbin/raidctl/raidctl.c:1.42 src/sbin/raidctl/raidctl.c:1.43 --- src/sbin/raidctl/raidctl.c:1.42 Tue Nov 17 18:54:26 2009 +++ src/sbin/raidctl/raidctl.c Thu Dec 10 20:20:59 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: raidctl.c,v 1.42 2009/11/17 18:54:26 jld Exp $ */ +/* $NetBSD: raidctl.c,v 1.43 2009/12/10 20:20:59 jld Exp $ */ /*- * Copyright (c) 1996, 1997, 1998 The NetBSD Foundation, Inc. @@ -39,7 +39,7 @@ #include sys/cdefs.h #ifndef lint -__RCSID($NetBSD: raidctl.c,v 1.42 2009/11/17 18:54:26 jld Exp $); +__RCSID($NetBSD: raidctl.c,v 1.43 2009/12/10 20:20:59 jld Exp $); #endif @@ -510,7 +510,7 @@ printf(raid%d: parity map enabled with %u regions of %s\n, raidID, st.params.regions, srs); - printf(raid%d: parity cleaned after %d intervals of + printf(raid%d: regions marked clean after %d intervals of %d.%03ds\n, raidID, st.params.cooldown, st.params.tickms / 1000, st.params.tickms % 1000); printf(raid%d: write/sync/clean counters
CVS commit: src/sbin/raidctl
Module Name:src Committed By: jld Date: Tue Nov 17 19:09:38 UTC 2009 Modified Files: src/sbin/raidctl: raidctl.8 Log Message: Bump date; also fix typo pointed out by s...@. To generate a diff of this commit: cvs rdiff -u -r1.57 -r1.58 src/sbin/raidctl/raidctl.8 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sbin/raidctl/raidctl.8 diff -u src/sbin/raidctl/raidctl.8:1.57 src/sbin/raidctl/raidctl.8:1.58 --- src/sbin/raidctl/raidctl.8:1.57 Tue Nov 17 18:54:26 2009 +++ src/sbin/raidctl/raidctl.8 Tue Nov 17 19:09:38 2009 @@ -1,4 +1,4 @@ -.\ $NetBSD: raidctl.8,v 1.57 2009/11/17 18:54:26 jld Exp $ +.\ $NetBSD: raidctl.8,v 1.58 2009/11/17 19:09:38 jld Exp $ .\ .\ Copyright (c) 1998, 2002 The NetBSD Foundation, Inc. .\ All rights reserved. @@ -53,7 +53,7 @@ .\ any improvements or extensions that they make and grant Carnegie the .\ rights to redistribute these changes. .\ -.Dd August 26, 2008 +.Dd November 17, 2009 .Dt RAIDCTL 8 .Os .Sh NAME @@ -1444,7 +1444,7 @@ Since there are 4 data sectors per stripe, the maximum data per stripe is 64 blocks (32K) or 128 blocks (64K). Again, empirical measurement will provide the best indicators of which -values will yeild better performance. +values will yield better performance. .Pp The parameters used for the file system are also critical to good performance. For
CVS commit: src/doc
Module Name:src Committed By: jld Date: Tue Nov 17 19:19:21 UTC 2009 Modified Files: src/doc: CHANGES Log Message: Note RAIDframe parity map commit. To generate a diff of this commit: cvs rdiff -u -r1.1316 -r1.1317 src/doc/CHANGES Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/CHANGES diff -u src/doc/CHANGES:1.1316 src/doc/CHANGES:1.1317 --- src/doc/CHANGES:1.1316 Tue Nov 10 23:16:20 2009 +++ src/doc/CHANGES Tue Nov 17 19:19:21 2009 @@ -1,4 +1,4 @@ -# LIST OF CHANGES FROM LAST RELEASE: $Revision: 1.1316 $ +# LIST OF CHANGES FROM LAST RELEASE: $Revision: 1.1317 $ # # # [Note: This file does not mention every change made to the NetBSD source tree. @@ -437,3 +437,6 @@ xf86-video-igs: an Xorg driver for IGS CyberPro 20x0 graphics controllers, currently only for rev. 5 sharks [macallan 20091110] + raid(4): RAIDframe parity maps, which greatly improve parity rewrite + times after unclean shutdown; jld's GSoC 2009 project. + [jld 20091117]
CVS commit: src/usr.bin/ftp
Module Name:src Committed By: jld Date: Wed Apr 15 03:42:33 UTC 2009 Modified Files: src/usr.bin/ftp: ftp.c Log Message: Unbreak the build by adding curly braces to placate the empty-body warning. To generate a diff of this commit: cvs rdiff -u -r1.158 -r1.159 src/usr.bin/ftp/ftp.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.bin/ftp/ftp.c diff -u src/usr.bin/ftp/ftp.c:1.158 src/usr.bin/ftp/ftp.c:1.159 --- src/usr.bin/ftp/ftp.c:1.158 Sun Apr 12 10:18:52 2009 +++ src/usr.bin/ftp/ftp.c Wed Apr 15 03:42:33 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: ftp.c,v 1.158 2009/04/12 10:18:52 lukem Exp $ */ +/* $NetBSD: ftp.c,v 1.159 2009/04/15 03:42:33 jld Exp $ */ /*- * Copyright (c) 1996-2009 The NetBSD Foundation, Inc. @@ -92,7 +92,7 @@ #if 0 static char sccsid[] = @(#)ftp.c 8.6 (Berkeley) 10/27/94; #else -__RCSID($NetBSD: ftp.c,v 1.158 2009/04/12 10:18:52 lukem Exp $); +__RCSID($NetBSD: ftp.c,v 1.159 2009/04/15 03:42:33 jld Exp $); #endif #endif /* not lint */ @@ -1624,8 +1624,9 @@ if (data_addr.su_family == AF_INET) { on = IPTOS_THROUGHPUT; if (setsockopt(data, IPPROTO_IP, IP_TOS, -(void *)on, sizeof(on)) == -1) +(void *)on, sizeof(on)) == -1) { DWARN(setsockopt %s (ignored), IPTOS_THROUGHPUT); + } } #endif return (0);
CVS commit: src/usr.bin/ftp
Module Name:src Committed By: jld Date: Wed Apr 15 04:19:39 UTC 2009 Modified Files: src/usr.bin/ftp: util.c Log Message: Another empty-body warning/error, another set of curly braces. This, and the last one, appear to affect only the NO_DEBUG (e.g., SMALLPROG) build. To generate a diff of this commit: cvs rdiff -u -r1.150 -r1.151 src/usr.bin/ftp/util.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.bin/ftp/util.c diff -u src/usr.bin/ftp/util.c:1.150 src/usr.bin/ftp/util.c:1.151 --- src/usr.bin/ftp/util.c:1.150 Sun Apr 12 10:18:52 2009 +++ src/usr.bin/ftp/util.c Wed Apr 15 04:19:39 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: util.c,v 1.150 2009/04/12 10:18:52 lukem Exp $ */ +/* $NetBSD: util.c,v 1.151 2009/04/15 04:19:39 jld Exp $ */ /*- * Copyright (c) 1997-2009 The NetBSD Foundation, Inc. @@ -64,7 +64,7 @@ #include sys/cdefs.h #ifndef lint -__RCSID($NetBSD: util.c,v 1.150 2009/04/12 10:18:52 lukem Exp $); +__RCSID($NetBSD: util.c,v 1.151 2009/04/15 04:19:39 jld Exp $); #endif /* not lint */ /* @@ -755,11 +755,12 @@ goto bad_parse_time; else goto cleanup_parse_time; - } else + } else { DPRINTF(remotemodtime: parsed date `%s' as LLF , %s, timestr, (LLT)rtime, rfc2822time(localtime(rtime))); + } } else { if (r == ERROR code == 500 features[FEAT_MDTM] == -1) features[FEAT_MDTM] = 0;