On Wednesday 31 August 2011 19:53:07 JiSheng Zhang wrote:
> Hi List,
>
> I can only send email using webui now. so the patch is attached. I can
> resend the patch in email body if necessary later.
>
> The bug can only be triggered under SMP and heavy stress test.
>
> What happen is that the list_for_each_entry() loop in yaffs flush inodes
> routine can race with inodes deleting, so the inode can go away before
> list_for_each_entry() get the next node. This leads to a endless loop
> which will cause softlockup. We fix the problem by keeping reference to
> it and putting the reference only after we have safely resumed the scan
> of the inode list.
>
> Since __iget() and the inode lock are not exported, yaffs can not be
> selected as M after this change
>
> Signed-off-by: Jisheng Zhang <jszhang3@gmail.com>
Thank you very much for that patch.
I shall try to implement it differently as I would like to preserve module
building for test purposes.
Can you please tell me more about your testing environment? I would like to
try replicate those tests here.
Thanks
Charles