From: David Woodhouse <dwmw2@infradead.org>
To: dedekind@infradead.org
Cc: linux-mtd@lists.infradead.org
Subject: Re: Duplication of dirent names in JFFS2 summary
Date: Fri, 19 May 2006 15:59:46 +0100 [thread overview]
Message-ID: <1148050786.3875.175.camel@pmac.infradead.org> (raw)
In-Reply-To: <1148049289.3199.38.camel@sauron.oktetlabs.ru>
On Fri, 2006-05-19 at 18:34 +0400, Artem B. Bityutskiy wrote:
> I'd not take seriously a compression which stably degrades with the
> flow of time. So, I'd no count version and inode. And I have a feeling
> that the gain will not worth the effort, new bugs, new complexities...
Do we have current figures on how much space the summary nodes actually
take?
What I'd actually do, rather than storing inode number and version just
like that, is have a table stored in the summary, containing tuples of
inode number, and the first version number of that inode which is used.
The actual node entries in the summary would then just contain an index
into that table for the inode number, and an offset for the version.
So if we have an eraseblock which contains the following nodes...
{ ino# 143454, version# 2341 }
{ ino# 143454, version# 2342 }
{ ino# 143454, version# 2343 }
{ ino# 209343, version# 342 }
{ ino# 143454, version# 2344 }
{ ino# 209343, version# 343 }
... that would be represented as a table containing
[0]: { ino #143454, first version# 2341 }
[1]: { ino #209343, first version# 342 }
... followed by actual summary entries which just refer to that table,
having { index into inode table, offset from first version } tuples...
{ 0, 0 }
{ 0, 1 }
{ 0, 2 }
{ 1, 0 }
{ 0, 3 }
{ 1, 1 }
And in that case, the numbers _would_ compress reliably, even on old
file systems.
I wonder if using something like rtime would work for compressing
summary blocks, rather than a specific integer encoding...
--
dwmw2
next prev parent reply other threads:[~2006-05-19 14:59 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-19 0:44 Duplication of dirent names in JFFS2 summary David Woodhouse
2006-05-19 1:01 ` David Woodhouse
2006-05-19 11:53 ` David Woodhouse
2006-05-19 11:58 ` Artem B. Bityutskiy
2006-05-19 12:11 ` David Woodhouse
2006-05-19 12:14 ` Artem B. Bityutskiy
2006-05-19 12:31 ` David Woodhouse
2006-05-19 14:34 ` Artem B. Bityutskiy
2006-05-19 14:59 ` David Woodhouse [this message]
2006-05-19 16:41 ` David Woodhouse
2006-05-19 16:43 ` David Woodhouse
2006-05-19 6:05 ` Jörn Engel
2006-05-19 10:08 ` David Woodhouse
2006-05-19 11:32 ` Artem B. Bityutskiy
2006-05-19 11:57 ` Artem B. Bityutskiy
2006-05-19 12:05 ` Artem B. Bityutskiy
2006-05-19 12:23 ` David Woodhouse
2006-05-19 14:17 ` Artem B. Bityutskiy
2006-05-19 14:50 ` David Woodhouse
2006-05-19 15:07 ` Artem B. Bityutskiy
2006-05-19 15:26 ` Artem B. Bityutskiy
2006-05-19 15:33 ` David Woodhouse
2006-05-19 15:38 ` Artem B. Bityutskiy
2006-05-19 15:43 ` David Woodhouse
2006-05-19 15:46 ` Artem B. Bityutskiy
2006-05-20 8:38 ` Artem B. Bityutskiy
2006-05-20 9:08 ` Artem B. Bityutskiy
2006-05-19 15:37 ` David Woodhouse
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1148050786.3875.175.camel@pmac.infradead.org \
--to=dwmw2@infradead.org \
--cc=dedekind@infradead.org \
--cc=linux-mtd@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox