The problem occure when we have config files on NFS filesystem.
Solution with minimal change to library is to add buffer for I/O operations.
Without buffering there is  3-10% of faulty Reading from NFS.

The problem seems to be only NFS filesystem.

Signed-off-by: Daniel Mrzyglod <danielx.t.mrzyglod at intel.com>
---
 lib/librte_cfgfile/rte_cfgfile.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/lib/librte_cfgfile/rte_cfgfile.c b/lib/librte_cfgfile/rte_cfgfile.c
index b81c273..6105e0c 100644
--- a/lib/librte_cfgfile/rte_cfgfile.c
+++ b/lib/librte_cfgfile/rte_cfgfile.c
@@ -93,10 +93,13 @@ rte_cfgfile_load(const char *filename, int flags)
        int curr_section = -1;
        int curr_entry = -1;
        char buffer[256];
+       char f_streambuff[BUFSIZ];
        int lineno = 0;
        struct rte_cfgfile *cfg = NULL;
+       memset(f_streambuff,'\0',BUFSIZ);

        FILE *f = fopen(filename, "r");
+       setbuf( f, f_streambuff);
        if (f == NULL)
                return NULL;

-- 
2.1.0

Reply via email to