lib/deploy: handle FIFREEZE ENOSYS failure

When running under qemu, unimplemented ioctls such as FIFREEZE
return ENOSYS, and this causes the deployment to fail.

Catch this and handle it like EOPNOTSUPP.

I'm not sure if qemu's behaviour is fully correct here (or if it should
return EOPNOTSUPP) but it's trivial to handle regardless.

Closes: #1901
Approved by: cgwalters
This commit is contained in:
Daniel Drake 2019-08-21 14:42:48 +08:00 committed by Atomic Bot
parent 0c48769de3
commit 99d56215e6
1 changed files with 1 additions and 1 deletions

View File

@ -1374,7 +1374,7 @@ fsfreeze_thaw_cycle (OstreeSysroot *self,
* the filesystem is already frozen (EBUSY). * the filesystem is already frozen (EBUSY).
* OK, let's just do a syncfs. * OK, let's just do a syncfs.
*/ */
if (G_IN_SET (errno, EOPNOTSUPP, EPERM, EBUSY)) if (G_IN_SET (errno, EOPNOTSUPP, ENOSYS, EPERM, EBUSY))
{ {
/* Warn if the filesystem was already frozen */ /* Warn if the filesystem was already frozen */
if (errno == EBUSY) if (errno == EBUSY)