diff --git a/src/pxar/metadata.rs b/src/pxar/metadata.rs index 8d24d85f..6e87db3d 100644 --- a/src/pxar/metadata.rs +++ b/src/pxar/metadata.rs @@ -363,6 +363,11 @@ fn apply_chattr(fd: RawFd, chattr: libc::c_long, mask: libc::c_long) -> Result<( } let attr = (chattr & mask) | (fattr & !mask); + + if attr == fattr { + return Ok(()); + } + match unsafe { fs::write_attr_fd(fd, &attr) } { Ok(_) => Ok(()), Err(nix::Error::Sys(errno)) if errno_is_unsupported(errno) => Ok(()),