Re: Why is dedup inline, not delayed (as opposed to offline)? Explain like I'm five pls.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2016-01-16 13:07, Rich Freeman wrote:
On Sat, Jan 16, 2016 at 9:10 AM, Duncan <1i5t5.duncan@xxxxxxx> wrote:
Al posted on Sat, 16 Jan 2016 12:27:16 +0000 as excerpted:

Is there any urgency for dedup? What's wrong with storing the hash on
disk with the block and having a separate process dedup the written data
over time;

There's actually uses for both inline and out-of-line[1] aka delayed
dedup.  Btrfs already has a number of independent products doing various
forms of out-of-line dedup, so what's missing and being developed now is
the inline dedup option, which being directly in the write processing,
must be handled by btrfs itself -- it can't be primarily done by third
parties with just a few kernel calls, like out-of-line dedup can.

Does the out-of-line dedup option actually utilize stored hashes, or
is it forced to re-read all the data to compute hashes?  If it is
collecting checksums/etc is this done efficiently?
AFAIK, duperemove has the option to store block hashes in a database to save them between runs (I'm pretty sure that it invalidates hashes if the file containing the block changed, but I'm not certain).

I think he is actually suggesting a hybrid approach where a bit of
effort is done during operations to greatly streamline out-of-line
deduplication.  I'm not sure how close we are to that already, or if
any room for improvement remains.
There isn't any implementation I know of that does this. In theory, it would be pretty easy if we could somehow get block checksums from BTRFS in userspace.

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux