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/.
This applied to all rsync versions I think. This is not severe because
I think the doors are recreated upon request.
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
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