From: "Ph. Marek" <philipp.marek@bmlv.gv.at>
To: Vladislav Bolkhovitin <vst@vlnb.net>
Cc: "Philipp Matthias Hahn" <pmhahn@titan.lahn.de>,
"Chris Mason" <chris.mason@oracle.com>,
"Pádraig Brady" <P@draigbrady.com>,
linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org
Subject: Re: [ANNOUNCE] Btrfs: a copy on write, snapshotting FS
Date: Wed, 20 Jun 2007 11:18:03 +0200 [thread overview]
Message-ID: <200706201118.03939.philipp.marek@bmlv.gv.at> (raw)
In-Reply-To: <4678E90A.6000707@vlnb.net>
On Mittwoch, 20. Juni 2007, Vladislav Bolkhovitin wrote:
> Philipp Matthias Hahn wrote:
> >>>>I would also suggest one more feature: support for block level
> >>>>de-duplication. I mean:
> So, seems ever for file based de-duplication some support from the FS,
> including some kind of ability for different inodes point to the same
> data blocks to store the meta-data, would be needed anyway.
The easy way is to have the inode point to a (shared, reference counted) data
storage, which lists the data - then inodes can share the data, but have
different meta-data.
Ever since I read about filesystems using the files' hash as addressing
mechanism (per some Linus mail on LKML, about 10 years ago) and manber hashes
(http://citeseer.ist.psu.edu/manber94finding.html) I'm thinking about various
ways to use both in a filesystem.
Manber-Hashes allow to split data into similar chunks, which could be
addresses per some cryptographic checksum, and used by several files.
*But*: The boundaries are not at power-of-2 addresses, so the data for
read()/mmap() would have to be rebuild somehow. (Would eg. be necessary
anyway if the data block itself is stored compressed).
The other question I'm still pondering ... File sizes vary very much. If I
have a large project, eg. the kernel, with many thousand files of some 10 kB,
some data could be shared - GPL licenses in files, #include lists, and some
others.
If I have some other data, with files of several hundred megabytes, sharing
gets more interesting ... but what should the right block size (for manber
hashes) be? If it's small, we have to concatenate a lot of blocks to
reconstruct data - if it's big, we might lose many chances for sharing.
And getting good performance, when blocks in the middle of a file have to be
re-splitted, might be a bit of a problem, too ...
Regards,
Phil
next prev parent reply other threads:[~2007-06-20 9:18 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-12 16:10 [ANNOUNCE] Btrfs: a copy on write, snapshotting FS Chris Mason
2007-06-12 19:53 ` Mike Snitzer
2007-06-12 20:14 ` Chris Mason
2007-06-13 3:08 ` Christoph Hellwig
2007-06-13 10:17 ` Chris Mason
2007-06-13 3:46 ` John Stoffel
2007-06-13 10:35 ` Chris Mason
2007-06-13 14:00 ` John Stoffel
2007-06-13 14:54 ` Chris Mason
2007-06-13 16:12 ` John Stoffel
2007-06-13 16:34 ` Chris Mason
2007-06-13 16:25 ` Grzegorz Kulewski
2007-06-14 18:20 ` Chuck Lever
2007-06-14 18:48 ` Chris Mason
2007-06-15 17:17 ` Chuck Lever
2007-06-14 18:29 ` Florian D.
2007-06-14 19:13 ` Chris Mason
2007-06-15 19:08 ` Florian D.
2007-06-15 19:11 ` Chris Mason
2007-06-15 20:46 ` Florian D.
2007-06-15 20:51 ` Chris Mason
2007-06-15 22:03 ` Florian D.
2007-06-16 0:54 ` Chris Mason
2007-06-16 9:31 ` Florian D.
2007-06-18 14:29 ` Chris Mason
2007-06-18 14:41 ` Chris Mason
2007-06-18 17:37 ` Vladislav Bolkhovitin
2007-06-18 20:08 ` John Stoffel
2007-06-19 9:11 ` Pádraig Brady
2007-06-19 10:01 ` Vladislav Bolkhovitin
2007-06-19 18:20 ` david
2007-06-20 8:41 ` Vladislav Bolkhovitin
2007-06-19 12:04 ` Chris Mason
2007-06-19 14:00 ` Vladislav Bolkhovitin
2007-06-19 18:24 ` david
2007-06-19 18:28 ` Philipp Matthias Hahn
2007-06-20 8:44 ` Vladislav Bolkhovitin
2007-06-20 9:18 ` Ph. Marek [this message]
-- strict thread matches above, loose matches on Subject: below --
2007-06-13 5:45 Albert Cahalan
2007-06-13 12:00 ` Chris Mason
2007-06-13 16:14 ` Albert Cahalan
2007-06-13 16:57 ` Chris Mason
2007-06-14 6:59 ` Albert Cahalan
2007-06-14 12:30 ` Chris Mason
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=200706201118.03939.philipp.marek@bmlv.gv.at \
--to=philipp.marek@bmlv.gv.at \
--cc=P@draigbrady.com \
--cc=chris.mason@oracle.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pmhahn@titan.lahn.de \
--cc=vst@vlnb.net \
/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;
as well as URLs for NNTP newsgroup(s).