]> www.infradead.org Git - users/hch/block.git/commitdiff
blk-crypto: pass a gendisk to blk_crypto_sysfs_{,un}register
authorChristoph Hellwig <hch@lst.de>
Sat, 21 May 2022 09:08:58 +0000 (11:08 +0200)
committerChristoph Hellwig <hch@lst.de>
Thu, 10 Nov 2022 10:36:19 +0000 (11:36 +0100)
Prepare for changes to the block layer sysfs handling by passing the
readily available gendisk to blk_crypto_sysfs_{,un}register.

Signed-off-by: Christoph Hellwig <hch@lst.de>
block/blk-crypto-internal.h
block/blk-crypto-sysfs.c
block/blk-sysfs.c

index e6818ffaddbf8e36b0a0df1977b94767fc12b696..b8a00847171f6122863ce6e605421e579b4352ad 100644 (file)
@@ -21,9 +21,9 @@ extern const struct blk_crypto_mode blk_crypto_modes[];
 
 #ifdef CONFIG_BLK_INLINE_ENCRYPTION
 
-int blk_crypto_sysfs_register(struct request_queue *q);
+int blk_crypto_sysfs_register(struct gendisk *disk);
 
-void blk_crypto_sysfs_unregister(struct request_queue *q);
+void blk_crypto_sysfs_unregister(struct gendisk *disk);
 
 void bio_crypt_dun_increment(u64 dun[BLK_CRYPTO_DUN_ARRAY_SIZE],
                             unsigned int inc);
@@ -67,12 +67,14 @@ static inline bool blk_crypto_rq_is_encrypted(struct request *rq)
 
 #else /* CONFIG_BLK_INLINE_ENCRYPTION */
 
-static inline int blk_crypto_sysfs_register(struct request_queue *q)
+static inline int blk_crypto_sysfs_register(struct gendisk *disk)
 {
        return 0;
 }
 
-static inline void blk_crypto_sysfs_unregister(struct request_queue *q) { }
+static inline void blk_crypto_sysfs_unregister(struct gendisk *disk)
+{
+}
 
 static inline bool bio_crypt_rq_ctx_compatible(struct request *rq,
                                               struct bio *bio)
index fd93bd2f33b7580f596d5b00f9006dfb2bead608..e05f145cd797f41dd6c1bc9fc99943c4f65b3dca 100644 (file)
@@ -126,8 +126,9 @@ static struct kobj_type blk_crypto_ktype = {
  * If the request_queue has a blk_crypto_profile, create the "crypto"
  * subdirectory in sysfs (/sys/block/$disk/queue/crypto/).
  */
-int blk_crypto_sysfs_register(struct request_queue *q)
+int blk_crypto_sysfs_register(struct gendisk *disk)
 {
+       struct request_queue *q = disk->queue;
        struct blk_crypto_kobj *obj;
        int err;
 
@@ -149,9 +150,9 @@ int blk_crypto_sysfs_register(struct request_queue *q)
        return 0;
 }
 
-void blk_crypto_sysfs_unregister(struct request_queue *q)
+void blk_crypto_sysfs_unregister(struct gendisk *disk)
 {
-       kobject_put(q->crypto_kobject);
+       kobject_put(disk->queue->crypto_kobject);
 }
 
 static int __init blk_crypto_sysfs_init(void)
index 02e94c4beff174852f69f771ffa5dae193bbba0a..bd223a3bef47d8940214f1f72baaa099b2bb6234 100644 (file)
@@ -836,7 +836,7 @@ int blk_register_queue(struct gendisk *disk)
                        goto put_dev;
        }
 
-       ret = blk_crypto_sysfs_register(q);
+       ret = blk_crypto_sysfs_register(disk);
        if (ret)
                goto put_dev;
 
@@ -913,7 +913,7 @@ void blk_unregister_queue(struct gendisk *disk)
         */
        if (queue_is_mq(q))
                blk_mq_sysfs_unregister(disk);
-       blk_crypto_sysfs_unregister(q);
+       blk_crypto_sysfs_unregister(disk);
 
        mutex_lock(&q->sysfs_lock);
        elv_unregister_queue(q);