The biggest problem here would be to identify the need for buffers. The number of disk operations doesn't necessarily correlate with it (but in practice I guess it would be close enough).
This surely is possible, (un?)fortunately I have 1GB memory so I can have full buffers with my partitions. This should not be too hard to implement, however: Some patch to capture packet I/O to the handler and then signal the helper process to call AddBuffers() accordingly to filesystem usage.