Re: nfs mmap adventure (was: 2.6.23-mm1)

From: David Howells
Date: Mon Oct 15 2007 - 10:06:52 EST


Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:

> I get funny SIGBUS' like so:
>
> fault
> if (->page_mkwrite() < 0)
> nfs_vm_page_mkwrite()
> nfs_write_begin()
> nfs_flush_incompatible()
> nfs_wb_page()
> nfs_wb_page_priority()
> nfs_sync_mapping_wait()
> nfs_wait_on_request_locked()
> nfs_wait_on_request()
> nfs_wait_bit_interruptible()
> return -ERESTARTSYS
> SIGBUS
>
> trying to figure out what to do about this...
>

Hmmm... It sounds like the fault handler should deliver the appropriate
signal, should ->page_mkwrite() return ERESTARTSYS, and then retry the access
instruction that caused the fault when the signal handler has finished
running.

David

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/