BackupPC-users

Re: [BackupPC-users] Another jLib/fixLinks issue.

2010-12-09 19:10:21
Subject: Re: [BackupPC-users] Another jLib/fixLinks issue.
From: "Jeffrey J. Kosowsky" <backuppc AT kosowsky DOT org>
To: "General list for user discussion, questions and support" <backuppc-users AT lists.sourceforge DOT net>
Date: Thu, 09 Dec 2010 19:08:22 -0500
Robin Lee Powell wrote at about 15:38:27 -0800 on Thursday, December 9, 2010:
 > On Thu, Dec 09, 2010 at 12:35:46AM -0500, Jeffrey J. Kosowsky wrote:
 > > Jeffrey J. Kosowsky wrote at about 13:58:28 -0500 on Tuesday, December 7, 
 > > 2010:
 > >  > Robin Lee Powell wrote at about 15:40:04 -0800 on Monday, December 6, 
 > > 2010:
 > >  >  > This is *fascinating*.
 > >  >  > 
 > >  >  > >From the actually-fixing-stuff part of the run, I get:
 > >  >  > 
 > >  >  >   ERROR: 
 > > "tm50-s00292__nfs/68/f%2f/fshared/fthepoint/fsite_images/f0042/f4097/fMULTI_medium.jpg"
 > >  - Too many links if added to "59c43b51dbdd9031ba54971e359cdcec"
 > >  >  > 
 > >  >  > to which I say "lolwut?" and investigate.
 > >  >  > 
 > >  >  > $ ls -li /backups/cpool/5/9/c/59c43b51dbdd9031ba54971e359cdcec*
 > >  >  > 2159521202 -rw-r----- 31999 backuppc backuppc 76046 Oct  7 08:29 
 > > /backups/cpool/5/9/c/59c43b51dbdd9031ba54971e359cdcec
 > >  >  > 2670969865 -rw-r----- 31999 backuppc backuppc 76046 Oct 16 15:15 
 > > /backups/cpool/5/9/c/59c43b51dbdd9031ba54971e359cdcec_0
 > >  >  >   79561977 -rw-r----- 31999 backuppc backuppc 76046 Oct 22 22:07 
 > > /backups/cpool/5/9/c/59c43b51dbdd9031ba54971e359cdcec_1
 > >  >  >  156369809 -rw-r----- 31999 backuppc backuppc 76046 Oct 31 09:06 
 > > /backups/cpool/5/9/c/59c43b51dbdd9031ba54971e359cdcec_2
 > >  >  > 3389777838 -rw-r----- 31999 backuppc backuppc 76046 Nov  7 09:10 
 > > /backups/cpool/5/9/c/59c43b51dbdd9031ba54971e359cdcec_3
 > >  >  >  106188559 -rw-r----- 31999 backuppc backuppc 76046 Nov 13 15:10 
 > > /backups/cpool/5/9/c/59c43b51dbdd9031ba54971e359cdcec_4
 > >  >  >  247044591 -rw-r----- 31999 backuppc backuppc 76046 Nov 19 17:20 
 > > /backups/cpool/5/9/c/59c43b51dbdd9031ba54971e359cdcec_5
 > >  >  >  293083240 -rw-r----- 31999 backuppc backuppc 76046 Nov 26 06:14 
 > > /backups/cpool/5/9/c/59c43b51dbdd9031ba54971e359cdcec_6
 > >  >  >  513555136 -rw-r----- 31999 backuppc backuppc 76046 Dec  1 19:37 
 > > /backups/cpool/5/9/c/59c43b51dbdd9031ba54971e359cdcec_7
 > >  >  >   52908307 -rw-r-----  7767 backuppc backuppc 76046 Dec  4 10:37 
 > > /backups/cpool/5/9/c/59c43b51dbdd9031ba54971e359cdcec_8
 > >  >  > $ ls -li 
 > > /backups/pc/tm50-s00292__nfs/68/f%2f/fshared/fthepoint/fsite_images/f0042/f4097/fMULTI_medium.jpg
 > >             374791856 -rw-r----- 1 backuppc backuppc 76046 Dec  4 08:03 
 > > /backups/pc/tm50-s00292__nfs/68/f%2f/fshared/fthepoint/fsite_images/f0042/f4097/fMULTI_medium.jpg
 > >  >  > 
 > >  >  > That's a bunch of files with *thirty two thousand* hard links.
 > >  >  > Apparently that's a limit of some kind.  BackupPC handles this by
 > >  >  > adding new copies, a hack that BackupPC_fixLinks is apparently
 > >  >  > unaware of.
 > >  > 
 > >  > BackupPC_fixLinks does know about the limit and in fact is careful not
 > >  > to exceed it (using the same hack) when it combines/rewrites links.
 > >  > Other than that, I'm not sure where you think BackupPC_fixLinks needs
 > >  > to be aware of it?
 > >  > 
 > >  > To be fair, since I don't have any systems with that many hard links,
 > >  > I have not tested that use case so perhaps my code is missing
 > >  > something (I haven't looked through the logic of how BackupPC_fixLinks
 > >  > traverses chains in a while so maybe there is something there that
 > >  > needs to be adjusted for your use case but again since I haven't
 > >  > encountered it I probably have not given it enough thought)
 > >  > 
 > > 
 > > Robin, can you let me know in what way you think BackupPC misses
 > > here? It seems to me that my program does the following:
 > >
 > > 1. It avoids calling a pool element a duplicate if the sum of the
 > > number of links in the duplicates exceeds the maximum link number
 > > (i.e. the pool duplicate is justified)
 > > 
 > > 2. When it fixes/combines links, it avoids exceeding the maximum
 > > link number and creates a new element of the md5sum chain instead.
 > > 
 > > Is there any other way that maxlinks comes into play that I am
 > > missing?
 > 
 > *blink*
 > 
 > I was under the impression that it did *not* do "creates a new
 > element of the md5sum chain instead.".
 > 
 > I took the error to mean "I see too many links to this file already,
 > so screw it, I'm giving up and leaving this file alone".
 > 
 > If the file *does* get linked in despite the error, then yeah,
 > that's totally fine

I believe the logic is that that error is only seen when the file is
already linked into the pool either pre-existing or earlier in the run
-- so all that happens is that it doesn't consolidate already existing
pool links. And that is why I commented it as it is

But feel free to look at the code and/or your results to make sure
that I am remembering this right and that I coded it right in the
first place. Fresh eyes can never hurt...

 > although I'd change the wording.  I read "Too
 > many links if added" to mean "so I'm not going to add it".
 > 


Already done!

------------------------------------------------------------------------------
_______________________________________________
BackupPC-users mailing list
BackupPC-users AT lists.sourceforge DOT net
List:    https://lists.sourceforge.net/lists/listinfo/backuppc-users
Wiki:    http://backuppc.wiki.sourceforge.net
Project: http://backuppc.sourceforge.net/