xfs
[Top] [All Lists]

agf corruption on the alpha

To: linux-xfs@xxxxxxxxxxx
Subject: agf corruption on the alpha
From: Thomas Graichen <news-innominate.list.sgi.xfs@xxxxxxxxxxxxx>
Date: 1 Dec 2000 07:53:37 GMT
Distribution: local
Organization: innominate AG, Berlin, Germany
References: <news2mail-8uecj0$i5e$1@mate.bln.innominate.de> <10011281048.ZM165042@wobbly.melbourne.sgi.com> <news2mail-9001u3$n0b$2@mate.bln.innominate.de> <10011290940.ZM169800@wobbly.melbourne.sgi.com> <news2mail-902hr6$307$1@mate.bln.innominate.de> <10011301040.ZM164128@wobbly.melbourne.sgi.com> <news2mail-90550o$3u0$3@mate.bln.innominate.de> <3A267EBE.52E6CC95@thebarn.com> <news2mail-9061lo$dc3$3@mate.bln.innominate.de> <3A26C307.5FCCC673@thebarn.com>
Reply-to: Thomas Graichen <graichen@xxxxxxxxxxxxx>
Reply-to: thomas.graichen@xxxxxxxxxxxxx
Sender: owner-linux-xfs@xxxxxxxxxxx
User-agent: tin/1.4.4-20000803 ("Vet for the Insane") (UNIX) (Linux/2.4.0-XFS-test10 (i686))
[i changed the subject a bit ... this is no longer ppc :-]

Russell Cattelan <cattelan@xxxxxxxxxxx> wrote:
> Thomas Graichen wrote:

> Ok good...
> So everything thing looks good right after mkfs and the mount.

> The problem does appear to the first write to the super block.
> as shown by
> od -c -N 8 -j 512 /dev/sdb1
> not reporting XAGF

> My best guess that this point as to what it happening:
> We have added valid bits to the page structure, with each
> bit representing 1 512 byte block.
> It appears that someplace in the pagebuf  math the basic unit
> is now 1024, rather than 512.
> Since the page size has doubled it does make sense the BB size has
> doubled.
> So now the trick is to find the problem.

> Lets verify the problem first
> just before the generic_make_request function in page_buf.c:
> _pagebuf_page_io
>                         printk ("_pagebuf page io calling gmk itr %d bh
> 0x%p block %d size %ld\t",itr,

> psync->bh[itr],psync->bh[itr]->b_blocknr,psync->bh[itr]->b_size);
>                         { int i;
>                         for(i=0; i < 4; i++){
>                           printk("%c",psync->bh[itr]->b_data[i]);
>                         }
>                         printk("\n");
>                         }

> The numbers we will be interested in will be the b_ blocknr and the
> b_bsize.

ok - this is what i got for

root@cyan:/var/log# mkfs -t xfs -f -b size=8192 /dev/sdb1
meta-data=/dev/sdb1              isize=256    agcount=8, agsize=4142 blks
data     =                       bsize=8192   blocks=33130, imaxpct=25
         =                       sunit=0      swidth=0 blks, unwritten=0
naming   =version 2              bsize=8192  
log      =internal log           bsize=8192   blocks=1000
realtime =none                   extsz=65536  blocks=0, rtextents=0
root@cyan:/var/log# mount /dev/sdb1 /mnt
root@cyan:/var/log# echo test > /mnt/testfile
root@cyan:/var/log# umount /mnt
root@cyan:/var/log#

after a fresh reload of the modules

<6>page_buf cache Copyright (c) 2000 Silicon Graphics, Inc.
<6>XFS filesystem Copyright (c) 2000 Silicon Graphics, Inc.
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f6600 block 0 size 1024   
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f6600 block 530079 size 
512       
<4>Start mounting filesystem: sd(8,17)
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f6600 block 265152 size 
1024      
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f6600 block 281151 size 
1024      þíº¾
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f6600 block 273151 size 
1024      
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f6600 block 269151 size 
1024      
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f6600 block 267151 size 
1024      
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f6600 block 266151 size 
1024      
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f6600 block 265651 size 
1024      
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f6600 block 265401 size 
1024      
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f6600 block 265276 size 
1024      
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f6600 block 265214 size 
1024      
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f6600 block 265183 size 
1024      
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f6600 block 265167 size 
1024      
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f6600 block 265159 size 
1024      
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f6600 block 265155 size 
1024      
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f6600 block 265153 size 
1024      
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f6600 block 265154 size 
1024      
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f6600 block 265152 size 
1024      þíº¾
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f6600 block 265152 size 
1024      þíº¾
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f6600 block 265153 size 
1024      
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f6600 block 265152 size 
1024      
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f6600 block 265153 size 
1024      þíº¾
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f6600 block 265154 size 
8192      þíº¾
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f7280 block 265170 size 
8192      þíº¾
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f71e0 block 265186 size 
8192      þíº¾
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00041d7b40 block 265202 size 
8192      þíº¾
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00041d7a00 block 265218 size 
8192      þíº¾
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00041d7aa0 block 265234 size 
8192      þíº¾
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00041d6f60 block 265250 size 
8192      þíº¾
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00041d7960 block 265266 size 
8192      þíº¾
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00041d69c0 block 265282 size 
8192      þíº¾
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00041d76e0 block 265298 size 
8192      þíº¾
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00041d6d80 block 265314 size 
8192      þíº¾
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00041d7460 block 265330 size 
8192      þíº¾
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00041d7e60 block 265346 size 
8192      þíº¾
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00041d7f00 block 265362 size 
8192      þíº¾
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00041d7d20 block 265378 size 
8192      þíº¾
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00041d7dc0 block 265394 size 
8192      þíº¾
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f71e0 block 128 size 8192 
<4>Ending clean XFS mount for filesystem: sd(8,17)
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f71e0 block 2 size 512    
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f71e0 block 48 size 8192  
°c4
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f71e0 block 1 size 512    
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f71e0 block 3 size 512    
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f71e0 block 32 size 8192  
VÓ#
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f71e0 block 16 size 8192  
        
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f7280 block 265154 size 
3072      þíº¾
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f7280 block 2 size 512    
XAGI
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f6600 block 48 size 8192  
IABT
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00041d7dc0 block 1 size 512    
XAGF
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00041d7d20 block 32 size 8192  
ABTC
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00041d7f00 block 16 size 8192  
ABTB
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00041d7e60 block 0 size 1024   
XFSB
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00041d7460 block 128 size 8192 
INAí
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f6600 block 0 size 1024   
XFSB
<4>_pagebuf page io calling gmk itr 0 bh 0xfffffc00054f6600 block 265160 size 
1024      þíº¾

i hope it is complete - because there are problems with the prink's not
getting out all - klogd and syslogd seem to eat them up somehow - the
above is what i got using "cat /proc/kmsg" which should be fine i
think

please let me know if you need also output from some more fs activity
than just that simple echo to file (but i thought this might be
simpler for you to find somthing in)

good luck

t

p.s.: is there any trick to get the printk stuff out in a more prefect
      way (i.e. complete and in perfect sync via klogd/syslogd)?

-- 
thomas.graichen@xxxxxxxxxxxxxx
technical director                                       innominate AG
clustering & security                             the linux architects
tel: +49-30-308806-13   fax: -77             http://www.innominate.com

<Prev in Thread] Current Thread [Next in Thread>