* Nathan Scott (nathans@xxxxxxx) [20030606 09:54]:
Nathan,
> Can you give some context around line 610 in fs/xfs/linux/xfs_aops.c
> from your XFS source, Peter? (there is no BUG() call there anymore).
Sure, here it is:
602 if (create &&
603 ((!buffer_mapped(bh_result) && !buffer_uptodate(bh_result))
||
604 (offset >= inode->i_size))) {
605 set_bit(BH_New, &bh_result->b_state);
606 }
607
608 if (pbmap.pbm_flags & PBMF_DELAY) {
609 if (unlikely(direct))
610 BUG();
611
612 if (create) {
613 set_bit(BH_Mapped, &bh_result->b_state);
614 }
615 set_bit(BH_Delay, &bh_result->b_state);
616 }
fs/xfs/linux/xfs_version.h says it is:
#define XFS_VERSION_STRING "1.2.0"
> I think I know what this is (I have seen something like this, if I'm
> second guessing where this is in the code correctly, under very high
> stress), but we don't have a fix for it yet. Are you saying above
> that you have an easy case for reproducing it? That would be handy.
Yes, I have reproduced the exact same oops several times,
unfortunately it damaged my root XFS filesystem beyond repair.
I'm currently building it again and see if I can get the oops
back.
Peter
--
.+'''+. .+'''+. .+'''+. .+'''+. .+''
Kelemen Péter / \ / \ Peter.Kelemen@xxxxxxx
.+' `+...+' `+...+' `+...+' `+...+'
|