Hello, I'm writing a block device driver for a device who's data might change without the kernel performing any specific writes. I'm looking for a way to inform any upstream caches that the data it holds is no longer valid and must be discarded. I've found APIs for flushing caches *to* the block device, but none that makes sense to call within the context of the block device driver itself when it has learned the underlying device itself has changed. Can anyone point me to the proper APIs?