rsyncing devices

Martin Pool mbp at samba.org
Sun Dec 2 16:14:15 EST 2001


On 27 Nov 2001, Dave Dykstra <dwd at bell-labs.com> wrote:
> I can reproduce it, and I think you've stumbled on a significant bug.  The
> problem is that rsync always assumes stat variable "st_rdev", which
> contains both the major and minor number, is always 4 bytes and is always
> the same format on both sides.  On the rsync I tried on Linux, it is 8
> bytes, whereas it was 4 bytes on Solaris.  I assume it depends on whether
> or not 64 bit mode gets enabled on the operating system version you're on.

Are the top bits actually used?  Perhaps truncation would be
marginally better, or perhaps we should have a ./configure warning
that this will be broken if sizeof(st_rdev)>4?

> This will take a protocol change to fix.  I think probably rsync should
> split out the major and minor numbers as two separate 4 byte quantities.  I
> wonder if there are other 64 bit stat values that are being misinterpreted.

I agree, and added it to TODO.

We will need this on Linux as well, though it's anybody's guess
whether devfs and dynamic device numbers will make it mostly
irrelevant there.

--
Martin




More information about the rsync mailing list