Messages in this thread | | | Date | Thu, 29 Jul 2010 04:12:10 -0400 | From | Christoph Hellwig <> | Subject | Re: [PATCH 1/3] bdi: Use parent filesystem BDI for inodes not capable of writeback |
| |
Given that we only need the per-mapping one for the bdev fs what about doing:
/* * Return the writeback-relevant backing device for this inode. * * For a normal filesystem this must always be the bdi hanging off the * superblock, given that we only expect one bdi per filesystems in * the per-superblock sync functions. But the block device special * filesystem requires a quick given that it contains the internal * I/O inodes for block devices on a single superblock. This works * because the block deevice filesystem inodes are never user visible * and we will never do a per-superblock sync on it. */ static struct backing_dev_info *inode_to_bdi(struct inode *inode) { if (inode->i_sb == blockdev_superblock) return inode->i_mapping->backing_dev_info; return inode->i_sb->s_bdi; }
that also avoids the need for doing the bdi capabilities audit ASAP.
| |