At Mon, 11 Dec 2000 12:42:49 -0600,
Russell Cattelan <cattelan@xxxxxxxxxxx> wrote:
Hi,
> But I finally tracked down the problem with meta data corruption on
> non 4k page systems.
Great!
> I've only testing this on an alpha system, so I curious to see if this
> fixes ppc and ia64.
I ran 16KB page size kernel on IA64 with your page_buf.c patch.
[root@luna /]# mkfs -t xfs -b size=16384 -f /dev/sdc1
meta-data=/dev/sdc1 isize=256 agcount=8, agsize=8033 blks
data = bsize=16384 blocks=64258, imaxpct=25
= sunit=0 swidth=0 blks, unwritten=0
naming =version 2 bsize=16384
log =internal log bsize=16384 blocks=1000
realtime =none extsz=65536 blocks=0, rtextents=0
When I type mount command, I trapped at xlog_brread and xfsbdstrat.
[root@luna /]# mount -t xfs /dev/sdc1 /mnt/xfs
console messages:
(xfs_log_recover.c includes my debugging codes)
----------8<----------
pb_get_no_daddr NOT block 0xe00000003f080700 mask 0xe00000003f080600 len 512
OK NEW 0xe00000003d238800 tlen 1024
Instruction breakpoint #1 at 0xe0000000007db760
e0000000007db760 <xfsbdstrat>: [MII] alloc r37=ar.pfs,9,6,0
e0000000007db761 <xfsbdstrat+0x1>: addl r14=1054344,r1
e0000000007db762 <xfsbdstrat+0x2>: mov r36=b0
Entering kdb (0x3c360000) on processor 0 [0]kdb> go
Start mounting filesystem: sd(8,33)
pb_get_no_daddr NOT block 0xe00000003f080500 mask 0xe00000003f080400 len 512
OK NEW 0xe00000003ab3bc00 tlen 1024
Instruction breakpoint #0 at 0xe0000000007805e0
e0000000007805e0 <xlog_bread>: [MII] alloc r44=ar.pfs,17,13,0
e0000000007805e1 <xlog_bread+0x1>: addl r14=1054344,r1
e0000000007805e2 <xlog_bread+0x2>: mov r43=b0
Entering kdb (0x3c360000) on processor 0 [0]kdb> go
xlog_bread(1):bp=0xe00000003c2c7800
xlog_bread(1):blk_no=0x0
xlog_bread(1):log=0xe00000003f080700
xlog_bread(1):log->l_mp=0xe00000003c37c800
xlog_bread(1):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(1):log->l_logBBstart=0xfb100
xlog_bread(2):bp=0xe00000003c2c7800
xlog_bread(2):blk_no=0x0
xlog_bread(2):log=0xe00000003f080700
xlog_bread(2):log->l_mp=0xe00000003c37c800
xlog_bread(2):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(2):log->l_logBBstart=0xfb100
Instruction breakpoint #1 at 0xe0000000007db760
e0000000007db760 <xfsbdstrat>: [MII] alloc r37=ar.pfs,9,6,0
e0000000007db761 <xfsbdstrat+0x1>: addl r14=1054344,r1
e0000000007db762 <xfsbdstrat+0x2>: mov r36=b0
Entering kdb (0x3c360000) on processor 0 [0]kdb> go
Instruction breakpoint #0 at 0xe0000000007805e0
e0000000007805e0 <xlog_bread>: [MII] alloc r44=ar.pfs,17,13,0
e0000000007805e1 <xlog_bread+0x1>: addl r14=1054344,r1
e0000000007805e2 <xlog_bread+0x2>: mov r43=b0
Entering kdb (0x3c360000) on processor 0 [0]kdb> go
xlog_bread(1):bp=0xe00000003c2c7800
xlog_bread(1):blk_no=0x7cff
xlog_bread(1):log=0xe00000003f080700
xlog_bread(1):log->l_mp=0xe00000003c37c800
xlog_bread(1):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(1):log->l_logBBstart=0xfb100
xlog_bread(2):bp=0xe00000003c2c7800
xlog_bread(2):blk_no=0x7cff
xlog_bread(2):log=0xe00000003f080700
xlog_bread(2):log->l_mp=0xe00000003c37c800
xlog_bread(2):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(2):log->l_logBBstart=0xfb100
Instruction breakpoint #1 at 0xe0000000007db760
e0000000007db760 <xfsbdstrat>: [MII] alloc r37=ar.pfs,9,6,0
e0000000007db761 <xfsbdstrat+0x1>: addl r14=1054344,r1
e0000000007db762 <xfsbdstrat+0x2>: mov r36=b0
Entering kdb (0x3c360000) on processor 0 [0]kdb> go
Instruction breakpoint #0 at 0xe0000000007805e0
e0000000007805e0 <xlog_bread>: [MII] alloc r44=ar.pfs,17,13,0
e0000000007805e1 <xlog_bread+0x1>: addl r14=1054344,r1
e0000000007805e2 <xlog_bread+0x2>: mov r43=b0
Entering kdb (0x3c360000) on processor 0 [0]kdb> go
xlog_bread(1):bp=0xe00000003c2c7800
xlog_bread(1):blk_no=0x3e7f
xlog_bread(1):log=0xe00000003f080700
xlog_bread(1):log->l_mp=0xe00000003c37c800
xlog_bread(1):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(1):log->l_logBBstart=0xfb100
xlog_bread(2):bp=0xe00000003c2c7800
xlog_bread(2):blk_no=0x3e7f
xlog_bread(2):log=0xe00000003f080700
xlog_bread(2):log->l_mp=0xe00000003c37c800
xlog_bread(2):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(2):log->l_logBBstart=0xfb100
Instruction breakpoint #1 at 0xe0000000007db760
e0000000007db760 <xfsbdstrat>: [MII] alloc r37=ar.pfs,9,6,0
e0000000007db761 <xfsbdstrat+0x1>: addl r14=1054344,r1
e0000000007db762 <xfsbdstrat+0x2>: mov r36=b0
Entering kdb (0x3c360000) on processor 0 [0]kdb> go
eth0: card reports no resources.
Instruction breakpoint #0 at 0xe0000000007805e0
e0000000007805e0 <xlog_bread>: [MII] alloc r44=ar.pfs,17,13,0
e0000000007805e1 <xlog_bread+0x1>: addl r14=1054344,r1
e0000000007805e2 <xlog_bread+0x2>: mov r43=b0
Entering kdb (0x3c360000) on processor 0 [0]kdb> go
xlog_bread(1):bp=0xe00000003c2c7800
xlog_bread(1):blk_no=0x1f3f
xlog_bread(1):log=0xe00000003f080700
xlog_bread(1):log->l_mp=0xe00000003c37c800
xlog_bread(1):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(1):log->l_logBBstart=0xfb100
xlog_bread(2):bp=0xe00000003c2c7800
xlog_bread(2):blk_no=0x1f3f
xlog_bread(2):log=0xe00000003f080700
xlog_bread(2):log->l_mp=0xe00000003c37c800
xlog_bread(2):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(2):log->l_logBBstart=0xfb100
Instruction breakpoint #1 at 0xe0000000007db760
e0000000007db760 <xfsbdstrat>: [MII] alloc r37=ar.pfs,9,6,0
e0000000007db761 <xfsbdstrat+0x1>: addl r14=1054344,r1
e0000000007db762 <xfsbdstrat+0x2>: mov r36=b0
Entering kdb (0x3c360000) on processor 0 [0]kdb> bc *
Breakpoint 0 at 0xe0000000007805e0 in dr0 cleared
Breakpoint 1 at 0xe0000000007db760 in dr0 cleared
[0]kdb> go
xlog_bread(1):bp=0xe00000003c2c7800
xlog_bread(1):blk_no=0xf9f
xlog_bread(1):log=0xe00000003f080700
xlog_bread(1):log->l_mp=0xe00000003c37c800
xlog_bread(1):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(1):log->l_logBBstart=0xfb100
xlog_bread(2):bp=0xe00000003c2c7800
xlog_bread(2):blk_no=0xf9f
xlog_bread(2):log=0xe00000003f080700
xlog_bread(2):log->l_mp=0xe00000003c37c800
xlog_bread(2):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(2):log->l_logBBstart=0xfb100
xlog_bread(1):bp=0xe00000003c2c7800
xlog_bread(1):blk_no=0x7cf
xlog_bread(1):log=0xe00000003f080700
xlog_bread(1):log->l_mp=0xe00000003c37c800
xlog_bread(1):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(1):log->l_logBBstart=0xfb100
xlog_bread(2):bp=0xe00000003c2c7800
xlog_bread(2):blk_no=0x7cf
xlog_bread(2):log=0xe00000003f080700
xlog_bread(2):log->l_mp=0xe00000003c37c800
xlog_bread(2):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(2):log->l_logBBstart=0xfb100
xlog_bread(1):bp=0xe00000003c2c7800
xlog_bread(1):blk_no=0x3e7
xlog_bread(1):log=0xe00000003f080700
xlog_bread(1):log->l_mp=0xe00000003c37c800
xlog_bread(1):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(1):log->l_logBBstart=0xfb100
xlog_bread(2):bp=0xe00000003c2c7800
xlog_bread(2):blk_no=0x3e7
xlog_bread(2):log=0xe00000003f080700
xlog_bread(2):log->l_mp=0xe00000003c37c800
xlog_bread(2):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(2):log->l_logBBstart=0xfb100
xlog_bread(1):bp=0xe00000003c2c7800
xlog_bread(1):blk_no=0x1f3
xlog_bread(1):log=0xe00000003f080700
xlog_bread(1):log->l_mp=0xe00000003c37c800
xlog_bread(1):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(1):log->l_logBBstart=0xfb100
xlog_bread(2):bp=0xe00000003c2c7800
xlog_bread(2):blk_no=0x1f3
xlog_bread(2):log=0xe00000003f080700
xlog_bread(2):log->l_mp=0xe00000003c37c800
xlog_bread(2):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(2):log->l_logBBstart=0xfb100
xlog_bread(1):bp=0xe00000003c2c7800
xlog_bread(1):blk_no=0xf9
xlog_bread(1):log=0xe00000003f080700
xlog_bread(1):log->l_mp=0xe00000003c37c800
xlog_bread(1):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(1):log->l_logBBstart=0xfb100
xlog_bread(2):bp=0xe00000003c2c7800
xlog_bread(2):blk_no=0xf9
xlog_bread(2):log=0xe00000003f080700
xlog_bread(2):log->l_mp=0xe00000003c37c800
xlog_bread(2):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(2):log->l_logBBstart=0xfb100
xlog_bread(1):bp=0xe00000003c2c7800
xlog_bread(1):blk_no=0x7c
xlog_bread(1):log=0xe00000003f080700
xlog_bread(1):log->l_mp=0xe00000003c37c800
xlog_bread(1):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(1):log->l_logBBstart=0xfb100
xlog_bread(2):bp=0xe00000003c2c7800
xlog_bread(2):blk_no=0x7c
xlog_bread(2):log=0xe00000003f080700
xlog_bread(2):log->l_mp=0xe00000003c37c800
xlog_bread(2):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(2):log->l_logBBstart=0xfb100
xlog_bread(1):bp=0xe00000003c2c7800
xlog_bread(1):blk_no=0x3e
xlog_bread(1):log=0xe00000003f080700
xlog_bread(1):log->l_mp=0xe00000003c37c800
xlog_bread(1):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(1):log->l_logBBstart=0xfb100
xlog_bread(2):bp=0xe00000003c2c7800
xlog_bread(2):blk_no=0x3e
xlog_bread(2):log=0xe00000003f080700
xlog_bread(2):log->l_mp=0xe00000003c37c800
xlog_bread(2):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(2):log->l_logBBstart=0xfb100
xlog_bread(1):bp=0xe00000003c2c7800
xlog_bread(1):blk_no=0x1f
xlog_bread(1):log=0xe00000003f080700
xlog_bread(1):log->l_mp=0xe00000003c37c800
xlog_bread(1):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(1):log->l_logBBstart=0xfb100
xlog_bread(2):bp=0xe00000003c2c7800
xlog_bread(2):blk_no=0x1f
xlog_bread(2):log=0xe00000003f080700
xlog_bread(2):log->l_mp=0xe00000003c37c800
xlog_bread(2):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(2):log->l_logBBstart=0xfb100
xlog_bread(1):bp=0xe00000003c2c7800
xlog_bread(1):blk_no=0xf
xlog_bread(1):log=0xe00000003f080700
xlog_bread(1):log->l_mp=0xe00000003c37c800
xlog_bread(1):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(1):log->l_logBBstart=0xfb100
xlog_bread(2):bp=0xe00000003c2c7800
xlog_bread(2):blk_no=0xf
xlog_bread(2):log=0xe00000003f080700
xlog_bread(2):log->l_mp=0xe00000003c37c800
xlog_bread(2):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(2):log->l_logBBstart=0xfb100
xlog_bread(1):bp=0xe00000003c2c7800
xlog_bread(1):blk_no=0x7
xlog_bread(1):log=0xe00000003f080700
xlog_bread(1):log->l_mp=0xe00000003c37c800
xlog_bread(1):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(1):log->l_logBBstart=0xfb100
xlog_bread(2):bp=0xe00000003c2c7800
xlog_bread(2):blk_no=0x7
xlog_bread(2):log=0xe00000003f080700
xlog_bread(2):log->l_mp=0xe00000003c37c800
xlog_bread(2):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(2):log->l_logBBstart=0xfb100
xlog_bread(1):bp=0xe00000003c2c7800
xlog_bread(1):blk_no=0x3
xlog_bread(1):log=0xe00000003f080700
xlog_bread(1):log->l_mp=0xe00000003c37c800
xlog_bread(1):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(1):log->l_logBBstart=0xfb100
xlog_bread(2):bp=0xe00000003c2c7800
xlog_bread(2):blk_no=0x3
xlog_bread(2):log=0xe00000003f080700
xlog_bread(2):log->l_mp=0xe00000003c37c800
xlog_bread(2):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(2):log->l_logBBstart=0xfb100
xlog_bread(1):bp=0xe00000003c2c7800
xlog_bread(1):blk_no=0x1
xlog_bread(1):log=0xe00000003f080700
xlog_bread(1):log->l_mp=0xe00000003c37c800
xlog_bread(1):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(1):log->l_logBBstart=0xfb100
xlog_bread(2):bp=0xe00000003c2c7800
xlog_bread(2):blk_no=0x1
xlog_bread(2):log=0xe00000003f080700
xlog_bread(2):log->l_mp=0xe00000003c37c800
xlog_bread(2):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(2):log->l_logBBstart=0xfb100
xlog_bread(1):bp=0xe00000003c2c7800
xlog_bread(1):blk_no=0x2
xlog_bread(1):log=0xe00000003f080700
xlog_bread(1):log->l_mp=0xe00000003c37c800
xlog_bread(1):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(1):log->l_logBBstart=0xfb100
xlog_bread(2):bp=0xe00000003c2c7800
xlog_bread(2):blk_no=0x2
xlog_bread(2):log=0xe00000003f080700
xlog_bread(2):log->l_mp=0xe00000003c37c800
xlog_bread(2):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(2):log->l_logBBstart=0xfb100
pb_get_no_daddr NOT block 0xe00000003ab3b6c0 mask 0xe00000003ab3b600 len 1024
xlog_bread(1):bp=0xe00000003c2c76c0
xlog_bread(1):blk_no=0x0
xlog_bread(1):log=0xe00000003f080700
xlog_bread(1):log->l_mp=0xe00000003c37c800
xlog_bread(1):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(1):log->l_logBBstart=0xfb100
xlog_bread(2):bp=0xe00000003c2c76c0
xlog_bread(2):blk_no=0x0
xlog_bread(2):log=0xe00000003f080700
xlog_bread(2):log->l_mp=0xe00000003c37c800
xlog_bread(2):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(2):log->l_logBBstart=0xfb100
pb_get_no_daddr NOT block 0xe00000003ab3b6c0 mask 0xe00000003ab3b600 len 1024
xlog_bread(1):bp=0xe00000003c2c76c0
xlog_bread(1):blk_no=0x0
xlog_bread(1):log=0xe00000003f080700
xlog_bread(1):log->l_mp=0xe00000003c37c800
xlog_bread(1):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(1):log->l_logBBstart=0xfb100
xlog_bread(2):bp=0xe00000003c2c76c0
xlog_bread(2):blk_no=0x0
xlog_bread(2):log=0xe00000003f080700
xlog_bread(2):log->l_mp=0xe00000003c37c800
xlog_bread(2):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(2):log->l_logBBstart=0xfb100
pb_get_no_daddr NOT block 0xe00000003f080500 mask 0xe00000003f080400 len 512
xlog_bread(1):bp=0xe00000003c2c7800
xlog_bread(1):blk_no=0x1
xlog_bread(1):log=0xe00000003f080700
xlog_bread(1):log->l_mp=0xe00000003c37c800
xlog_bread(1):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(1):log->l_logBBstart=0xfb100
xlog_bread(2):bp=0xe00000003c2c7800
xlog_bread(2):blk_no=0x1
xlog_bread(2):log=0xe00000003f080700
xlog_bread(2):log->l_mp=0xe00000003c37c800
xlog_bread(2):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(2):log->l_logBBstart=0xfb100
xlog_bread(1):bp=0xe00000003c2c7800
xlog_bread(1):blk_no=0x0
xlog_bread(1):log=0xe00000003f080700
xlog_bread(1):log->l_mp=0xe00000003c37c800
xlog_bread(1):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(1):log->l_logBBstart=0xfb100
xlog_bread(2):bp=0xe00000003c2c7800
xlog_bread(2):blk_no=0x0
xlog_bread(2):log=0xe00000003f080700
xlog_bread(2):log->l_mp=0xe00000003c37c800
xlog_bread(2):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(2):log->l_logBBstart=0xfb100
xlog_bread(1):bp=0xe00000003c2c7800
xlog_bread(1):blk_no=0x1
xlog_bread(1):log=0xe00000003f080700
xlog_bread(1):log->l_mp=0xe00000003c37c800
xlog_bread(1):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(1):log->l_logBBstart=0xfb100
xlog_bread(2):bp=0xe00000003c2c7800
xlog_bread(2):blk_no=0x1
xlog_bread(2):log=0xe00000003f080700
xlog_bread(2):log->l_mp=0xe00000003c37c800
xlog_bread(2):log->l_mp->m_logdev_targ=0xe00000003c37c800
xlog_bread(2):log->l_logBBstart=0xfb100
Ending clean XFS mount for filesystem: sd(8,33)
----------8<----------
mount succeeded!
Simple read and write seem to work.
Regards,
Hiroshi Aono, NEC Solutions
(h-aono@xxxxxxxxxxxxx)
|