From owner-freebsd-current@FreeBSD.ORG Tue Apr 13 11:10:23 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 58ECE16A4D9; Tue, 13 Apr 2004 11:10:09 -0700 (PDT) Received: from kientzle.com (h-66-166-149-50.snvacaid.covad.net [66.166.149.50]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1727243D2F; Tue, 13 Apr 2004 11:10:09 -0700 (PDT) (envelope-from tim@kientzle.com) Received: from kientzle.com (p54.kientzle.com [66.166.149.54]) by kientzle.com (8.12.9/8.12.9) with ESMTP id i3DIA890023182; Tue, 13 Apr 2004 11:10:08 -0700 (PDT) (envelope-from tim@kientzle.com) Message-ID: <407C2CFE.1010009@kientzle.com> Date: Tue, 13 Apr 2004 11:10:06 -0700 From: Tim Kientzle User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.4) Gecko/20031006 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Tim Kientzle References: <200404090121.i391LRlr096539@green.homeunix.org> <407C2924.2050503@kientzle.com> In-Reply-To: <407C2924.2050503@kientzle.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit cc: current@freebsd.org Subject: Re: cvs commit: src/usr.bin/tar Makefile bsdtar.1 bsdtar.c bsdtar.h bsdtar_platform.h matching.c read.c util.c write.c X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Apr 2004 18:10:24 -0000 Tim Kientzle wrote: > Brian F. Feldman wrote: > >> ... it should be possible to get more speed out of bsdtar ... > > Libarchive ... always writes fixed-size blocks, but you > can at least set the block size ... Since the library calls a client-provided write routine for each block, you should also be able to set up async writes and get some I/O overlap that way. (In particular, this might speed up operations like tar -cf - foo | tar -xf - -C /mnt to copy dir heirarchies across drives.) Of course, libarchive reuses it's block buffer, so you would have to copy the data out before starting the I/O and returning. Hmmmm.... There's no reason libarchive couldn't use a round-robin list of block buffers internally if that would help. Tim