Re: [PATCH 1/3] bdi: Use parent filesystem BDI for inodes notcapable of writeback

From: Christoph Hellwig
Date: Tue Jul 27 2010 - 13:09:10 EST


> +static struct backing_dev_info *inode_to_bdi(struct inode *inode)
> +{
> + struct backing_dev_info *bdi = inode->i_mapping->backing_dev_info;
> +
> + /*
> + * This is a hack but it solves a problem with device inode
> + * for e.g. /dev/zero getting dirty (via touch or so) and confusing
> + * writeback code. In such cases we return the "parent" filesystem's
> + * bdi.
> + */
> + if (bdi_cap_writeback_dirty(bdi))
> + return bdi;
> + return inode->i_sb->s_bdi;

When do we ever have a writeback-capable bdi that sits inside another
filesystem? I think just always using inode->i_sb->s_bdi is the right
thing here.

And btw, having a BDI_CAP_NO_WRITEBACK instead of a BDI_CAP_WRITEBACK
is rather dumb, we'd better fix it up while we're at it.

--
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/