Actual usage of files in ubifs

Ricard Wanderlof ricard.wanderlof at axis.com
Tue Sep 12 02:15:25 PDT 2017


On Mon, 11 Sep 2017, Richard Weinberger wrote:

> Am Montag, 11. September 2017, 17:44:09 CEST schrieb Artem Bityutskiy:
> > > Good point. I was solely thinking along the lines of how much space
> > > the
> > > actual file occupied, not considering metadata. That would be a good
> > > starting point. I'm guessing that for moderate file sizes the
> > > metadata
> > > would be relatively small compared to the file itself?
> > 
> > I would think a "slow" version of this would not be that hard to
> > implement - walk the index and sum up node sizes. Subtract header sizes
> > if you do not want metadata.
> > 
> > I am not sure what would be the API? Do other FSes implement something
> > like this?
> 
> I think a "show MTD usage by inode" should be implementable via debugfs.
> Maybe, after a discussion on linux-fsdevel a per-file ioctl().
> 
> But first I'd like to know more about the use-case and where to draw the 
> border. e.g. If a file as xattrs, do you also account them? UBIFS 
> modules xattrs via inodes. So, they have a rather huge space overhead.

In our specific situation the use case is basically that given a specific 
set files (in the root file system), how much flash is actually needed, 
also considering that different types of files have different compression 
ratios depending on the content. I.e. a large text file might not hurt as 
much as a large binary since the former compresses better.

So primarily it is the total amount needed for the whole file system, but 
it quickly comes down how much individual files consume. In our case it's 
not necessary to do the operation on a running file system, but in the 
more general case that might be more useful.

I would think that this is something that is known somewhere inside 
mkfs.ubifs, or is the information too convoluted to be easily extractable?

/Ricard
-- 
Ricard Wolf Wanderlöf                           ricardw(at)axis.com
Axis Communications AB, Lund, Sweden            www.axis.com
Phone +46 46 272 2016                           Fax +46 46 13 61 30



More information about the linux-mtd mailing list