Implementing rsync hard-link improvements

John Van Essen vanes002 at
Thu Jan 8 09:20:57 GMT 2004

On Wed, 7 Jan 2004 17:33:36 -0800, Wayne Davison <wayned at> wrote:
> On Wed, Jan 07, 2004 at 04:15:57PM -0800, jw schultz wrote:
>> Runtime variable sized structures should be avoided.  Do you want
>> to make rdev, link and sum conditional also?
> The difference between these other items you mentioned is that we aren't
> talking about making them a separately-allocated structure.  I'd like to
> see the extra 16-bytes allocated for the hard-link data be a part of the
> flist_struct item to make it a single malloc.

Yes - that would save the overhead of a separate malloc.  And you
can just set jw's pointer to point to that co-allocated area as
a compromise.  :)

>> If you wanted i suppose you could make rdev, link and sum a
>> union within file_struct since they are mutually exclusive
>> and dependent on IS_*(mode).  That would squeeze another 8
>> bytes/file with a minimal impact on the code.
> Sounds like a nice idea to check into.

Definitely.  With the various 'bug reports' about rsync running
out of memory and with the size of filesystems these days, every
little bit of per-file_struct savings helps.

>> John seemed eager to start work on this but i'm not sure of his
>> status.

My status is:

1) I do not have nor do I want CVS write privileges
2) I am not *nearly* as familiar with internal rsync workings as
   youse guys are, so I'd feel comfortable only working in hlink.c
3) After 30 years of programming, the ol' neurons aren't firing as
   fast as they used to (:D) so you can do more in less time than I
4) The web site re-design at my 'workplace' is moving from design
   to implementation and that's my job, so I will have very little
   free time (certainly not enough for anything substantial here)

> I don't want to duplicate the work that others would enjoy doing, so
> feel free to let me know if you start on something.

Can I feel free to let you know you can do it all?  And I will go
back to being a lurker.

P.S.  It's been a steady stream of email from you two guys all day!
Don't you ever sleep??
        John Van Essen  Univ of MN Alumnus  <vanes002 at>

More information about the rsync mailing list