[Top][All Lists]

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

[rdiff-backup-users] Possible hardlink bug?

From: David
Subject: [rdiff-backup-users] Possible hardlink bug?
Date: Thu, 8 May 2008 09:12:57 +0200

Hi list.

I hope the devs are reading this list. If not, then someone please let
me know where I should submit this to.

After some consideration of my previous mails, I think that
rdiff-backup *may* have a bug with hardlink handling.

For reference, here are my original mails:


I think, that with my version of rdiff-backup (see the 1st link for
details), if the source and dest files are hardlinks to each other,
that rdiff-backup will use extra memory unnecessarily.

As described in those mails, I have a backup system which combines
rsync (for network transport) and rdiff-backup (to get history).

Basically, my logic (as described in the first link) works like this:

1) Start with this directory structure:

/data/backup/files <- This is a rdiff-backup store
/data/backup/files/rdiff-backup-data <- This is rdiff-backup's metadata

2) Make a temporary copy which I can safely rsync into without
breaking rdiff-backup's store:

ie: rsync from /data/backups/files to  /data/backup/new (and create
hard links to conserve space and speed things up. Also, I exclude the
'rdiff-backup-data' directory)

3) Rsync from the source box, to /data/backups/files (also, delete
files from dest which aren't at source)

(using rsync service at the source because DeltaCopy is easier to
install on Windows than rdiff-backup)

4) Run rdiff-backup to push changes from /data/backups/new to

5) Remove the /data/backups/new directory

I think that in (4), rdiff-backup is using a lot of extra memory (2 GB
in my case), because in (2) I created hardlinks between rdiff-backup's
destination and source directories. rdiff-backup thinks (incorrectly
in this case) that it needs to keep track of hardlinks between
millions of pairs of files.

Could someone investigate this, and hopefully fix this bug?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]