> I'd love to help with this, but I'm at my limit of what I know. For
> example, with the BUG() at page_buf.c:1369, can you set up for a
> wait_event()? Can you simply return with a status of try_again? I
> don't know what might need to be unrolled by this point, so am at a loss
> of how to proceed.
I'm sure these problems are due to the flag change in kmalloc: GFP_KERNEL ->
Changing the flag has cleaned up some deadlock situations but apparently has
exposed some out
of memory situations that has not occurred in the past.
I'm not sure what the best approach is yet.
XFS/pagebuf should handle out of memory situation better, (this has been an
our todo list for
quite some time)
You could try changing the flag back to GFP_KERNEL and see what happens.
I see if what I can do about convincing pagbug_page_io to do retries.
Digital Elves inc. -- Currently on loan to SGI
Linux XFS core developer.