Dave Chinner wrote:
> On Thu, Feb 04, 2010 at 10:53:23AM -0600, Eric Sandeen wrote:
>> Fedora, long ago, disabled debug in the xfsprogs specfile:
>>
>> http://cvs.fedoraproject.org/viewvc/F-12/xfsprogs/xfsprogs.spec?r1=1.5&r2=1.6
>>
>> * Wed Apr 20 2005 Dave Jones <davej@xxxxxxxxxx>
>> - Disable debug. (#151438)
>>
>> per this bug: https://bugzilla.redhat.com/show_bug.cgi?id=151438
>>
>> referencing this email thread:
>>
>> http://oss.sgi.com/archives/linux-xfs/2005-03/msg00038.html
>> which no longer exists (grrrr) but is probably now here:
>>
>> http://oss.sgi.com/archives/xfs/2005-03/msg00416.html
>>
>> Fedora still builds with -DNDEBUG, but the upstream tarball has
>> it on by default. I have seen several occasions where other
>> distros had failing xfs_repairs which were "fixed" by disabling
>> debug. I'd like to make a decision on whether DEBUG should be
>> on or off by default for upstream releases. Any thoughts?
>
> Personally I'd prefer the repair process to stop if it comes across
> inconsistencies it can't handle. Ignoring them is as likely to "fix"
> the crash as it is to corrupt the filesystem more.
>
> On top of that we get bug reports when those problems are hit so
> we can look into what caused the problem. We don't really have a
> repair test suite that covers all the possible corruptions that
> can occur, so we are kind of reliant on users reporting conditions
> we've never had to handle before so we can fix them...
>
> Cheers,
>
> Dave.
Hrm. Well, that makes sense.
OTOH, Debian turns it off too:
$ grep DEBUG debian/rules
options = export DEBUG=-DNDEBUG DISTRIBUTION=debian \
and for some reason when I take this out of the Fedora specfile,
it fails to build because:
xfs_bmap.c:23: warning: 'xfs_bmap_check_leaf_extents' used but never defined
and indeed there is a forward declaration:
#ifdef DEBUG
STATIC void
xfs_bmap_check_leaf_extents(xfs_btree_cur_t *cur, xfs_inode_t *ip, int
whichfork);
#endif
but no definition that I can find ....
Something must be odd w/ the way this flag works though because a simple "make"
in the git tree, w/o any -DNDEBUG, works fine for me ...
Meanwhile I'm leaving DEBUG=-DNDEBUG on in Fedora just for now :)
-Eric
|