Hi,
when syncing from windows NT/cygwin to linux usimg rsync 2.5.2 I get the
following error:
readlink pagefile.sys: Permission denied
IO error encountered - skipping file deletion
pagefile.sys is however in the exclude-list, so I think rsync shouldn't care
that it can't stat the file.
The code fragment responsible is
if (readlink_stat(fname, &st, linkbuf) != 0) {
int save_errno = errno;
if ((errno == ENOENT) && copy_links &&
!noexcludes) {
/* symlink pointing nowhere, see if excluded */
memset((char *) &st, 0, sizeof(st));
if (check_exclude_file(f, fname, &st)) {
/* file is excluded anyway, ignore silently */
return NULL;
}
}
io_error = 1;
rprintf(FERROR, "readlink %s: %s\n",
fname, strerror(save_errno));
return NULL;
}
Shouldn't/couldn't the "ignore silently if excluded" be
specified less strictly to cover the above "permission denied" error
as well?
Thanks, Martin
On Thu, Mar 28, 2002 at 11:37:31AM +0100, Martin Bene wrote:> Hi, > > when syncing from windows NT/cygwin to linux usimg rsync 2.5.2 I get the > following error: > > readlink pagefile.sys: Permission denied > IO error encountered - skipping file deletion > > pagefile.sys is however in the exclude-list, so I think rsync shouldn't > care that it can't stat the file. > > The code fragment responsible is > > if (readlink_stat(fname, &st, linkbuf) != 0) { > int save_errno = errno; > if ((errno == ENOENT) && copy_links && !noexcludes) { > /* symlink pointing nowhere, see if excluded */ > memset((char *) &st, 0, sizeof(st)); > if (check_exclude_file(f, fname, &st)) { > /* file is excluded anyway, ignore silently */ > return NULL; > } > } > io_error = 1; > rprintf(FERROR, "readlink %s: %s\n", > fname, strerror(save_errno)); > return NULL; > } > > Shouldn't/couldn't the "ignore silently if excluded" be specified less > strictly to cover the above "permission denied" error as well?I think you're right. Martin Pool, what do you think? Martin Bene, could you please try coding and testing a patch that will do what you want? - Dave Dykstra