From: Omar Sandoval <osandov@xxxxxx> Hi, This is a different approach from v1 [1] of this series to stop abusing current->journal_info in Btrfs. This approach unifies everything to use iocb->private instead of map_bh->b_private. Patches 1 and 5 pass the iocb to a couple of callbacks which need it. Patches 2 and 3 migrates the users of b_private to use iocb->private, and patch 4 gets rid of the b_private handling in the direct I/O code. Patch 6 cleans up Btrfs. I'm not convinced that this is cleaner that my first approach, but it at least avoids growing the argument list to do_blockdev_direct_IO(), which was Al's complaint of v1. Thanks! 1: https://www.spinics.net/lists/linux-btrfs/msg77859.html Omar Sandoval (6): fs: pass iocb to direct I/O get_block() ext4: use iocb->private instead of bh->b_private ocfs2: use iocb->private instead of bh->b_private fs: stop propagating bh->b_private for direct I/O fs: pass iocb to direct I/O submit_io() Btrfs: stop abusing current->journal_info in btrfs_direct_IO() fs/affs/file.c | 9 ++++++- fs/btrfs/inode.c | 36 +++++++------------------ fs/direct-io.c | 23 +++++++--------- fs/ext2/inode.c | 9 ++++++- fs/ext4/ext4.h | 2 -- fs/ext4/inode.c | 40 ++++++++++++++++------------ fs/f2fs/data.c | 5 ++-- fs/fat/inode.c | 9 ++++++- fs/gfs2/aops.c | 5 ++-- fs/hfs/inode.c | 9 ++++++- fs/hfsplus/inode.c | 9 ++++++- fs/jfs/inode.c | 9 ++++++- fs/nilfs2/inode.c | 9 ++++++- fs/ocfs2/aops.c | 39 ++++++++++++++------------- fs/ocfs2/aops.h | 64 ++++++++++++++++++++++++++++++--------------- fs/reiserfs/inode.c | 4 +-- fs/udf/inode.c | 9 ++++++- include/linux/fs.h | 17 ++++++------ 18 files changed, 187 insertions(+), 120 deletions(-) -- 2.18.0