procfs_fd = fd_reopen(fd, O_RDONLY|O_CLOEXEC|O_NOATIME);
if (procfs_fd < 0)
- return -errno;
+ return log_error_errno(errno, "Failed to re-open '%s': %m", path);
r = chattr_fd(procfs_fd, f, item->attribute_mask);
if (r < 0)
r = openat(pfd, basename(path), O_NOCTTY|O_CLOEXEC|O_DIRECTORY);
if (r < 0)
- return -errno;
+ return log_error_errno(errno, "Failed to open directory '%s': %m", basename(path));
+
return r;
}
assert(fd >= 0);
if (fstat(fd, &st) < 0) {
- r = -errno;
+ r = log_error_errno(errno, "fstat() on file failed: %m");
goto finish;
}
d = opendir(procfs_path);
if (!d) {
- r = r ?: -errno;
+ log_error_errno(errno, "Failed to opendir() '%s': %m", procfs_path);
+ if (r == 0)
+ r = -errno;
goto finish;
}
fd = open(*fn, O_CLOEXEC|O_NOFOLLOW|O_PATH);
if (fd < 0) {
- r = r ?: -errno;
+ log_error_errno(errno, "Opening '%s' failed: %m", *fn);
+ if (r == 0)
+ r = -errno;
continue;
}