Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Branch: master
Commits on Jun 1, 2011
  1. 1) Add "write around" caching mode to flashcache_wt. In this mode only

    Mohan Srinivasan authored
    reads are cached. All writes result in cache invalidations and writes
    to disk. Suitable for read mostly workloads. Use the new -r argument
    to flashcache_wt_create to choose "write around".
    2) Make flashcache block checksums a compile time selection.
Commits on Apr 30, 2011
  1. Adding missing includes to wt mode Makefile.

    Mohan Srinivasan authored
    Contributed by Arne Wiebalck.
Commits on Apr 20, 2011
  1. Fixes to get flashcache building on >= 2.6.37.

    Mohan Srinivasan authored
    Contributed by TAIRA Hajime.
  2. Remove unplug calls. Not needed any more at all. This causes flashcac…

    Mohan Srinivasan authored
    …he to
    not build on 2.6.39.
    Caught, tested by Sergey Vidyuk.
Commits on Apr 18, 2011
  1. Fix for a potential integer overflow bug.

    Mohan Srinivasan authored
    Contributed by Tao Ma.
Commits on Apr 12, 2011
  1. Remove flashcache.mod.c which accidentally got committed and pushed.

    Mohan Srinivasan authored
    Thanks to Tao Ma for pointing that out.
Commits on Apr 6, 2011
  1. Update email id in the source comments. Emails to my old

    Mohan Srinivasan authored
    email id bounce.
  2. Document the idle cleaning support.

    Mohan Srinivasan authored
Commits on Mar 31, 2011
  1. Fix for a bug in flashcache_init(), where the wrong size was being

    Mohan Srinivasan authored
    passed into kmalloc() for an allocation.
    Fixed contributed by Tao Ma.
Commits on Mar 23, 2011
  1. Bounds on fallow_clean_speed.

    Mohan Srinivasan authored
Commits on Mar 22, 2011
  1. Fix a race in the pending logic, which would cause us to miss processing

    Mohan Srinivasan authored
    pending, queued jobs.
  2. Add a fallow_clean_speed knob. This controls the rate at which fallow

    Mohan Srinivasan authored
    cleaning is done.
  3. Revert the finegrained locking changes. There are subtle races that

    Mohan Srinivasan authored
    show up under load that I still need to debug and fix.
Commits on Mar 16, 2011
  1. Fine grained locking of flashcache. Break up the big cache spin lock

    Mohan Srinivasan authored
    into smaller locks, introducing per-cache set spinlocks.
Commits on Mar 8, 2011
  1. Change the fallow cleaning default (from 1 min to 15 mins) to slow

    Mohan Srinivasan authored
    down idle dirty block cleaning. And fix something I broke in the
    previous commit.
  2. Fix a bug in the fallow disk cleaning logic. The bug caused hyper

    Mohan Srinivasan authored
    aggressive disk cleaning when fallow dirty block cleaning was
Commits on Mar 7, 2011
  1. Added checking return value from system(dmsetup_cmd), and exit(1)

    Mohan Srinivasan authored
    if non-zero, in flashcache_create.c and flashcache_load.c. This helps
    using the utils in scripts.
    Contributed by Alexander Nezhinsky (Mellanox).
Commits on Mar 2, 2011
  1. Added independent evaluation of COMMIT_REV, overriden from input

    Mohan Srinivasan authored
    to be used when make is called from src or src/utils.
    Contributed by Alexander Nezhinsky.
Commits on Mar 1, 2011
  1. IO latency histograms added.

    Mohan Srinivasan authored
    Latency histograms are reported via 'dmsetup status'. This is disabled
    by default, because latencies are computed using gettimeofday, so
    depending on the clocksource, this can be quite expensive. To enable
    computation and reporting of IO latency histogram, enable the
    flashcache.io_latency_hist sysctl.
  2. Move stats and errors into their own structs.

    Mohan Srinivasan authored
  3. Clean up formatting of dmsetup status.

    Mohan Srinivasan authored
Commits on Feb 22, 2011
  1. Fix a race in the device (slow) removal path. The race is one where

    Mohan Srinivasan authored
    a background set cleaning schedules a delayed cleaning. The delayed
    cleaning (from workqueue) happens after the device is completely gone,
    causing a panic. To fix this, when the device is being removed, stop
    all background set cleanings first. Once all blocks have been cleaned,
    cancel any pending delayed work items, and flush workqueue to wait
    for everything to finish.
  2. Fix a bug where the expiry for an item on the whitelist or blacklist

    Mohan Srinivasan authored
    isn't initialized correctly. This fix is only relevant for cases where
    expiring nodes from the white/black list is enabled (ie. it is only
    relevant when the do_pid_expiry sysctl is enabled).
  3. Adds a second block cleaning heuristic. Clean dirty blocks based on

    Mohan Srinivasan authored
    some amount of "inactivity". The default policy is to clean dirty
    blocks that were inactive for the last 60 seconds. But this can be
    changed with fallow_delay (seconds). Setting fallow_delay to 0 completely
    turns off the "clean based on inactivity" policy.
  4. Slight addition to the previous Makefile commit, adding

    Mohan Srinivasan authored
    -I$(KERNEL_TREE)/include/ to CFLAGS, per Vadim's fix.
  5. Makefile cleanups contributed by Alexander Nezhinsky (of Voltaire).

    Mohan Srinivasan authored
    Thanks also to Vadim Tkachenko and Or Gerlitz for suggesting the
    fix of adding $(KERNEL_TREE)/include/linux to CFLAGS.
Commits on Feb 16, 2011
  1. 1) Fix for a critical (and rather embarassing) copy-paste bug in the

    Mohan Srinivasan authored
    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.
Commits on Feb 13, 2011
  1. Added a "thanks to Earle Philhower" comment to the sa-guide for the c…

    Mohan Srinivasan authored
    metadata blocksize feature.
Commits on Feb 12, 2011
  1. Document "flashcache_create -m" in the SA guide.

    Mohan Srinivasan authored
  2. 1) Support for configurable flashcache metadata block sizes. This cha…

    Mohan Srinivasan authored
    …nge allows
    us to configure a 4KB or 8KB (or larger) metadata blocksize.
    2) The start of the metadata region and data region on the cache device is
    aligned to the metadata blocksize.
    3) Adds a -m argument to flashcache_create to optionally configure the metadata
    blocksize. Default is 4KB.
    4) Flashcache on-ssd revision bump.
    See the flashcache sa-guide for more detail.
    This change authored by Earle Philhower of Virident (earle at virident dot com)
    with help from Mohan.
Commits on Jan 26, 2011
  1. When syncing dirty blocks from a cache removal, flashcache could flood

    Mohan Srinivasan authored
    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.
Commits on Jan 23, 2011
  1. Fix the dirty percent calculation in update_sync_progress().

    Mohan Srinivasan authored
Commits on Jan 19, 2011
  1. Replace the one use of float (in the dmsetup table path) and replace

    Mohan Srinivasan authored
    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
    Thanks to Jens Axboe for pointing this bug out.
  2. Clear the stop_sync state when starting up a sync. This fixes a bug

    Mohan Srinivasan authored
    there a (slow) dmsetup remove hangs forever while cleaning dirty
    blocks if a stop_sync was ever done.
  3. Fix a couple of typos in the optimal XFS agsize/agcount computations.

    Mohan Srinivasan authored
    Spotted by Feng Yu.
Something went wrong with that request. Please try again.