mirror of
https://github.com/ostreedev/ostree.git
synced 2024-12-23 21:35:26 +03:00
lib/deploy: Ignore errors from FITHAW
In the production case since we used `daemon()` our stderr is `/dev/null`¹ there's not much use in logging errors from `FITHAW` or `exit(1)`, and doing so breaks the test suite which checks the return from `waitpid()`. There's nothing we can really do if `FITHAW` fails, and in most of those cases `EINVAL`, `EOPNOTSUPP`, we *shouldn't* do anything anyways. ¹ Though perhaps we should set up the systemd journal, but let's not go there right now. Closes: #1084 Approved by: jlebon
This commit is contained in:
parent
ba28684ac2
commit
40a64bcfe9
@ -1056,13 +1056,14 @@ fsfreeze_thaw_cycle (OstreeSysroot *self,
|
||||
/* Do a thaw if we hit an error, or if the poll timed out */
|
||||
if (r <= 0)
|
||||
{
|
||||
if (TEMP_FAILURE_RETRY (ioctl (rootfs_dfd, FITHAW, 0)) != 0)
|
||||
{
|
||||
if (errno == EPERM)
|
||||
; /* Ignore this for the test suite */
|
||||
else
|
||||
err (1, "FITHAW");
|
||||
}
|
||||
/* Ignore errors:
|
||||
* EINVAL: Not frozen
|
||||
* EPERM: For running the test suite as non-root
|
||||
* EOPNOTSUPP: If the filesystem doesn't support it
|
||||
*/
|
||||
int saved_errno = errno;
|
||||
(void) TEMP_FAILURE_RETRY (ioctl (rootfs_dfd, FITHAW, 0));
|
||||
errno = saved_errno;
|
||||
/* But if we got an error from poll, let's log it */
|
||||
if (r < 0)
|
||||
err (1, "poll");
|
||||
|
Loading…
Reference in New Issue
Block a user