- if (preserve_hard_links && file->link_u.links
- && hard_link_check(file, ndx, fname, -1, &st,
- itemizing, code, HL_SKIP))
- return;
- if ((IS_DEVICE(file->mode) && !IS_DEVICE(st.st_mode))
- || (IS_SPECIAL(file->mode) && !IS_SPECIAL(st.st_mode)))
- statret = -1;
- if (verbose > 2) {
- rprintf(FINFO,"mknod(%s,0%o,0x%x)\n",
- fname,
- (int)file->mode, (int)file->u.rdev);
- }
- if (do_mknod(fname,file->mode,file->u.rdev) < 0) {
- rsyserr(FERROR, errno, "mknod %s failed",
- full_fname(fname));
- } else {
- set_file_attrs(fname, file, NULL, 0);
- if (itemizing) {
- itemize(file, ndx, statret, &st,
- ITEM_LOCAL_CHANGE, 0, NULL);
- }
- if (code && verbose)
- rprintf(code, "%s\n", fname);
- if (preserve_hard_links && file->link_u.links) {
- hard_link_cluster(file, ndx,
- itemizing, code);
- }