Subject: CVS commit: gnusrc/gnu/usr.sbin/mdsetimage
To: None <source-changes@netbsd.org>
From: Chris G. Demetriou <cgd@netbsd.org>
List: source-changes
Date: 01/03/2002 08:21:48
Module Name:	gnusrc
Committed By:	cgd
Date:		Thu Jan  3 06:21:47 UTC 2002

Modified Files:
	gnusrc/gnu/usr.sbin/mdsetimage: mdsetimage.c

Log Message:
Convert this code to use read/write rather than mmap followed by read
into the mmap'd region.  (reviewed by thorpej.)

This is done to facilitate use as a host tool on not-necessarily-NetBSD
host systems.  Specifically, it works around problems discovered on
linux (mostly tested on 2.4.2-smp / RH 7.1, but also seen on other
variants) in which mmap(...MAP_SHARED...) on NFS files doesn't work
properly:

74 [hardy] RAMDISK.EB % uname -a
Linux hardy 2.4.2-2smp #1 SMP Sun Apr 8 20:21:34 EDT 2001 i686 unknown
75 [hardy] RAMDISK.EB % cat /etc/issue

Red Hat Linux release 7.1 (Seawolf)
Kernel 2.4.2-2smp on a 2-processor i686

76 [hardy] RAMDISK.EB % df .
Filesystem           1k-blocks      Used Available Use% Mounted on
fs:/home/cgd
                     104857600  98764968   6092632  95% /home/cgd
77 [hardy] RAMDISK.EB % date ; md5sum netbsd
Thu Dec 27 17:31:41 PST 2001
a1f35f085f130983892933df92d23be4  netbsd
78 [hardy] RAMDISK.EB % nbmdsetimage netbsd ~/proj-local/rd
79 [hardy] RAMDISK.EB % date ; md5sum netbsd
Thu Dec 27 17:31:49 PST 2001
740cbfb0a8432b7d3a6bf3421655e270  netbsd
80 [hardy] RAMDISK.EB % date ; md5sum netbsd
Thu Dec 27 17:31:51 PST 2001
a8c60aae879ead6893f074e83c23d70a  netbsd
81 [hardy] RAMDISK.EB % date ; md5sum netbsd
Thu Dec 27 17:31:54 PST 2001
a8c60aae879ead6893f074e83c23d70a  netbsd
82 [hardy] RAMDISK.EB % date ; md5sum netbsd
Thu Dec 27 17:31:55 PST 2001
a1f35f085f130983892933df92d23be4  netbsd
83 [hardy] RAMDISK.EB % date ; md5sum netbsd
Thu Dec 27 17:31:57 PST 2001
a1f35f085f130983892933df92d23be4  netbsd
84 [hardy] RAMDISK.EB %

("isn't that cool?")


To generate a diff of this commit:
cvs rdiff -r1.1 -r1.2 gnusrc/gnu/usr.sbin/mdsetimage/mdsetimage.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.