[v2,2/2] telemetry: add extra log message on socket bind failure
Checks
Commit Message
If the library fails to create the needed socket, add an additional
check to report if the error is due to a missing DPDK runtime dir.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
lib/telemetry/telemetry.c | 5 +++++
1 file changed, 5 insertions(+)
--
2.30.2
Comments
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Bruce Richardson
> Sent: Friday, 2 July 2021 14.56
>
> If the library fails to create the needed socket, add an additional
> check to report if the error is due to a missing DPDK runtime dir.
>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
> lib/telemetry/telemetry.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/lib/telemetry/telemetry.c b/lib/telemetry/telemetry.c
> index 6baba57ec2..8665db8d03 100644
> --- a/lib/telemetry/telemetry.c
> +++ b/lib/telemetry/telemetry.c
> @@ -7,6 +7,7 @@
> #include <pthread.h>
> #include <sys/socket.h>
> #include <sys/un.h>
> +#include <sys/stat.h>
> #include <dlfcn.h>
> #endif /* !RTE_EXEC_ENV_WINDOWS */
>
> @@ -422,7 +423,11 @@ create_socket(char *path)
> strlcpy(sun.sun_path, path, sizeof(sun.sun_path));
> unlink(sun.sun_path);
> if (bind(sock, (void *) &sun, sizeof(sun)) < 0) {
> + struct stat st;
> +
> TMTY_LOG(ERR, "Error binding socket: %s\n",
> strerror(errno));
> + if (stat(socket_dir, &st) < 0 || !S_ISDIR(st.st_mode))
> + TMTY_LOG(ERR, "Cannot access DPDK runtime directory:
> %s\n", socket_dir);
> sun.sun_path[0] = 0;
> goto error;
> }
> --
> 2.30.2
>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
>-----Original Message-----
>From: Morten Brørup <mb@smartsharesystems.com>
>Sent: Friday 2 July 2021 15:23
>To: Richardson, Bruce <bruce.richardson@intel.com>; dev@dpdk.org
>Cc: Power, Ciara <ciara.power@intel.com>
>Subject: RE: [dpdk-dev] [PATCH v2 2/2] telemetry: add extra log message on
>socket bind failure
>
>> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Bruce Richardson
>> Sent: Friday, 2 July 2021 14.56
>>
>> If the library fails to create the needed socket, add an additional
>> check to report if the error is due to a missing DPDK runtime dir.
>>
>> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
>> ---
>> lib/telemetry/telemetry.c | 5 +++++
>> 1 file changed, 5 insertions(+)
>>
<snip>
>>
>Acked-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Ciara Power <ciara.power@intel.com>
On Fri, Jul 2, 2021 at 2:56 PM Bruce Richardson
<bruce.richardson@intel.com> wrote:
>
> If the library fails to create the needed socket, add an additional
> check to report if the error is due to a missing DPDK runtime dir.
>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
@@ -7,6 +7,7 @@
#include <pthread.h>
#include <sys/socket.h>
#include <sys/un.h>
+#include <sys/stat.h>
#include <dlfcn.h>
#endif /* !RTE_EXEC_ENV_WINDOWS */
@@ -422,7 +423,11 @@ create_socket(char *path)
strlcpy(sun.sun_path, path, sizeof(sun.sun_path));
unlink(sun.sun_path);
if (bind(sock, (void *) &sun, sizeof(sun)) < 0) {
+ struct stat st;
+
TMTY_LOG(ERR, "Error binding socket: %s\n", strerror(errno));
+ if (stat(socket_dir, &st) < 0 || !S_ISDIR(st.st_mode))
+ TMTY_LOG(ERR, "Cannot access DPDK runtime directory: %s\n", socket_dir);
sun.sun_path[0] = 0;
goto error;
}