rsync does not recognize the Solaris doorfs: Copy c2t1d0s0 (mounted on /) using rsync -aHx --delete skipping non-regular file "dev/.devfsadm_synch_door" skipping non-regular file "etc/sysevent/devfsadm_event_channel/1" ... ls -l /dev/.devfsadm_synch_door: Drw------- 1 root root 0 Apr 22 20:29 /dev/. devfsadm_synch_door> This applied to all rsync versions I think. This is not severe because I think the doors are recreated upon request. Beat
That's not a regular file. Try the --devices option (running rsync as root).
I run rsync as root with options -aHx, and according to the man page -a implies -D (--devices). Character and block devices are copied correctly, only the Solaris doorfs is skipped.
I resaerched a bit and found this: The door fs, implemented under Solaris and Linux, is a special file descriptor created by door_create. On this descriptor sits an IPC structure that provides a fast IPC between processes on the same box. It makes IMO little sense to copy such descriptors because exist only as long as the calling process exists. I could neither mv, cp or mknod them. Therefore I propose the following for rsync: - rsync acknowledges that there is a doorfs but does not copy such descriptors. - the man page and other doc stuff is amended according to this. - rsync skips door descriptors silently unless the verbosity level is high enough to report it. - configure checks for door.h. If it is present a HAS_DOORFS is set in config.h - The code is changed so that it ignores (and maybe reports) door descriptors inside "#ifdef DOORFS ... #endif" clauses