From owner-svn-src-all@FreeBSD.ORG Sun Nov 4 15:42:01 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0F34EFF6; Sun, 4 Nov 2012 15:42:01 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail02.syd.optusnet.com.au (mail02.syd.optusnet.com.au [211.29.132.183]) by mx1.freebsd.org (Postfix) with ESMTP id 7F0308FC0C; Sun, 4 Nov 2012 15:42:00 +0000 (UTC) Received: from c122-106-175-26.carlnfd1.nsw.optusnet.com.au (c122-106-175-26.carlnfd1.nsw.optusnet.com.au [122.106.175.26]) by mail02.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id qA4Ffwd9019104 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 5 Nov 2012 02:41:59 +1100 Date: Mon, 5 Nov 2012 02:41:58 +1100 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Kirk McKusick Subject: Re: svn commit: r242520 - head/sys/ufs/ffs In-Reply-To: <201211031855.qA3Ituxr024809@svn.freebsd.org> Message-ID: <20121105024038.J4726@besplex.bde.org> References: <201211031855.qA3Ituxr024809@svn.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Optus-Cloudmark-Score: 0 X-Optus-Cloudmark-Analysis: v=2.0 cv=It1G68Dg c=1 sm=1 a=v5L2lxYZMu8A:10 a=kj9zAlcOel0A:10 a=PO7r1zJSAAAA:8 a=JzwRw_2MAAAA:8 a=Nw6HGA-A-RMA:10 a=ijvR74UKk4OuKKc3sxkA:9 a=CjuIK1q_8ugA:10 a=bxQHXO5Py4tHmhUgaywp5w==:117 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Nov 2012 15:42:01 -0000 On Sat, 3 Nov 2012, Kirk McKusick wrote: > Log: > When a file is first being written, the dynamic block reallocation > (implemented by ffs_reallocblks_ufs[12]) relocates the file's blocks > so as to cluster them together into a contiguous set of blocks on > the disk. > > When the cluster crosses the boundary into the first indirect block, > the first indirect block is initially allocated in a position > immediately following the last direct block. Block reallocation > would usually destroy locality by moving the indirect block out of > the way to keep the data blocks contiguous. This change compensates > for this problem by noting that the first indirect block should be > left immediately following the last direct block. It then tries > to start a new cluster of contiguous blocks (referenced by the > indirect block) immediately following the indirect block. > > We should also do this for other indirect block boundaries, but it > is only important for the first one. > > Suggested by: Bruce Evans > MFC: 2 weeks Thanks. Sorry I haven't got around to testing your version of this. Bruce