1. 09 11月, 2021 1 次提交
  2. 22 10月, 2021 1 次提交
    • E
      blk-crypto: rename blk_keyslot_manager to blk_crypto_profile · cb77cb5a
      Eric Biggers 提交于
      blk_keyslot_manager is misnamed because it doesn't necessarily manage
      keyslots.  It actually does several different things:
      
        - Contains the crypto capabilities of the device.
      
        - Provides functions to control the inline encryption hardware.
          Originally these were just for programming/evicting keyslots;
          however, new functionality (hardware-wrapped keys) will require new
          functions here which are unrelated to keyslots.  Moreover,
          device-mapper devices already (ab)use "keyslot_evict" to pass key
          eviction requests to their underlying devices even though
          device-mapper devices don't have any keyslots themselves (so it
          really should be "evict_key", not "keyslot_evict").
      
        - Sometimes (but not always!) it manages keyslots.  Originally it
          always did, but device-mapper devices don't have keyslots
          themselves, so they use a "passthrough keyslot manager" which
          doesn't actually manage keyslots.  This hack works, but the
          terminology is unnatural.  Also, some hardware doesn't have keyslots
          and thus also uses a "passthrough keyslot manager" (support for such
          hardware is yet to be upstreamed, but it will happen eventually).
      
      Let's stop having keyslot managers which don't actually manage keyslots.
      Instead, rename blk_keyslot_manager to blk_crypto_profile.
      
      This is a fairly big change, since for consistency it also has to update
      keyslot manager-related function names, variable names, and comments --
      not just the actual struct name.  However it's still a fairly
      straightforward change, as it doesn't change any actual functionality.
      
      Acked-by: Ulf Hansson <ulf.hansson@linaro.org> # For MMC
      Reviewed-by: NMike Snitzer <snitzer@redhat.com>
      Reviewed-by: NMartin K. Petersen <martin.petersen@oracle.com>
      Signed-off-by: NEric Biggers <ebiggers@google.com>
      Link: https://lore.kernel.org/r/20211018180453.40441-4-ebiggers@kernel.orgSigned-off-by: NJens Axboe <axboe@kernel.dk>
      cb77cb5a
  3. 20 10月, 2021 1 次提交
  4. 19 10月, 2021 4 次提交
  5. 18 10月, 2021 9 次提交
  6. 24 8月, 2021 1 次提交
  7. 06 8月, 2021 1 次提交
  8. 01 7月, 2021 1 次提交
  9. 18 6月, 2021 1 次提交
  10. 12 6月, 2021 4 次提交
  11. 22 4月, 2021 1 次提交
  12. 05 3月, 2021 2 次提交
  13. 10 2月, 2021 1 次提交
  14. 25 1月, 2021 2 次提交
  15. 10 12月, 2020 2 次提交
  16. 08 12月, 2020 1 次提交
    • M
      blk-mq: add new API of blk_mq_hctx_set_fq_lock_class · fb01a293
      Ming Lei 提交于
      flush_end_io() may be called recursively from some driver, such as
      nvme-loop, so lockdep may complain 'possible recursive locking'.
      Commit b3c6a599("block: Fix a lockdep complaint triggered by
      request queue flushing") tried to address this issue by assigning
      dynamically allocated per-flush-queue lock class. This solution
      adds synchronize_rcu() for each hctx's release handler, and causes
      horrible SCSI MQ probe delay(more than half an hour on megaraid sas).
      
      Add new API of blk_mq_hctx_set_fq_lock_class() for these drivers, so
      we just need to use driver specific lock class for avoiding the
      lockdep warning of 'possible recursive locking'.
      Tested-by: NKashyap Desai <kashyap.desai@broadcom.com>
      Reported-by: NQian Cai <cai@redhat.com>
      Cc: Sumit Saxena <sumit.saxena@broadcom.com>
      Cc: John Garry <john.garry@huawei.com>
      Cc: Kashyap Desai <kashyap.desai@broadcom.com>
      Cc: Bart Van Assche <bvanassche@acm.org>
      Cc: Hannes Reinecke <hare@suse.de>
      Signed-off-by: NMing Lei <ming.lei@redhat.com>
      Reviewed-by: NHannes Reinecke <hare@suse.de>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      fb01a293
  17. 02 12月, 2020 1 次提交
  18. 29 10月, 2020 1 次提交
  19. 04 9月, 2020 4 次提交
  20. 02 9月, 2020 1 次提交