From owner-svn-src-all@FreeBSD.ORG Mon Jan 19 09:37:08 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3975010656C9 for ; Mon, 19 Jan 2009 09:37:08 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from mx0.deglitch.com (backbone.deglitch.com [78.110.53.255]) by mx1.freebsd.org (Postfix) with ESMTP id A47068FC0A for ; Mon, 19 Jan 2009 09:37:07 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from DSPAM-Daemon (localhost [127.0.0.1]) by mx0.deglitch.com (Postfix) with SMTP id 5FF108FC4F for ; Mon, 19 Jan 2009 12:31:41 +0300 (MSK) Received: from orion.SpringDaemons.com (drsun1.dialup.corbina.ru [85.21.245.235]) by mx0.deglitch.com (Postfix) with ESMTPA id A677D8FC18; Mon, 19 Jan 2009 12:31:39 +0300 (MSK) Received: from orion (localhost [127.0.0.1]) by orion.SpringDaemons.com (Postfix) with SMTP id EFEE8398F3; Mon, 19 Jan 2009 12:31:42 +0300 (MSK) Date: Mon, 19 Jan 2009 12:31:38 +0300 From: Stanislav Sedov To: Bruce Evans Message-Id: <20090119123138.f5404c60.stas@FreeBSD.org> In-Reply-To: <20090119192954.V37158@delplex.bde.org> References: <200901181454.n0IEskw4077045@svn.freebsd.org> <20090119192954.V37158@delplex.bde.org> Organization: The FreeBSD Project X-XMPP: ssedov@jabber.ru X-Voice: +7 916 849 20 23 X-PGP-Fingerprint: F21E D6CC 5626 9609 6CE2 A385 2BF5 5993 EB26 9581 X-Mailer: carrier-pigeon Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-DSPAM-Result: Whitelisted X-DSPAM-Processed: Mon Jan 19 12:31:41 2009 X-DSPAM-Confidence: 0.9899 X-DSPAM-Improbability: 1 in 9809 chance of being spam X-DSPAM-Probability: 0.0000 X-DSPAM-Signature: 4974487d967003034114393 Cc: Stanislav Sedov , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r187396 - head/sys/gnu/fs/ext2fs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 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: Mon, 19 Jan 2009 09:37:08 -0000 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Mon, 19 Jan 2009 19:48:57 +1100 (EST) Bruce Evans mentioned: > > Modified: head/sys/gnu/fs/ext2fs/ext2_vfsops.c > > ============================================================================== > > --- head/sys/gnu/fs/ext2fs/ext2_vfsops.c Sun Jan 18 14:04:56 2009 (r187395) > > +++ head/sys/gnu/fs/ext2fs/ext2_vfsops.c Sun Jan 18 14:54:46 2009 (r187396) > > @@ -5,7 +5,7 @@ > > * University of Utah, Department of Computer Science > > */ > > /*- > > - * Copyright (c) 1989, 1991, 1993, 1994 > > + * Copyright (c) 1989, 1991, 1993, 1994 > > * The Regents of the University of California. All rights reserved. > > * > > * Redistribution and use in source and binary forms, with or without > > @@ -120,7 +120,7 @@ static int compute_sb_data(struct vnode > > static const char *ext2_opts[] = { "from", "export", "acls", "noexec", > > "noatime", "union", "suiddir", "multilabel", "nosymfollow", > > "noclusterr", "noclusterw", "force", NULL }; > > - > > + > > The above diff shows null changes, presumably after dropping trailing > whitespace in the old version. > > Oops, actually the diff is invalid since something dropped the leading > space in unchanged lines. > Yes, seems that svn mail diffs trims the spaces out... > > @@ -318,7 +318,7 @@ static int ext2_check_descriptors (struc > > { > > /* examine next descriptor block */ > > if ((i % EXT2_DESC_PER_BLOCK(sb)) == 0) > > - gdp = (struct ext2_group_desc *) > > + gdp = (struct ext2_group_desc *) > > sb->s_group_desc[desc_block++]->b_data; > > if (gdp->bg_block_bitmap < block || > > gdp->bg_block_bitmap >= block + EXT2_BLOCKS_PER_GROUP(sb)) > > Here most leading tabs are corrupt in both the new and old versions. Please > fix all whitespace on a line if fixing any. > This file has style different from our conventions, so I only stripped leading spaces and left everything else intact. Should I convert the entire file to style(9).? > > @@ -398,19 +398,19 @@ static int compute_sb_data(devvp, es, fs > > int logic_sb_block = 1; /* XXX for now */ > > > > #if 1 > > -#define V(v) > > +#define V(v) > > #else > > #define V(v) printf(#v"= %d\n", fs->v); > > #endif > > The existence of this macro is a bug, since it can only work for one type, > but fields of different type need to be printed. Most fields don't have > type int (the first one printed is s_blocksize which (especially bogusly > on 64-bit machines) has type u_long, so the non-'#if 1' case would cause > lots of errors. > In the following commit I casted all fields to (unsigned long) explicitly, so printfs will work for all fields. > > @@ -1000,7 +1000,7 @@ ext2_vget(mp, ino, flags, vpp) > > > > /* Read in the disk contents for the inode, copy into the inode. */ > > #if 0 > > -printf("ext2_vget(%d) dbn= %d ", ino, fsbtodb(fs, ino_to_fsba(fs, ino))); > > +printf("ext2_vget(%d) dbn= %lu ", ino, fsbtodb(fs, ino_to_fsba(fs, ino))); > > #endif > > if ((error = bread(ump->um_devvp, fsbtodb(fs, ino_to_fsba(fs, ino)), > > (int)fs->s_blocksize, NOCRED, &bp)) != 0) { > > ino has type ino_t, so it cannot be printed portably without using a > cast. Its actual type is uint32_t. If this code were actually, this > would give the following printf format errors on various supported > machines: > > old: sign mismatch only, since plain int happens to have the same size as > ino_t on all supported machines. gcc doesn't even warn about this > error, so this error would be non-fatal > > new: now a size mismatch on machines with 64-bit longs (amd64, ia64, sparc64 > at least. gcc warns about this error, so the code is now fatally > broken on many supported machines, except it is never actually used. > Actually, the third argument of printf has type of unsigned long for ext2fs code thanks to arithmetical operations around ino_to_fsba calculations. Thus the old code has been broken at least for 64-bit platforms, new one should work everywhere (both for 32 bit an 64bit platforms). Thanks for comments! - -- Stanislav Sedov ST4096-RIPE -----BEGIN PGP SIGNATURE----- iEYEARECAAYFAkl0SH4ACgkQK/VZk+smlYE7CQCfYtheq6nRYDh/3DWjDJ41hcem yVMAnjN3sKe8UacMMvH6e1wrR/C/DKES =84cR -----END PGP SIGNATURE----- !DSPAM:4974487d967003034114393!