Re: [PATCH 07/12] fs: export inode_to_bdi and use it in favor of mapping->backing_dev_info

Christoph Hellwig
2015-01-12T12:36:35Z

On Sun, Jan 11, 2015 at 01:16:51PM -0500, Tejun Heo wrote:
> > +struct backing_dev_info *inode_to_bdi(struct inode *inode)
> > {
> > struct super_block *sb = inode->i_sb;
> > #ifdef CONFIG_BLOCK
> > @@ -75,6 +75,7 @@ static inline struct backing_dev_info *inode_to_bdi(struct inode *inode)
> > #endif
> > return sb->s_bdi;
> > }
> > +EXPORT_SYMBOL_GPL(inode_to_bdi);
>
> This is rather trivial. Maybe we wanna make this an inline function?

Without splitting backing-dev.h this leads recursive includes. With
the split of that file in your series we could make it inline again.

Another thing I've through of would be to always dynamically allocate
bdis instead of embedding them. This would stop the need to have
backing-dev.h included in blkdev.h and would greatly simply the filesystems
that allocated bdis on their own.