Merge tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/fscrypt
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 22 Mar 2022 16:50:16 +0000 (09:50 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 22 Mar 2022 16:50:16 +0000 (09:50 -0700)
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

1  2 
fs/f2fs/data.c
fs/f2fs/f2fs.h
fs/iomap/direct-io.c

diff --cc fs/f2fs/data.c
Simple merge
diff --cc fs/f2fs/f2fs.h
Simple merge
@@@ -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;