On Freitag, 16. Juli 2010 Dave Chinner wrote: > > Maybe I did something wrong? I configured xfsprogs 3.1.2 with > > CFLAGS=-march=athlon64-sse3 ./configure --prefix=/usr > > and then > > make;make install > > Drop the CFLAGS and see what happens when you just use a generic > arch target. OK, I'll retry this. > Regardless, can you run xfs_repair -P and see if that prevents the > assert failure? I did this 10 times manually. It started good, but after a while repeats itself again: # xfs_repair -P saturn_bigdata.only_broken Phase 1 - find and verify superblock... Phase 2 - using internal log - zero log... - scan filesystem freespace and inode maps... - found root inode chunk Phase 3 - for each AG... - scan and clear agi unlinked lists... - process known inodes and perform inode discovery... - agno = 0 corrected attribute entry count in inode 649642, was 40, now 0 problem with attribute contents in inode 649642 local inode 649790 attr too small (size = 1, min size = 4) bad attribute fork in inode 649790, clearing attr fork clearing inode 649790 attributes cleared inode 649790 - agno = 1 local inode 2195133988 attr too small (size = 3, min size = 4) bad attribute fork in inode 2195133988, clearing attr fork clearing inode 2195133988 attributes cleared inode 2195133988 corrected attribute entry count in inode 2902971474, was 163, now 0 corrected attribute entry totsize in inode 2902971474, was 6, now 4 problem with attribute contents in inode 2902971474 - agno = 2 - agno = 3 - agno = 4 - agno = 5 - agno = 6 - agno = 7 - process newly discovered inodes... Phase 4 - check for duplicate blocks... - setting up duplicate extent list... - check for inodes claiming duplicate blocks... - agno = 0 data fork in inode 649642 claims metadata block 537266460 xfs_repair: dinode.c:2101: process_inode_data_fork: Assertion `err == 0' failed. Aborted --------------------------------------------------- # xfs_repair -P saturn_bigdata.only_broken 2>&1|tee broken.log Phase 1 - find and verify superblock... Phase 2 - using internal log - zero log... - scan filesystem freespace and inode maps... - found root inode chunk Phase 3 - for each AG... - scan and clear agi unlinked lists... - process known inodes and perform inode discovery... - agno = 0 corrected attribute entry count in inode 649642, was 40, now 0 problem with attribute contents in inode 649642 local inode 649790 attr too small (size = 1, min size = 4) bad attribute fork in inode 649790, clearing attr fork clearing inode 649790 attributes cleared inode 649790 - agno = 1 local inode 2195133988 attr too small (size = 3, min size = 4) bad attribute fork in inode 2195133988, clearing attr fork clearing inode 2195133988 attributes cleared inode 2195133988 corrected attribute entry count in inode 2902971474, was 163, now 0 corrected attribute entry totsize in inode 2902971474, was 6, now 4 problem with attribute contents in inode 2902971474 - agno = 2 - agno = 3 - agno = 4 - agno = 5 - agno = 6 - agno = 7 - process newly discovered inodes... Phase 4 - check for duplicate blocks... - setting up duplicate extent list... - check for inodes claiming duplicate blocks... - agno = 1 data fork in inode 2195133988 claims metadata block 537122652 - agno = 2 - agno = 3 xfs_repair: dinode.c:2101: process_inode_data_fork: Assertion `err == 0' failed. ------------------------------------------------- # xfs_repair -P saturn_bigdata.only_broken 2>&1|tee broken2.log Phase 1 - find and verify superblock... Phase 2 - using internal log - zero log... - scan filesystem freespace and inode maps... - found root inode chunk Phase 3 - for each AG... - scan and clear agi unlinked lists... - process known inodes and perform inode discovery... - agno = 0 corrected attribute entry count in inode 649642, was 40, now 0 problem with attribute contents in inode 649642 local inode 649790 attr too small (size = 1, min size = 4) bad attribute fork in inode 649790, clearing attr fork clearing inode 649790 attributes cleared inode 649790 - agno = 1 local inode 2195133988 attr too small (size = 3, min size = 4) bad attribute fork in inode 2195133988, clearing attr fork clearing inode 2195133988 attributes cleared inode 2195133988 corrected attribute entry count in inode 2902971474, was 163, now 0 corrected attribute entry totsize in inode 2902971474, was 6, now 4 problem with attribute contents in inode 2902971474 - agno = 2 - agno = 3 - agno = 4 - agno = 5 - agno = 6 - agno = 7 - process newly discovered inodes... Phase 4 - check for duplicate blocks... - setting up duplicate extent list... - check for inodes claiming duplicate blocks... - agno = 0 - agno = 2 data fork in inode 649642 claims metadata block 537266460 - agno = 3 xfs_repair: dinode.c:2101: process_inode_data_fork: Assertion `err == 0' failed. - agno = 4 - agno = 5 ------------------------------------------------- # xfs_repair -P saturn_bigdata.only_broken 2>&1|tee broken3.log Phase 1 - find and verify superblock... Phase 2 - using internal log - zero log... - scan filesystem freespace and inode maps... - found root inode chunk Phase 3 - for each AG... - scan and clear agi unlinked lists... - process known inodes and perform inode discovery... - agno = 0 corrected attribute entry count in inode 649642, was 40, now 0 problem with attribute contents in inode 649642 local inode 649790 attr too small (size = 1, min size = 4) bad attribute fork in inode 649790, clearing attr fork clearing inode 649790 attributes cleared inode 649790 - agno = 1 local inode 2195133988 attr too small (size = 3, min size = 4) bad attribute fork in inode 2195133988, clearing attr fork clearing inode 2195133988 attributes cleared inode 2195133988 corrected attribute entry count in inode 2902971474, was 163, now 0 corrected attribute entry totsize in inode 2902971474, was 6, now 4 problem with attribute contents in inode 2902971474 - agno = 2 - agno = 3 - agno = 4 - agno = 5 - agno = 6 - agno = 7 - process newly discovered inodes... Phase 4 - check for duplicate blocks... - setting up duplicate extent list... - check for inodes claiming duplicate blocks... - agno = 0 - agno = 2 - agno = 1 data fork in inode 2195133988 claims metadata block 537122652 - agno = 4 - agno = 5 - agno = 6 - agno = 7 data fork in inode 649642 claims metadata block 537266460 xfs_repair: dinode.c:2101: process_inode_data_fork: Assertion `err == 0' failed. xfs_repair: dinode.c:2101: process_inode_data_fork: Assertion `err == 0' failed. ------------------------------------------------- # xfs_repair -P saturn_bigdata.only_broken 2>&1|tee broken4.log Phase 1 - find and verify superblock... Phase 2 - using internal log - zero log... - scan filesystem freespace and inode maps... - found root inode chunk Phase 3 - for each AG... - scan and clear agi unlinked lists... - process known inodes and perform inode discovery... - agno = 0 corrected attribute entry count in inode 649642, was 40, now 0 problem with attribute contents in inode 649642 local inode 649790 attr too small (size = 1, min size = 4) bad attribute fork in inode 649790, clearing attr fork clearing inode 649790 attributes cleared inode 649790 - agno = 1 local inode 2195133988 attr too small (size = 3, min size = 4) bad attribute fork in inode 2195133988, clearing attr fork clearing inode 2195133988 attributes cleared inode 2195133988 corrected attribute entry count in inode 2902971474, was 163, now 0 corrected attribute entry totsize in inode 2902971474, was 6, now 4 problem with attribute contents in inode 2902971474 - agno = 2 - agno = 3 - agno = 4 - agno = 5 - agno = 6 - agno = 7 - process newly discovered inodes... Phase 4 - check for duplicate blocks... - setting up duplicate extent list... - check for inodes claiming duplicate blocks... - agno = 0 - agno = 2 - agno = 3 - agno = 4 - agno = 5 - agno = 6 - agno = 7 - agno = 1 data fork in inode 2195133988 claims metadata block 537122652 xfs_repair: dinode.c:2101: process_inode_data_fork: Assertion `err == 0' failed. ------------------------------------------------- # xfs_repair -P saturn_bigdata.only_broken 2>&1|tee broken5.log Phase 1 - find and verify superblock... Phase 2 - using internal log - zero log... - scan filesystem freespace and inode maps... - found root inode chunk Phase 3 - for each AG... - scan and clear agi unlinked lists... - process known inodes and perform inode discovery... - agno = 0 corrected attribute entry count in inode 649642, was 40, now 0 problem with attribute contents in inode 649642 local inode 649790 attr too small (size = 1, min size = 4) bad attribute fork in inode 649790, clearing attr fork clearing inode 649790 attributes cleared inode 649790 - agno = 1 local inode 2195133988 attr too small (size = 3, min size = 4) bad attribute fork in inode 2195133988, clearing attr fork clearing inode 2195133988 attributes cleared inode 2195133988 corrected attribute entry count in inode 2902971474, was 163, now 0 corrected attribute entry totsize in inode 2902971474, was 6, now 4 problem with attribute contents in inode 2902971474 - agno = 2 - agno = 3 - agno = 4 - agno = 5 - agno = 6 - agno = 7 - process newly discovered inodes... Phase 4 - check for duplicate blocks... - setting up duplicate extent list... - check for inodes claiming duplicate blocks... - agno = 1 - agno = 0 - agno = 2 - agno = 3 - agno = 4 - agno = 5 - agno = 6 - agno = 7 data fork in inode 649642 claims metadata block 537266460 xfs_repair: dinode.c:2101: process_inode_data_fork: Assertion `err == 0' failed. ------------------------------------------------- # xfs_repair -P saturn_bigdata.only_broken 2>&1|tee broken6.log Phase 1 - find and verify superblock... Phase 2 - using internal log - zero log... - scan filesystem freespace and inode maps... - found root inode chunk Phase 3 - for each AG... - scan and clear agi unlinked lists... - process known inodes and perform inode discovery... - agno = 0 corrected attribute entry count in inode 649642, was 40, now 0 problem with attribute contents in inode 649642 local inode 649790 attr too small (size = 1, min size = 4) bad attribute fork in inode 649790, clearing attr fork clearing inode 649790 attributes cleared inode 649790 - agno = 1 local inode 2195133988 attr too small (size = 3, min size = 4) bad attribute fork in inode 2195133988, clearing attr fork clearing inode 2195133988 attributes cleared inode 2195133988 corrected attribute entry count in inode 2902971474, was 163, now 0 corrected attribute entry totsize in inode 2902971474, was 6, now 4 problem with attribute contents in inode 2902971474 - agno = 2 - agno = 3 - agno = 4 - agno = 5 - agno = 6 - agno = 7 - process newly discovered inodes... Phase 4 - check for duplicate blocks... - setting up duplicate extent list... - check for inodes claiming duplicate blocks... - agno = 3 - agno = 4 - agno = 5 - agno = 6 - agno = 7 - agno = 2 - agno = 1 data fork in inode 2195133988 claims metadata block 537122652 - agno = 0 xfs_repair: dinode.c:2101: process_inode_data_fork: Assertion `err == 0' failed. ------------------------------------------------- The next run gave the same output, only the order of AG's was different: # diff broken6.log broken7.log 34,39c34 < - agno = 3 < - agno = 4 < - agno = 5 < - agno = 6 < - agno = 7 < - agno = 2 --- > - agno = 0 42d36 < - agno = 0 ------------------------------------------------- # xfs_repair -P saturn_bigdata.only_broken 2>&1|tee broken8.log Phase 1 - find and verify superblock... Phase 2 - using internal log - zero log... - scan filesystem freespace and inode maps... - found root inode chunk Phase 3 - for each AG... - scan and clear agi unlinked lists... - process known inodes and perform inode discovery... - agno = 0 corrected attribute entry count in inode 649642, was 40, now 0 problem with attribute contents in inode 649642 local inode 649790 attr too small (size = 1, min size = 4) bad attribute fork in inode 649790, clearing attr fork clearing inode 649790 attributes cleared inode 649790 - agno = 1 local inode 2195133988 attr too small (size = 3, min size = 4) bad attribute fork in inode 2195133988, clearing attr fork clearing inode 2195133988 attributes cleared inode 2195133988 corrected attribute entry count in inode 2902971474, was 163, now 0 corrected attribute entry totsize in inode 2902971474, was 6, now 4 problem with attribute contents in inode 2902971474 - agno = 2 - agno = 3 - agno = 4 - agno = 5 - agno = 6 - agno = 7 - process newly discovered inodes... Phase 4 - check for duplicate blocks... - setting up duplicate extent list... - check for inodes claiming duplicate blocks... - agno = 0 - agno = 1 data fork in inode 2195133988 claims metadata block 537122652 - agno = 2 - agno = 3 - agno = 4 xfs_repair: dinode.c:2101: process_inode_data_fork: Assertion `err == 0' failed. - agno = 5 - agno = 6 - agno = 7 ------------------------------------------------- The next run gave the same output as "broken5.log", only the order of AG's was different: # diff broken9.log broken5.log 34d33 < - agno = 0 35a35,41 > - agno = 0 > - agno = 2 > - agno = 3 > - agno = 4 > - agno = 5 > - agno = 6 > - agno = 7 I made another 20 runs, all the same. And I retried with the "CFLAGS": CFLAGS="-march=athlon64-sse3 -g -Os" ./configure --prefix=/usr No matter what I use for CFLAGS, the resulting binary repair/xfs_repair is always the same. So it seems to be ignored during compile anyway. Smells like a bug? Because config.status gets the CFLAGS set, it's just not used during compile. Comparing a "config.status" with CFLAGS set and without: # diff config.status config.status.default 360c360 < with options \"'--prefix=/usr' 'CFLAGS=-march=athlon64-sse3 -g - Os'\" --- > with options \"\" 439c439 < set X '/bin/sh' './configure' '--prefix=/usr' 'CFLAGS=- march=athlon64-sse3 -g -Os' $ac_configure_extra_args --no-create --no- recursion --- > set X '/bin/sh' './configure' $ac_configure_extra_args --no-create --no-recursion 488c488 < max_cmd_len='1572864' --- > max_cmd_len='3458764513820540925' 507c507 < CFLAGS='-march=athlon64-sse3 -g -Os' --- > CFLAGS='-g -O2' 591c591 < LTCFLAGS='-march=athlon64-sse3 -g -Os' --- > LTCFLAGS='-g -O2' 717c717 < S["have_zipped_manpages"]="true" --- > S["have_zipped_manpages"]="false" 835c835 < S["CFLAGS"]="-march=athlon64-sse3 -g -Os" --- > S["CFLAGS"]="-g -O2" -- mit freundlichen Grüssen, Michael Monnerie, Ing. BSc it-management Internet Services http://proteger.at [gesprochen: Prot-e-schee] Tel: 0660 / 415 65 31 // Wir haben im Moment zwei Häuser zu verkaufen: // http://zmi.at/langegg/ // http://zmi.at/haus2009/
Attachment:
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs