Device majors incorrectly set to 0 during rsync

Williams, Tom TWilliams at Corio.com
Thu Apr 8 21:54:37 GMT 2004


We seem to working from wildly different revs of flist.c :)  Mine is the
stock file from the 2.6.0 source.  I don't even find an occurance of 0xFF in
there, so your patch wouldn't apply, even by hand -- the code is just too
different.

I think I understand what you were attempting to accomplish with it though,
and the relevant equivalent code in the 2.6.0 version /is/ masked as a
DEV64_T 
         if (preserve_devices && IS_DEVICE(file->mode))
                file->rdev =
                    (flags & SAME_RDEV) ? last_rdev : (DEV64_T) read_int(f);

Which /seems/ to do the right thing.

Thanks,
Tom Williams

-----Original Message-----
From: Wayne Davison
To: Williams, Tom
Cc: 'rsync at lists.samba.org'
Sent: 4/8/2004 2:25 PM
Subject: Re: Device majors incorrectly set to 0 during rsync

On Thu, Apr 08, 2004 at 01:43:18PM -0700, Williams, Tom wrote:
> Major numbers on 64bit Solaris are being dropped, and created as 0 on
> recieving end.  32bit version works perfectly.

Looks like the code is masking a 64-bit number with a 32-bit mask
(ouch)!  Try the attached patch and let me know if it fixes the problem.

..wayne..
 <<dev64.patch>> 


More information about the rsync mailing list