From owner-freebsd-fs@FreeBSD.ORG Wed Sep 29 20:42:40 2004 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1537F16A4CE for ; Wed, 29 Sep 2004 20:42:40 +0000 (GMT) Received: from VARK.MIT.EDU (VARK.MIT.EDU [18.95.3.179]) by mx1.FreeBSD.org (Postfix) with ESMTP id C148943D53 for ; Wed, 29 Sep 2004 20:42:39 +0000 (GMT) (envelope-from das@FreeBSD.ORG) Received: from VARK.MIT.EDU (localhost [127.0.0.1]) by VARK.MIT.EDU (8.13.1/8.12.10) with ESMTP id i8TKgXUJ030857; Wed, 29 Sep 2004 16:42:33 -0400 (EDT) (envelope-from das@FreeBSD.ORG) Received: (from das@localhost) by VARK.MIT.EDU (8.13.1/8.12.10/Submit) id i8TKgX03030856; Wed, 29 Sep 2004 16:42:33 -0400 (EDT) (envelope-from das@FreeBSD.ORG) Date: Wed, 29 Sep 2004 16:42:33 -0400 From: David Schultz To: Nehal Message-ID: <20040929204233.GB30629@VARK.MIT.EDU> Mail-Followup-To: Nehal , freebsd-fs@FreeBSD.ORG References: <20040929101403.000027aa@nehal> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040929101403.000027aa@nehal> cc: freebsd-fs@FreeBSD.ORG Subject: Re: data blocks question X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Sep 2004 20:42:40 -0000 On Wed, Sep 29, 2004, Nehal wrote: > on my ufs2 partition, there is a file that has a size of 65536, > and has 2 direct blocks only. the block size of the fs is 16k and > fragment block size is 2k. > > how can this be possible? wouldn't 2 direct blocks mean that the > maximum size is 2x16k = 32k? or am i not understanding something > correctly? > > i've made a copy of the file, and the new file has 4 direct > blocks. > > it is a binary file, and i can read it fine (ie, cat it). i've > done fsck on the filesystem and it found no problem. Yes, UFS supports sparse files. That is, you can have a file with parts you haven't written to, and the blocks for those parts won't be allocated. The cp utility doesn't know about this, though, so copies will have the ``holes'' filled with zeroes.