[PATCH v3 01/39] fs: introduce a ->s_cdev field into struct super_block

Jan Kara jack at suse.cz
Mon Oct 5 01:36:24 PDT 2015


On Sat 03-10-15 23:31:19, Christoph Hellwig wrote:
> On Tue, Sep 15, 2015 at 05:01:56PM +0800, Dongsheng Yang wrote:
> > There are some filesystems are running on char devs, such
> > as ubifs. So we need a field in super_block to hold a
> > reference to the char device.
> 
> We only care about the block device to get a device number to return
> in st.st_dev.  And while filesystem literally run on top of a block
> device that is not the case of a character device - you might use a
> chardev to identify a device to mount but it'll never use the actual
> char device.
> 
> So please don't bloat the superblock with this.

Hum, interesting idea. You're right that using anon bdev ubifs got assigned
in set_anon_super() would work as well. It may be slightly confusing for
quota-tools usage where specifying char device on command line would not
work (specifying block device to identify filesystem works there). But
using mount point would work fine so the situation would be the same as
with network filesystems.

We could even add a translation in quota-tools to convert char device to
corresponding anon block device if there's a reasonably simple way to do
that in userspace or we could translate in quotactl code in kernel if
that's any easier. But currently I don't see a way how we could easily do
either of those.

								Honza
-- 
Jan Kara <jack at suse.com>
SUSE Labs, CR



More information about the linux-mtd mailing list