On Mon 24-09-12 15:44:11, Dmitry Monakhov wrote: > Generic inode has unused i_private pointer which may be used as cur_aio_dio > storage. > > TODO: If cur_aio_dio will be passed as an argument to get_block_t this allow > to have concurent AIO_DIO requests. > > Reviewed-by: Zheng Liu <wenqing.lz@xxxxxxxxxx> > Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> > --- > fs/ext4/ext4.h | 5 +++-- > fs/ext4/extents.c | 4 ++-- > fs/ext4/inode.c | 6 +++--- > fs/ext4/super.c | 1 - > 4 files changed, 8 insertions(+), 8 deletions(-) > > diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h > index 8b6902c..e59fbc5 100644 > --- a/fs/ext4/ext4.h > +++ b/fs/ext4/ext4.h > @@ -912,8 +912,6 @@ struct ext4_inode_info { > struct list_head i_completed_io_list; > spinlock_t i_completed_io_lock; > atomic_t i_ioend_count; /* Number of outstanding io_end structs */ > - /* current io_end structure for async DIO write*/ > - ext4_io_end_t *cur_aio_dio; > atomic_t i_aiodio_unwritten; /* Nr. of inflight conversions pending */ > > spinlock_t i_block_reservation_lock; > @@ -929,6 +927,9 @@ struct ext4_inode_info { > __u32 i_csum_seed; > }; > > +/* current io_end structure for async DIO write */ > +#define EXT4_CUR_AIO_DIO(inode) (inode)->i_private Inline functions are prefered over macros (due to type checks they provide etc.). Also that will allow you to get rid of those type casts when using EXT4_CUR_AIO_DIO(). So please make a pair of get/set inline functions out of this macro. Honza -- Jan Kara <jack@xxxxxxx> SUSE Labs, CR -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html