• Aneesh Kumar K.V's avatar
    blktrace: Make sure BLKTRACETEARDOWN does the full cleanup. · 35fc51e7
    Aneesh Kumar K.V authored
    if blktrace program segfault it will not be able
    to call BLKTRACETEARDOWN. Now if we run the blktrace
    again that would result in a failure to create the
    block/<device> debugfs directory.This will result
    in blk_remove_root() to be called which will set
    blk_tree_root to NULL. But the  debugfs block dir
    still exist because it contain subdirectory.
    
    Now if we try to fix it using BLKTRACETEARDOWN
    it won't work because blk_tree_root is NULL.
    
    Fix the same.
    
    Tested as below
    
    root@qemu-image:/home/kvaneesh/blktrace# ./blktrace  -d /dev/hdc
    Segmentation fault
    root@qemu-image:/home/kvaneesh/blktrace# ./blktrace  -d /dev/hdc
    BLKTRACESETUP: No such file or directory
    Failed to start trace on /dev/hdc
    root@qemu-image:/home/kvaneesh/blktrace# ./blktrace  -k /dev/hdc
    root@qemu-image:/home/kvaneesh/blktrace# ./blktrace  -d /dev/hdc
    Signed-off-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
    Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
    35fc51e7
blktrace.c 12.8 KB