On Wed, 7 Jan 2004 01:30:19 -0800, jw schultz <[EMAIL PROTECTED]> wrote: > > The steps i see are: > > - The hlink_list change to a pointer array (just committed) > > - Create the union and change file_struct and the routines > that reference and populate it to use the union for dev > and inode. This may include not allocating the union for > unlinkable files. > > - Overwrite the unions with the linked list stuff and change > the logic to use them. Also free the unions for unlinked > files. > (this is the biggest step) > > - Reduce the hlink_list to just the heads and change > do_hard_links. > > - consolidate the fnamecmp finder function for > recv_generator() in generator.c and recv_files() in > receiver.c > > - Add the list walk for heads that don't exist yet. > > > Each of these is a discrete step that when complete the code > will function correctly. > >> Feel free to start coding. -) Not that I'm lazy... <cough> > > Oh! Sorry to hear that, I am. The only thing preventing me > from saying go ahead is my uncertainty whether we both have > the same design.
Except for the part about allocating and freeing the union, I'm with ya. For this initial attempt, shall we just leave the union in the file_struct (in place of the DEV / INODE vars)? Maybe move it to the end where it can be conditionally allocated (leaving a short structure when --hard-links is not used). Shall we take the coding details discussion off-list? I imagine that the faithful readers of this mailing list are getting a bit weary reading about this fairly obscure bit of code... -- John Van Essen Univ of MN Alumnus <[EMAIL PROTECTED]> -- To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html