device: don't set nm-owned flag if realize() fails

The nm-owned flag indicates whether the device was created by NM. If
the realization step fails, the device was not created and so nm-owned
should not be updated.
This commit is contained in:
Beniamino Galvani
2019-08-29 16:45:12 +02:00
parent 6a7c2d44ae
commit 4bc4156424

View File

@@ -4165,11 +4165,12 @@ nm_device_create_and_realize (NMDevice *self,
nm_auto_nmpobj const NMPObject *plink_keep_alive = NULL;
NMDevicePrivate *priv = NM_DEVICE_GET_PRIVATE (self);
const NMPlatformLink *plink;
gboolean nm_owned;
/* Must be set before device is realized */
plink = nm_platform_link_get_by_ifname (nm_device_get_platform (self), priv->iface);
priv->nm_owned = !plink || !link_type_compatible (self, plink->type, NULL, NULL);
_LOGD (LOGD_DEVICE, "create (is %snm-owned)", priv->nm_owned ? "" : "not ");
nm_owned = !plink || !link_type_compatible (self, plink->type, NULL, NULL);
_LOGD (LOGD_DEVICE, "create (is %snm-owned)", nm_owned ? "" : "not ");
plink = NULL;
/* Create any resources the device needs */
@@ -4182,6 +4183,8 @@ nm_device_create_and_realize (NMDevice *self,
}
}
priv->nm_owned = nm_owned;
realize_start_setup (self,
plink,
FALSE, /* assume_state_guess_assume */