- another_pathlen = strlen(vol->v_path);
- if (strncmp(path, vol->v_path, MIN(current_pathlen, another_pathlen)) == 0) {
- if (current_pathlen == another_pathlen) {
- LOG(log_error, logtype_afpd, "volume \"%s\" paths is duplicated: \"%s\"", name, path);
- vol->v_deleted = 0;
- volume = vol;
- goto EC_CLEANUP;
- } else {
- const char *shorter_path, *longer_path;
- int shorter_len;
- if (another_pathlen > current_pathlen) {
- shorter_len = current_pathlen;
- shorter_path = path;
- longer_path = vol->v_path;
- } else {
- shorter_len = another_pathlen;
- shorter_path = vol->v_path;
- longer_path = path;
- }
- if (longer_path[shorter_len] == '/')
- LOG(log_info, logtype_afpd, "volume \"%s\" paths are nested: \"%s\" and \"%s\"", name, path, vol->v_path);
- }
+ if (STRCMP(name, ==, vol->v_localname) && vol->v_deleted) {
+ /*
+ * reloading config, volume still present, nothing else to do,
+ * we don't change options for volumes once they're loaded
+ */
+ vol->v_deleted = 0;
+ EC_EXIT_STATUS(0);