All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Monnerie <michael.monnerie@is.it-management.at>
To: xfs@oss.sgi.com
Subject: Re: rsync and corrupt inodes (was xfs_dump problem)
Date: Fri, 16 Jul 2010 16:17:21 +0200	[thread overview]
Message-ID: <201007161617.25548@zmi.at> (raw)
In-Reply-To: <20100715225713.GK30737@dastard>


[-- Attachment #1.1: Type: Text/Plain, Size: 21008 bytes --]

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 #1.2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

[-- Attachment #2: Type: text/plain, Size: 121 bytes --]

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

  reply	other threads:[~2010-07-16 14:14 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-15 20:58 rsync and corrupt inodes (was xfs_dump problem) Michael Monnerie
2010-07-15 22:57 ` Dave Chinner
2010-07-16 14:17   ` Michael Monnerie [this message]
2010-07-16 14:40   ` Michael Monnerie
  -- strict thread matches above, loose matches on Subject: below --
2010-06-27  1:10 WARNING xfsdump [still] Cannot allocate memory for list of [root|non-root] attributes for nondir ino xxyz Linda A. Walsh
2010-06-28  2:27 ` Dave Chinner
2010-06-29 22:33   ` xfs file system in process of becoming corrupt; though xfs_repair thinks it's fine! ; -/ (was xfs_dump problem...) Linda Walsh
2010-06-30 18:25     ` Michael Monnerie
2010-06-30 23:30       ` rsync and corrupt inodes (was xfs_dump problem) Dave Chinner
2010-07-01  8:25         ` Michael Monnerie
2010-07-02  2:42           ` Dave Chinner
2010-07-02  6:21             ` Michael Monnerie
2010-07-04 22:53               ` Dave Chinner
2010-07-12 11:28                 ` Michael Monnerie
2010-07-07 21:56         ` Linda Walsh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201007161617.25548@zmi.at \
    --to=michael.monnerie@is.it-management.at \
    --cc=xfs@oss.sgi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.