• Jens Axboe's avatar
    blk-mq: silence false positive warnings in hctx_unlock() · 08b5a6e2
    Jens Axboe authored
    In some stupider versions of gcc, it complains:
    
    block/blk-mq.c: In function ‘blk_mq_complete_request’:
    ./include/linux/srcu.h:175:2: warning: ‘srcu_idx’ may be used uninitialized in this function [-Wmaybe-uninitialized]
      __srcu_read_unlock(sp, idx);
      ^
    block/blk-mq.c:620:6: note: ‘srcu_idx’ was declared here
      int srcu_idx;
          ^
    
    which is completely bogus, since we only use srcu_idx when
    hctx->flags & BLK_MQ_F_BLOCKING is set, and that's the case where
    hctx_lock() has initialized it.
    
    Just set it to '0' in the normal path in hctx_lock() to silence
    this annoying warning.
    
    Fixes: 04ced159 ("blk-mq: move hctx lock/unlock into a helper")
    Fixes: 5197c05e ("blk-mq: protect completion path with RCU")
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    08b5a6e2
blk-mq.c 74.9 KB