Fix suggested by several people (Vadim, Or, Alexander).
previous commit. The bug only really affects writethrough mode. This bug can corrupt filesystems, because it confuses the cache_dev and disk_dev. 2) Adding a bunch of stats while at it.
printks (cleaning progress updates). This can cause node hangs. Ratelimit these progress update printks to avoid this. Huge thanks to Feng Yu for finding this bug, narrowing it down to the printk as the proble and, testing the fix. Thanks also to Jens Axboe for spending time on this.
it with u_int64_t. Usage of float (without saving and restoring fp state across the math) is a bug because it corrupts userspace fp state. Thanks to Jens Axboe for pointing this bug out.
there a (slow) dmsetup remove hangs forever while cleaning dirty blocks if a stop_sync was ever done.
Spotted by Feng Yu.
of the data write. This fixes a deadlock caused by an IO completion thread blocking on a write. Thanks to Feng Yu for finding, reporting the bug and Jens Axboe for the fix.
the fix for the Ubuntu/Debian sysctl fixes. Thanks to Feng Yu for reporting and fixing this.
dm_get_device wrapper (flashcache_get_dev()) was introduced, a few days ago. The size of the disk dev was being truncated to fit in a int32. Thanks to Feng Yu for catching the bug and providing a fix.
…vity. 2) Fixes for lots of minor bugs in flashcache_create. Patch submitted by Krzysztof Blaszkowski.
Patch submitted by Krzysztof Blaszkowski.
…t by the flashcache utils. Patch contributed by Krzysztof Blaszkowski.
… dm_get_device(). Patch contributed by Krzysztof Blaszkowski.
the sysctl interface on these platforms works. Thanks to : Hector Izquierdo Seliva for researching, providing, testing the fix. Michael Iverson and Moritz for testing the fix.
IO to it. This was done a long time ago to optimize for a perverse workload, but it breaks almost all common workloads by inhibiting request merging. This change reduces ssd %util significantly and has other beneficial effects.
Thanks to Krzysztof Blaszkowski for catching this and providing a fix for this.
compiling on RHEL6 and make intall.
releases (between .22 and .29).
block layer to -EIO.
is found to hang IOs (reads) on 2.6.18 (originally tested on later kernels where the hang was not seen). The change being reverted : commit 9f9914a Date: Tue Aug 17 13:32:45 2010 -0700 Changes to the cache miss (readfill) path to send out longer (sorted) chains of writes to the ssd. 2) Add a log message for disk errors in the uncached IO path.
…d IOs. 2) Add a counter for a specific case in the uncached IO path.
by cutting down the per-block in-memory metadata by 1/3. This results in big savings. For a 600GB cache this cuts down the memory footprint by 1.2GB, for a 300GB cache, the savings is 600MB.