::http://yoyodyne.ath.cx/tmp/LPIC0028.JPG
::
::I can't provide a core dump because this box refuses to dump, it gets
::stuck at the first MB (prints "1023" and just sits there).
::
::Sascha
::
::--
::http://yoyodyne.ath.cx
:
: Ugh, I must have broken something in the putpages code. I'll look
: into it.
I think I muffed up putpages when I tried to fix msdosfs. I thought
the pages were busied but it looks like they aren't busied. In fact,
it looks like the caller already properly soft-busies the pages so
I dont need to do that either.
Tell me if this patch works.
-Matt
Matthew Dillon
<dillon@backplane.com>
Index: vnode_pager.c
===================================================================
RCS file: /cvs/src/sys/vm/vnode_pager.c,v
retrieving revision 1.38
diff u -p -r1.38 vnode_pager.c
-- vnode_pager.c 22 Aug 2007 16:56:52 -0000 1.38
+++ vnode_pager.c 25 Aug 2007 23:20:54 -0000
@ -655,6 +655,7
@ }
}
}
+#if 0
/*
* Severe hack to avoid deadlocks with the buffer cache
*/
@ -664,6 +665,7
@
vm_page_io_start(mt);
vm_page_wakeup(mt);
}
+#endif
/*
* pageouts are already clustered, use IO_ASYNC to force a bawrite()
@ -703,10 +705,13
@ "vnode_pager_putpages: residual I
auio.uio_resid, (u_long)m[0]->pindex);
}
for (i = 0; i < ncount; i++) {
#if 0
vm_page_t mt = m[i];
#endif
rtvals[i] = VM_PAGER_OK;
+#if 0
/*
* Severe hack to avoid deadlocks with the buffer cache
*/
@ -714,6 +719,7
@ while (vm_page_sleep_busy(mt, FALSE, "
;
vm_page_busy(mt);
vm_page_io_finish(mt);
+#endif
}
return rtvals0;
}