From owner-freebsd-current Tue Oct 13 04:48:01 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id EAA13902 for freebsd-current-outgoing; Tue, 13 Oct 1998 04:48:01 -0700 (PDT) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from picnic.mat.net (picnic.mat.net [206.246.122.117]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id EAA13879; Tue, 13 Oct 1998 04:47:56 -0700 (PDT) (envelope-from chuckr@mat.net) Received: from localhost (chuckr@localhost) by picnic.mat.net (8.9.1/8.8.5) with ESMTP id HAA01262; Tue, 13 Oct 1998 07:46:23 -0400 (EDT) Date: Tue, 13 Oct 1998 07:46:21 -0400 (EDT) From: Chuck Robey To: David Greenman cc: freebsd-current@FreeBSD.ORG Subject: Re: cvs commit: src/sys/cam/scsi scsi_da.c src/sys/i386/i386 busdma_machdep.c vm_machdep.c src/sys/i386/ibcs2 imgact_coff.c src/sys/i386/include param.h src/sys/i386/isa isa.c wd.c src/sys/kern imgact_elf.c sys_pipe.c sysv_shm.c vfs_bio.c ... In-Reply-To: <199810130824.BAA23019@freefall.freebsd.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Tue, 13 Oct 1998, David Greenman wrote: > dg 1998/10/13 01:24:45 PDT > > Modified files: > sys/cam/scsi scsi_da.c > sys/i386/i386 busdma_machdep.c vm_machdep.c > sys/i386/ibcs2 imgact_coff.c > sys/i386/include param.h > sys/i386/isa isa.c wd.c > sys/kern imgact_elf.c sys_pipe.c sysv_shm.c > vfs_bio.c vfs_subr.c > sys/vm default_pager.c device_pager.c > swap_pager.c vm_glue.c vm_map.c vm_mmap.c > vm_pager.c vm_pager.h vm_unix.c > vnode_pager.c vnode_pager.h > Log: > Fixed two potentially serious classes of bugs: David, I'm having the inetd type problem on a system I can't bring to current, it's using a kernel from back in August, but I was wondering if it might be worth my while to see if these changes might possibly backport that far, without breaking other things. Could I get your non-binding guess on that, would it be worth my time to see if I could do that? It's the problem that seems to be caused by starvation. > > 1) The vnode pager wasn't properly tracking the file size due to > "size" being page rounded in some cases and not in others. > This sometimes resulted in corrupted files. First noticed by > Terry Lambert. > Fixed by changing the "size" pager_alloc parameter to be a 64bit > byte value (as opposed to a 32bit page index) and changing the > pagers and their callers to deal with this properly. > 2) Fixed a bogus type cast in round_page() and trunc_page() that > caused some 64bit offsets and sizes to be scrambled. Removing > the cast required adding casts at a few dozen callers. > There may be problems with other bogus casts in close-by > macros. A quick check seemed to indicate that those were okay, > however. ----------------------------+----------------------------------------------- Chuck Robey | Interests include any kind of voice or data chuckr@glue.umd.edu | communications topic, C programming, and Unix. 213 Lakeside Drive Apt T-1 | Greenbelt, MD 20770 | I run Journey2 and picnic (FreeBSD-current) (301) 220-2114 | and jaunt (NetBSD). ----------------------------+----------------------------------------------- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message