core: add some debugging to help diagnose netlink errors (rh #1029213)
This commit is contained in:
parent
de841598c4
commit
9e072a43ad
@ -19,7 +19,7 @@ Name: NetworkManager
|
||||
Summary: Network connection manager and user applications
|
||||
Epoch: 1
|
||||
Version: 0.9.9.0
|
||||
Release: 15%{snapshot}%{?dist}
|
||||
Release: 16%{snapshot}%{?dist}
|
||||
Group: System Environment/Base
|
||||
License: GPLv2+
|
||||
URL: http://www.gnome.org/projects/NetworkManager/
|
||||
@ -33,6 +33,7 @@ Patch3: rh1021112-fix-crash-never-default.patch
|
||||
Patch4: rh1019021-fix-crash-ip6-routing.patch
|
||||
Patch5: rh1025007-fix-crash-ifcfg-rh.patch
|
||||
Patch6: rh1012151-ipv6-disable.patch
|
||||
Patch7: rh1029213-debug-netlink-add-errors.patch
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
|
||||
@ -162,6 +163,7 @@ deployments.
|
||||
%patch4 -p1 -b .patch4
|
||||
%patch5 -p1 -b .patch5
|
||||
%patch6 -p1 -b .patch6
|
||||
%patch7 -p1 -b .patch7
|
||||
|
||||
%build
|
||||
|
||||
@ -360,6 +362,9 @@ fi
|
||||
%config %{_sysconfdir}/%{name}/conf.d/00-server.conf
|
||||
|
||||
%changelog
|
||||
* Wed Nov 13 2013 Dan Williams <dcbw@redhat.com> - 0.9.9.0-16.git20131003
|
||||
- core: add some debugging to help diagnose netlink errors (rh #1029213)
|
||||
|
||||
* Fri Nov 8 2013 Jiří Klimeš <jklimes@redhat.com> - 0.9.9.0-15.git20131003
|
||||
- ifcfg-rh: fix crash in ifcfg-rh plugin when reloading connections (rh #1023571)
|
||||
- ifcfg-rh: fix crash when having connections with NEVER_DEFAULT (rh #1021112)
|
||||
|
50
rh1029213-debug-netlink-add-errors.patch
Normal file
50
rh1029213-debug-netlink-add-errors.patch
Normal file
@ -0,0 +1,50 @@
|
||||
From 2086cab1273b26630840e3a0c092e8b1617e803b Mon Sep 17 00:00:00 2001
|
||||
From: Dan Williams <dcbw@redhat.com>
|
||||
Date: Wed, 13 Nov 2013 20:06:39 -0600
|
||||
Subject: [PATCH] platform: dump objects that fail to be added (rh #1029213)
|
||||
|
||||
Attempt to figure out why the objects fail.
|
||||
---
|
||||
src/platform/nm-linux-platform.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c
|
||||
index a35b0cc..d13abbe 100644
|
||||
--- a/src/platform/nm-linux-platform.c
|
||||
+++ b/src/platform/nm-linux-platform.c
|
||||
@@ -1100,27 +1100,32 @@ refresh_object (NMPlatform *platform, struct nl_object *object, gboolean removed
|
||||
/* Decreases the reference count if @obj for convenience */
|
||||
static gboolean
|
||||
add_object (NMPlatform *platform, struct nl_object *obj)
|
||||
{
|
||||
auto_nl_object struct nl_object *object = obj;
|
||||
NMLinuxPlatformPrivate *priv = NM_LINUX_PLATFORM_GET_PRIVATE (platform);
|
||||
int nle;
|
||||
+ struct nl_dump_params dp = {
|
||||
+ .dp_type = NL_DUMP_DETAILS,
|
||||
+ .dp_fd = stderr,
|
||||
+ };
|
||||
|
||||
nle = add_kernel_object (priv->nlh, object);
|
||||
|
||||
/* NLE_EXIST is considered equivalent to success to avoid race conditions. You
|
||||
* never know when something sends an identical object just before
|
||||
* NetworkManager.
|
||||
*/
|
||||
switch (nle) {
|
||||
case -NLE_SUCCESS:
|
||||
case -NLE_EXIST:
|
||||
break;
|
||||
default:
|
||||
error ("Netlink error: %s", nl_geterror (nle));
|
||||
+ nl_object_dump (object, &dp);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return refresh_object (platform, object, FALSE, NM_PLATFORM_REASON_INTERNAL);
|
||||
}
|
||||
|
||||
/* Decreases the reference count if @obj for convenience */
|
||||
--
|
||||
1.8.3.1
|
||||
|
Loading…
Reference in New Issue
Block a user