Re: Regression caused by using node_to_bdi()

From: Boaz Harrosh
Date: Mon Apr 13 2015 - 08:44:19 EST


On 04/13/2015 03:21 PM, Jan Kara wrote:
<>
>> -struct backing_dev_info *inode_to_bdi(struct inode *inode);
>> +struct backing_dev_info *__inode_to_bdi(struct inode *inode);
>> +
>> +static inline
>> +struct backing_dev_info *inode_to_bdi(struct inode *inode)
>> +{
>> + if (!inode || !inode->i_sb)
>> + return __inode_to_bdi(inode);
>> +
>> + return inode->i_sb->s_bdi;
>> +}
> This is wrong for block-device inodes, isn't it?

Rrr yes my bad I meant

+struct backing_dev_info *inode_to_bdi(struct inode *inode)
+{
+ if (!inode || !inode->i_sb || !inode->i_sb->s_bdi)
+ return __inode_to_bdi(inode);
+
+ return inode->i_sb->s_bdi;
+}

I was hopping that blockdev_superblock->s_bdi == NULL
because what sb_is_blkdev_sb() is doing is checking
for blockdev_superblock.

>From code audit I do not see where it might be set but
I might have missed it.

Thanks Jan
Boaz

>
> Honza
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/