- Fixed a bug in the xattr code that was not leaving room for the "rsync."
prefix in some instances where it needed to be added.
- - Restored the ability to use --bwlimit=0 to specify no bandwidth limit. (It
+ - Restored the ability to use `--bwlimit=0` to specify no bandwidth limit. (It
was accidentally broken in 3.2.2.)
- Fix a bug when combining `--delete-missing-args` with `--no-implied-dirs` &
`-R` where rsync might create the destination path of a missing arg. The
code also avoids some superfluous warnings for nested paths of removed args.
+ - Fixed an issue where hard-linked devices could cause the rdev_major value to
+ get out of sync between the sender and the receiver, which could cause a
+ device to get created with the wrong major value in its major,minor pair.
+
### ENHANCEMENTS:
- Allow `--max-alloc=0` to specify no limit to the alloc sanity check.
- Apple requires the asm function name to begin with an underscore.
- - Avoid a test failure in the daemon test when --atimes is disabled.
+ - Avoid a test failure in the daemon test when `--atimes` is disabled.
### ENHANCEMENTS:
if (protocol_version < 28)
xflags |= XMIT_SAME_RDEV_pre28;
else {
- rdev = MAKEDEV(major(rdev), 0);
+ rdev = MAKEDEV(rdev_major, 0);
xflags |= XMIT_SAME_RDEV_MAJOR;
if (protocol_version < 30)
xflags |= XMIT_RDEV_MINOR_8_pre30;
gid = F_GROUP(first);
if (preserve_devices && IS_DEVICE(mode)) {
uint32 *devp = F_RDEV_P(first);
- rdev = MAKEDEV(DEV_MAJOR(devp), DEV_MINOR(devp));
+ rdev_major = DEV_MAJOR(devp);
+ rdev = MAKEDEV(rdev_major, DEV_MINOR(devp));
extra_len += DEV_EXTRA_CNT * EXTRA_LEN;
}
if (preserve_links && S_ISLNK(mode))