04 Aug, 2011

1 commit

  • init_fault_attr_dentries() is used to export fault_attr via debugfs.
    But it can only export it in debugfs root directory.

    Per Forlin is working on mmc_fail_request which adds support to inject
    data errors after a completed host transfer in MMC subsystem.

    The fault_attr for mmc_fail_request should be defined per mmc host and
    export it in debugfs directory per mmc host like
    /sys/kernel/debug/mmc0/mmc_fail_request.

    init_fault_attr_dentries() doesn't help for mmc_fail_request. So this
    introduces fault_create_debugfs_attr() which is able to create a
    directory in the arbitrary directory and replace
    init_fault_attr_dentries().

    [akpm@linux-foundation.org: extraneous semicolon, per Randy]
    Signed-off-by: Akinobu Mita
    Tested-by: Per Forlin
    Cc: Jens Axboe
    Cc: Christoph Lameter
    Cc: Pekka Enberg
    Cc: Matt Mackall
    Cc: Randy Dunlap
    Cc: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     

27 Jul, 2011

3 commits


27 Feb, 2010

1 commit

  • This patch allow to inject faults only for specific slabs.
    In order to preserve default behavior cache filter is off by
    default (all caches are faulty).

    One may define specific set of slabs like this:
    # mark skbuff_head_cache as faulty
    echo 1 > /sys/kernel/slab/skbuff_head_cache/failslab
    # Turn on cache filter (off by default)
    echo 1 > /sys/kernel/debug/failslab/cache-filter
    # Turn on fault injection
    echo 1 > /sys/kernel/debug/failslab/times
    echo 1 > /sys/kernel/debug/failslab/probability

    Acked-by: David Rientjes
    Acked-by: Akinobu Mita
    Acked-by: Christoph Lameter
    Signed-off-by: Dmitry Monakhov
    Signed-off-by: Pekka Enberg

    Dmitry Monakhov
     

29 Dec, 2008

1 commit

  • Currently fault-injection capability for SLAB allocator is only
    available to SLAB. This patch makes it available to SLUB, too.

    [penberg@cs.helsinki.fi: unify slab and slub implementations]
    Cc: Christoph Lameter
    Cc: Matt Mackall
    Signed-off-by: Akinobu Mita
    Signed-off-by: Pekka Enberg

    Akinobu Mita
     

09 Dec, 2006

5 commits

  • Assign defaults most likely to please a new user:
    1) generate some logging output
    (verbose=2)
    2) avoid injecting failures likely to lock up UI
    (ignore_gfp_wait=1, ignore_gfp_highmem=1)

    Signed-off-by: Don Mullis
    Cc: Akinobu Mita
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Don Mullis
     
  • Use bool-true-false throughout.

    Signed-off-by: Don Mullis
    Cc: Akinobu Mita
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Don Mullis
     
  • This patch provides stacktrace filtering feature.

    The stacktrace filter allows failing only for the caller you are
    interested in.

    For example someone may want to inject kmalloc() failures into
    only e100 module. they want to inject not only direct kmalloc() call,
    but also indirect allocation, too.

    - e100_poll --> netif_receive_skb --> packet_rcv_spkt --> skb_clone
    --> kmem_cache_alloc

    This patch enables to detect function calls like this by stacktrace
    and inject failures. The script Documentaion/fault-injection/failmodule.sh
    helps it.

    The range of text section of loaded e100 is expected to be
    [/sys/module/e100/sections/.text, /sys/module/e100/sections/.exit.text)

    So failmodule.sh stores these values into /debug/failslab/address-start
    and /debug/failslab/address-end. The maximum stacktrace depth is specified
    by /debug/failslab/stacktrace-depth.

    Please see the example that demonstrates how to inject slab allocation
    failures only for a specific module
    in Documentation/fault-injection/fault-injection.txt

    [dwm@meer.net: reject failure if any caller lies within specified range]
    Signed-off-by: Akinobu Mita
    Signed-off-by: Don Mullis
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     
  • This patch provides process filtering feature.
    The process filter allows failing only permitted processes
    by /proc//make-it-fail

    Please see the example that demostrates how to inject slab allocation
    failures into module init/cleanup code
    in Documentation/fault-injection/fault-injection.txt

    Signed-off-by: Akinobu Mita
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     
  • This patch provides base functions implement to fault-injection
    capabilities.

    - The function should_fail() is taken from failmalloc-1.0
    (http://www.nongnu.org/failmalloc/)

    [akpm@osdl.org: cleanups, comments, add __init]
    Cc:
    Signed-off-by: Akinobu Mita
    Signed-off-by: Don Mullis
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita