Save a pointer in the kiocb by using a few bits in ki_flags to index a table of completion functions. Matthew Wilcox (Oracle) (2): fs: Abstract calling the kiocb completion function fs: Remove kiocb->ki_complete crypto/af_alg.c | 2 +- drivers/block/loop.c | 14 +++++++-- drivers/nvme/target/core.c | 10 +++++- drivers/nvme/target/io-cmd-file.c | 10 +++--- drivers/nvme/target/nvmet.h | 2 ++ drivers/target/target_core_file.c | 20 ++++++++++-- drivers/usb/gadget/function/f_fs.c | 2 +- drivers/usb/gadget/legacy/inode.c | 4 +-- fs/aio.c | 50 ++++++++++++++++-------------- fs/block_dev.c | 2 +- fs/ceph/file.c | 2 +- fs/cifs/file.c | 8 ++--- fs/direct-io.c | 2 +- fs/fuse/file.c | 2 +- fs/io_uring.c | 14 ++++++--- fs/iomap/direct-io.c | 3 +- fs/nfs/direct.c | 2 +- fs/ocfs2/file.c | 7 +++-- fs/overlayfs/file.c | 17 +++++++--- fs/read_write.c | 36 +++++++++++++++++++++ include/linux/fs.h | 23 ++++++++++++-- 21 files changed, 168 insertions(+), 64 deletions(-) -- 2.27.0