Applied, Thanks. On Tue, 2021-11-30 at 15:14 -0800, Inga Stotland wrote: > When invoking mkdir() for mesh configuration storage, do not > report an error if a target directory already exists. > --- > mesh/keyring.c | 2 +- > mesh/rpl.c | 4 ++-- > mesh/util.c | 4 ++-- > 3 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/mesh/keyring.c b/mesh/keyring.c > index 51621777d..b44091154 100644 > --- a/mesh/keyring.c > +++ b/mesh/keyring.c > @@ -50,7 +50,7 @@ static int open_key_file(struct mesh_node *node, const char *key_dir, > > if (flags & O_CREAT) { > snprintf(fname, PATH_MAX, "%s%s", node_path, key_dir); > - if (mkdir(fname, 0755) != 0) > + if (mkdir(fname, 0755) != 0 && errno != EEXIST) > l_error("Failed to create dir(%d): %s", errno, fname); > } > > diff --git a/mesh/rpl.c b/mesh/rpl.c > index 9a99afe7b..6bb3532b2 100644 > --- a/mesh/rpl.c > +++ b/mesh/rpl.c > @@ -255,7 +255,7 @@ void rpl_update(struct mesh_node *node, uint32_t cur) > > /* Make sure path exists */ > snprintf(path, PATH_MAX, "%s%s", node_path, rpl_dir); > - if (mkdir(path, 0755) != 0) > + if (mkdir(path, 0755) != 0 && errno != EEXIST) > l_error("Failed to create dir(%d): %s", errno, path); > > dir = opendir(path); > @@ -293,7 +293,7 @@ bool rpl_init(const char *node_path) > return false; > > snprintf(path, PATH_MAX, "%s%s", node_path, rpl_dir); > - if (mkdir(path, 0755) != 0) > + if (mkdir(path, 0755) != 0 && errno != EEXIST) > l_error("Failed to create dir(%d): %s", errno, path); > return true; > } > diff --git a/mesh/util.c b/mesh/util.c > index d505e7a0c..82b57f642 100644 > --- a/mesh/util.c > +++ b/mesh/util.c > @@ -118,13 +118,13 @@ int create_dir(const char *dir_name) > } > > strncat(dir, prev + 1, next - prev); > - if (mkdir(dir, 0755) != 0) > + if (mkdir(dir, 0755) != 0 && errno != EEXIST) > l_error("Failed to create dir(%d): %s", errno, dir); > > prev = next; > } > > - if (mkdir(dir_name, 0755) != 0) > + if (mkdir(dir_name, 0755) != 0 && errno != EEXIST) > l_error("Failed to create dir(%d): %s", errno, dir_name); > > return 0;