From: Linus Torvalds Date: Tue, 22 Mar 2022 16:50:16 +0000 (-0700) Subject: Merge tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/fscrypt X-Git-Tag: v6.1-rc5~1788 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=881b568756ae55ce7d87b9f001cbbe9d1289893e;p=platform%2Fkernel%2Flinux-starfive.git Merge tag 'fscrypt-for-linus' of git://git./fs/fscrypt/fscrypt Pull fscrypt updates from Eric Biggers: "Add support for direct I/O on encrypted files when blk-crypto (inline encryption) is being used for file contents encryption" * tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/fscrypt: fscrypt: update documentation for direct I/O support f2fs: support direct I/O with fscrypt using blk-crypto ext4: support direct I/O with fscrypt using blk-crypto iomap: support direct I/O with fscrypt using blk-crypto fscrypt: add functions for direct I/O support --- 881b568756ae55ce7d87b9f001cbbe9d1289893e diff --cc fs/iomap/direct-io.c index e2ba136,20325b3..67cf9c1 --- a/fs/iomap/direct-io.c +++ b/fs/iomap/direct-io.c @@@ -183,7 -185,10 +185,9 @@@ static void iomap_dio_zero(const struc int flags = REQ_SYNC | REQ_IDLE; struct bio *bio; - bio = bio_alloc(GFP_KERNEL, 1); + bio = bio_alloc(iter->iomap.bdev, 1, REQ_OP_WRITE | flags, GFP_KERNEL); + fscrypt_set_bio_crypt_ctx(bio, inode, pos >> inode->i_blkbits, + GFP_KERNEL); - bio_set_dev(bio, iter->iomap.bdev); bio->bi_iter.bi_sector = iomap_sector(&iter->iomap, pos); bio->bi_private = dio; bio->bi_end_io = iomap_dio_bio_end_io; @@@ -307,7 -313,10 +311,9 @@@ static loff_t iomap_dio_bio_iter(const goto out; } - bio = bio_alloc(GFP_KERNEL, nr_pages); + bio = bio_alloc(iomap->bdev, nr_pages, bio_opf, GFP_KERNEL); + fscrypt_set_bio_crypt_ctx(bio, inode, pos >> inode->i_blkbits, + GFP_KERNEL); - bio_set_dev(bio, iomap->bdev); bio->bi_iter.bi_sector = iomap_sector(iomap, pos); bio->bi_write_hint = dio->iocb->ki_hint; bio->bi_ioprio = dio->iocb->ki_ioprio;