| 416 | } |
| 417 | |
| 418 | static inline int perms_differ(struct file_struct *file, stat_x *sxp) |
| 419 | { |
| 420 | if (preserve_perms) |
| 421 | return !BITS_EQUAL(sxp->st.st_mode, file->mode, CHMOD_BITS); |
| 422 | |
| 423 | if (preserve_executability) |
| 424 | return (sxp->st.st_mode & 0111 ? 1 : 0) ^ (file->mode & 0111 ? 1 : 0); |
| 425 | |
| 426 | return 0; |
| 427 | } |
| 428 | |
| 429 | static inline int ownership_differs(struct file_struct *file, stat_x *sxp) |
| 430 | { |