Re: Re: Perfomance problem backupscript (more details and tests)

Les Mikesell <[email protected]>
Newsgroups gmane.comp.archivers.star.user
Message-ID <[email protected]>
On Thu, 2005-10-06 at 15:48, [email protected] wrote:

> The man page of stat says nothing about persistence of
> inode numbers.

At the time that was written, inode numbers were physical
things in the filesystem - and in fact real inode numbers
still are.  If the things on your filesystem don't persist,
you don't have much to back up.  The problem is that people
want to pretend that certain filesystems are unix-like when
they aren't, so stat() claims something is an inode number
that isn't.

> > I've never seen ctime described as anything but inode change
> > time.  What man page says otherwise?
> 
> We do not agree about wether  link()/unlink()  is the
> mandatory method to rename a file. I see it as a deliberate
> implementation decision and rather as an accident if an
> intermediate change of the inode's link count updates ctime.

At the time the ctime specification was written, there was
no way to rename a file or modify any attribute that needed
to be saved without modifying the inode.  This was not
an accident, and observing ctime changes was the designed-in
way to detect files that needed to be copied in incremental
backups.  Blame whoever you want for not maintaining that
mechanism in not-quite-unix-like systems today, but when
gnutar first used ctime it was a reliable mechanism.

> > Place the blame where it belongs.  The original design and
> > specification was solid.
> 
> It left the question open and two groups of squatters
> occupied the empty space.
> 
> If renaming affects the inode, then it affects ctime.
> If renaming only affects the directory, then ctime has
> to stay unchanged.

But, whoever removed the ability to detect renames at
incremental backup time should have provided a different
way. 

> The hardlink detection and restoring problem looks quite
> expensive in terms of computing time and memory. At least
> if there are lots of such shared inodes.

I'd guess the files average 10 links each in my backuppc tree,
but I think the problem is that since it is unusual to have a
large number of hardlinks the programs that handle them haven't
bothered to optimize the lookup at all.  They probably do a 
linear scan of a table to match each one.  Throw a few million
at them and they just crawl, even though that's not a big
number for things using hashed or indexed lookups.  It's a
recurring topic on the backuppc mailing list as people with
a 100 gig drive realize they need to move to something bigger
and wonder why it is taking days to copy.

-- 
   Les Mikesell
     [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.