eal: avoid error for non-existent default PMD path
authorBruce Richardson <bruce.richardson@intel.com>
Thu, 19 Oct 2017 08:49:12 +0000 (09:49 +0100)
committerThomas Monjalon <thomas@monjalon.net>
Mon, 23 Oct 2017 23:24:22 +0000 (01:24 +0200)
If the default location for the PMD .so files does not exist, it should
not be treated as a fatal error condition like an incorrect path on the
command line. Therefore check that the path exists and is a directory
before adding it to the list of paths to check for PMDs.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
lib/librte_eal/common/eal_common_options.c

index e40c049..450f266 100644 (file)
@@ -278,12 +278,13 @@ int
 eal_plugins_init(void)
 {
        struct shared_driver *solib = NULL;
+       struct stat sb;
 
-       if (*default_solib_dir != '\0')
+       if (*default_solib_dir != '\0' && stat(solib->name, &sb) == 0 &&
+                               S_ISDIR(sb.st_mode))
                eal_plugin_add(default_solib_dir);
 
        TAILQ_FOREACH(solib, &solib_list, next) {
-               struct stat sb;
 
                if (stat(solib->name, &sb) == 0 && S_ISDIR(sb.st_mode)) {
                        if (eal_plugindir_init(solib->name) == -1) {