mm: don't include <linux/blkdev.h> in <linux/backing-dev.h>
[sfrench/cifs-2.6.git] / mm / backing-dev.c
index 5245744437dc93e3e3dea6b4c91cbb0ddd1ab7dd..c878d995af06ef3b5cb1c20238c73ce0b1816b44 100644 (file)
@@ -978,6 +978,22 @@ void bdi_put(struct backing_dev_info *bdi)
 }
 EXPORT_SYMBOL(bdi_put);
 
+struct backing_dev_info *inode_to_bdi(struct inode *inode)
+{
+       struct super_block *sb;
+
+       if (!inode)
+               return &noop_backing_dev_info;
+
+       sb = inode->i_sb;
+#ifdef CONFIG_BLOCK
+       if (sb_is_blkdev_sb(sb))
+               return I_BDEV(inode)->bd_disk->bdi;
+#endif
+       return sb->s_bdi;
+}
+EXPORT_SYMBOL(inode_to_bdi);
+
 const char *bdi_dev_name(struct backing_dev_info *bdi)
 {
        if (!bdi || !bdi->dev)