Date: Sat, 3 Feb 2007 14:02:27 +0100 From: Bernd Walter <ticso@cicely12.cicely.de> To: Oliver Fromme <olli@lurza.secnetix.de> Cc: freebsd-fs@freebsd.org Subject: Re: Mysterious block count (reproducible) Message-ID: <20070203130226.GO70860@cicely12.cicely.de> In-Reply-To: <200702022005.l12K5mli017338@lurza.secnetix.de> References: <200702022005.l12K5mli017338@lurza.secnetix.de>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Feb 02, 2007 at 09:05:48PM +0100, Oliver Fromme wrote: > Hi > > The following is on a standard UFS2 file system under > FreeBSD 6.2, block size 16 KB, fragsize 2 KB. The > filesystems are perfectly ok and fsck-clean. There > haven't been any physical disk errors either. > > I've got a file on my home partition that's 214848 bytes. > According to math it should occupy 14 blocks. However: > > $ BLOCKSIZE=16K ls -s foo > 15 foo > > I copied the file to /tmp (which is an mdfs, also UFS2 > with default parameters). Same result. I created a > fresh file from /dev/zero of 214848 bytes. The same. > > Where does the 15th block come from? Those additional > 16 KB must be used for _something_ somewhere ... > > fsdb(8) isn't helpful either: > > # fsdb -r /dev/md0 > fsdb (inum: 2)> ls > [...] > slot 7 ino 5 reclen 20: regular, `foo' > fsdb (inum: 2)> inode 5 > current inode: regular file > I=5 MODE=100600 SIZE=214848 > BTIME=Feb 2 20:46:02 2007 [0 nsec] > MTIME=Feb 2 20:46:02 2007 [0 nsec] > CTIME=Feb 2 20:46:02 2007 [0 nsec] > ATIME=Feb 2 20:46:58 2007 [0 nsec] > OWNER=root GRP=wheel LINKCNT=1 FLAGS=0 BLKCNT=1e0 GEN=ffffffffe2ca5220 > > 0x1e0 is 224 (== 14 * 16). So fsdb(8) doesn't see the > 15th block either. To confirm: > > fsdb (inum: 5)> blocks > Blocks for inode 5: > Direct blocks: > 2136, 2144, 2152, 2160, 2168, 2176, 2184, 2192, 2248, 2256, 2264, 2272 > Indirect blocks: > 2280, 2288, > fsdb (inum: 5)> > > It lists 12 direct blocks and 2 indirect blocks, that's > still 14 blocks, not 15. > > Where did the 15th block go?!? Or is there a bug in > the calculation of ls -s output? Don't forget the block needed for the indirect table. fsdb only shows data blocks it seems. -- B.Walter http://www.bwct.de http://www.fizon.de bernd@bwct.de info@bwct.de support@fizon.de
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070203130226.GO70860>