search for: hlink_list

Displaying 8 results from an estimated 8 matches for "hlink_list".

2004 Jan 25
2
scan for first existing hard-link file
...uch-up of the directory permissions into the final work that the generator does after it gets the "end of phase 2" indicator from the receiver. Some simple changes to the hard-link data structures was needed. I got rid of the "head" pointer, replacing it with an index into the hlink_list array. This lets us update this "first item" pointer to point to the current master. I then made the single-linked list of hard-linked items circular, and added a flag to mark the last item in the original list (so we know when to give up our search and just ask for the file to be creat...
2004 Feb 06
4
memory reduction
...} else prev_i = i; } Binary files cvs/getgroups and pool2/getgroups differ diff -rupNP --exclude-from cvs/.ignore cvs/hlink.c pool2/hlink.c --- cvs/hlink.c Mon Feb 2 22:21:19 2004 +++ pool2/hlink.c Wed Feb 4 01:35:49 2004 @@ -46,26 +46,41 @@ int hlink_count; /* Analyze the data in the hlink_list[], remove items that aren't multiply * linked, and replace the dev+inode data with the hlindex+next linked list. */ -static void link_idev_data(void) +static void link_idev_data(struct file_list *flist) { struct file_struct *head; int from, to, start; + alloc_pool_t hlink_pool; + alloc...
2004 Feb 10
3
rsync 2.6.1cvs dumps core when preserve_hard_links and backup
...", dirname = 0x0, basedir = 0x0, uid = 0, gid = 0, flags = 0 '\000'} ------------------------------------------------------------------------ In file backup.c. 266 if (!kept && preserve_hard_links && file->link_u.links 267 && hlink_list[file->F_HLINDEX] != file) { 268 if (verbose > 1) 269 rprintf(FINFO, "%s is a hard link\n", f_name(file)); 270 } file->link_u.links (and also file->F_HLINDEX) has some values, but no meanings because it's only an...
2002 Jan 13
1
rsynd-2.5.1 / hlink.c patches
...compare(struct file_struct *f1,struct file_struct *f2) +static int hlink_compare + (const struct file_struct *f1, const struct file_struct *f2) { if (!S_ISREG(f1->mode) && !S_ISREG(f2->mode)) return 0; if (!S_ISREG(f1->mode)) return -1; @@ -60,7 +61,7 @@ qsort(hlink_list,flist->count, sizeof(hlink_list[0]), - (int (*)())hlink_compare); + (hlink_compare); hlink_count=flist->count; #endif
2004 Mar 26
1
2.6.1pre-1 Segmentation fault & other fun
Oops :) -- quote -- $ rsync -aHPv rsync://host/module/single.file . <motd, if any> receiving file list ... 1 file to consider Segmentation fault -- endquote -- The rsync process remains running until explicitly 'kill'ed. At which point, the following is printed: -- quote -- rsync error: received SIGUSR1 or SIGINT (code 20) at rsync.c(225) -- endquote -- -- quote -- $ rsync -aHPv
2006 Oct 21
1
Rsync 2.6.9pre2 tries to read ACLs of nonexistent files
Dear rsync people, Today I tried to back up my computer using rsnapshot with the RPM version of rsync-acl 2.6.9pre1 that I built. I tried twice, and both times, rsync encountered some kind of assertion failure. I was trying to reproduce the crash with rsync-acl 2.6.9pre2 and noticed a different bug (described below); when I have a chance, I will go back and investigate the crash further. Rsync
2003 Dec 30
3
The dangers of static buffers in rsync code
...k_compare(), which calls flist.c:file_compare(), which calls flist.c:f_name(). Interested parties might want to follow the code, it is easier and more obvious... Anyway, the end result is that in recv_generator() the first argument (fname) is now clobbered by our search through the hlink_list, and depending on what was the last thing we put in there there are various failures happening. The bad part is that they are mostly silent. Most of the bitching is done via "if (verbose > 1)", so with the standard 'rsync -av' there are no indicators that would tell somebody...
2003 Nov 26
2
Test case for hard link failure
The rsync 2.5.6 TODO file mentions the need for hard link test cases. Here is one in which a linked file is unnecessarily transferred in full. # Setup initial directories mkdir src dest dd if=/dev/zero bs=1024 count=10000 of=src/a 2>/dev/null rsync -a src/. dest/. ln src/a src/b # At this point, a & b exist in src; only a exists in dest. rsync -aHv src/. dest/.