From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from minnie.tuhs.org (minnie.tuhs.org [45.79.103.53]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id 90b68bef for ; Wed, 23 Oct 2019 02:20:12 +0000 (UTC) Received: by minnie.tuhs.org (Postfix, from userid 112) id 6CEA19BC4D; Wed, 23 Oct 2019 12:20:10 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id C2CAC9B595; Wed, 23 Oct 2019 12:19:35 +1000 (AEST) Received: by minnie.tuhs.org (Postfix, from userid 112) id 871EA9B57D; Wed, 23 Oct 2019 12:19:31 +1000 (AEST) Received: from mcvoy.com (mcvoy.com [192.169.23.250]) by minnie.tuhs.org (Postfix) with ESMTPS id 2DEF693D06 for ; Wed, 23 Oct 2019 12:19:31 +1000 (AEST) Received: by mcvoy.com (Postfix, from userid 3546) id C140935E145; Tue, 22 Oct 2019 19:19:30 -0700 (PDT) Date: Tue, 22 Oct 2019 19:19:30 -0700 From: Larry McVoy To: Mary Ann Horton , tuhs@minnie.tuhs.org Message-ID: <20191023021930.GM27969@mcvoy.com> References: <20191021062242.GA91599@indra.papnet.eu> <20191022180705.GD51849@server.rulingia.com> <7455e361-b2fd-96b3-b9cd-37730f9aeed7@mhorton.net> <20191023020203.GA47206@wopr> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20191023020203.GA47206@wopr> User-Agent: Mutt/1.5.24 (2015-08-30) Subject: Re: [TUHS] PDP-7 UNIX filesystem X-BeenThere: tuhs@minnie.tuhs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: The Unix Heritage Society mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" On Tue, Oct 22, 2019 at 07:02:03PM -0700, Kurt H Maier wrote: > On Tue, Oct 22, 2019 at 05:07:33PM -0700, Mary Ann Horton wrote: > > dd is deprecated?? I'm surprised. I use it all the time. > > dd is not deprecated. The maintainer of the jargon file is not a > reliable narrator. dd(1) is even specified in IEEE Std 1003.1-2017, > which mentions the JCL history and explains that it takes 'operands' and > not 'options' to retain compatibility with the original syntax. > > dd(1) on Plan 9 changes to regular option flags, such as -if= and -of=, > and some folks get disproportionately annoyed by the change. Can't > please everyone, I guess. I really need to move this into the distros, it's dd on steriods and the docs don't list the latest options, I made it go backwards, I made it use the crc/xor stuff that bk has, I made it use the compression stuff that bk has: LMDD(8) LMBENCH LMDD(8) NAME lmdd - move io for performance and debugging tests SYNOPSIS lmdd [ option=value ] ... DESCRIPTION lmdd copies a specified input file to a specified output with possible conversions. This program is primarily useful for timing I/O since it prints out the timing statistics after completing. OPTIONS if=name Input file is taken from name; internal is the default. internal is a special file that acts like Sun's /dev/zero, i.e., it provides a buffer of zeros without doing a system call to get them. The following file names are taken to mean the standard input: -, 0, or stdin. of=name Output file is taken from name; internal is the default. internal is a special file that acts like /dev/null, without doing a system call to get rid of the data. The following file names are taken to mean the standard output: -, 1, or stdout. The following file names are taken to mean the standard error: 2, or stderr. bs=n Input and output block size n bytes (default 8192). Note that this is different from dd(1), it has a 512 byte default. Also note that the block size can be followed by 'k' or 'm' to indicate kilo bytes (*1024) or megabytes (*1024*1024), respectively. ipat=n If n is non zero, expect a known pattern in the file (see opat). Mismatches will be displayed as "ERROR: off=%d want=%x got=%x". The pattern is a sequence of 4 byte integers with the first 0, second 1, and so on. The default is not to check for the pattern. opat=n If n is non zero, generate a known pattern on the output stream. Used for debugging file system correctness. The default is not to generate the pattern. mismatch=n If n is non zero, stop at the first mismatched value. Used with ipat. skip=n Skip n input blocks before starting copy. fsync=n If n is non-zero, call fsync(2) on the output file before exiting or printing timing statistics. sync=n If n is non-zero, call sync(2) before exiting or print- ing timing statistics. rand=n This argument, by default off, turns on random behavior. The argument is not a flag, it is a size, that size is used as the upper bound for the seeks. Also note that the block size can be followed by 'k' or 'm' to indicate kilo bytes (*1024) or megabytes (*1024*1024), flush=n If n is non-zero and mmap(2) is available, call msync(2) to invalidate the output file. This flushes the file to disk so that you don't have unmount/mount. It is not as good as mount/unmount because it just flushes file pages - it misses the indirect blocks which are still cached. Not supported on all systems, compile time option. rusage=n If n is non-zero, print rusage statistics as well as timing statistics. Not supported on all systems, com- pile time option. count=n Copy only n input records. EXAMPLES This is the most common usage, the intent is to measure disk perfor- mance. The disk is a spare partition mounted on /spare. # mount /spare # lmdd if=internal of=/spare/XXX count=1000 fsync=1 7.81 MB in 3.78 seconds (2.0676 MB/sec) : Flush cache # umount /spare # mount /spare # lmdd if=/spare/XXX of=internal 7.81 MB in 2.83 seconds (2.7611 MB/sec) AUTHOR Larry McVoy, lm@sun.com (c)1994 Larry McVoy $Date$ LMDD(8)