On Thu, Aug 27, 2026 at 09:07:16AM -0700, Linlin Zhang wrote: > From: linlzhan <[email protected]> > > bio_crypt_dun_increment() is currently declared only in > block/blk-crypto-internal.h, which is not accessible to code > outside of block/. Drivers that manage inline-encrypted I/O > directly need to advance the DUN across bio_vecs within a bio, > or across multiple bios in a request, and have no other way > to call this function. > > Move the declaration from block/blk-crypto-internal.h to > include/linux/blk-crypto.h alongside the existing > bio_crypt_dun_is_contiguous() and blk_crypto_init_key() > declarations. The implementation in block/blk-crypto.c is > unchanged. > > Signed-off-by: linlzhan <[email protected]> > --- > block/blk-crypto-internal.h | 3 --- > include/linux/blk-crypto.h | 3 +++ > 2 files changed, 3 insertions(+), 3 deletions(-)
Other include/linux/blk-crypto.h functions export their symbols. Does bio_crypt_dun_increment() need EXPORT_SYMBOL_GPL() like bio_crypt_set_ctx() and friends? > > diff --git a/block/blk-crypto-internal.h b/block/blk-crypto-internal.h > index 04035d237f03..32c720aabba7 100644 > --- a/block/blk-crypto-internal.h > +++ b/block/blk-crypto-internal.h > @@ -26,9 +26,6 @@ int blk_crypto_sysfs_register(struct gendisk *disk); > > void blk_crypto_sysfs_unregister(struct gendisk *disk); > > -void bio_crypt_dun_increment(u64 dun[BLK_CRYPTO_DUN_ARRAY_SIZE], > - unsigned int inc); > - > bool bio_crypt_rq_ctx_compatible(struct request *rq, struct bio *bio); > > bool bio_crypt_ctx_mergeable(struct bio_crypt_ctx *bc1, unsigned int > bc1_bytes, > diff --git a/include/linux/blk-crypto.h b/include/linux/blk-crypto.h > index 33ae52b77522..c9f436b6b2ef 100644 > --- a/include/linux/blk-crypto.h > +++ b/include/linux/blk-crypto.h > @@ -181,6 +181,9 @@ bool bio_crypt_dun_is_contiguous(const struct > bio_crypt_ctx *bc, > unsigned int bytes, > const u64 next_dun[BLK_CRYPTO_DUN_ARRAY_SIZE]); > > +void bio_crypt_dun_increment(u64 dun[BLK_CRYPTO_DUN_ARRAY_SIZE], > + unsigned int inc); > + > int blk_crypto_init_key(struct blk_crypto_key *blk_key, > const u8 *key_bytes, size_t key_size, > enum blk_crypto_key_type key_type, > -- > 2.34.1 >
signature.asc
Description: PGP signature

