Merge branch 't/writer_cleanups'
[paraslash.git] / write_common.c
index be7f9c221f5bda21b5b7cb79db02ec8f748a3102..04db8ff0d1e0da00207930e682fddc84678e88d2 100644 (file)
@@ -157,7 +157,15 @@ static void get_btr_value(struct btr_node *btrn, const char *cmd,
        char *buf = NULL;
        int ret = btr_exec_up(btrn, cmd, &buf);
 
-       assert(ret >= 0);
+       if (ret < 0) {
+               /*
+                * This really should not happen. It means one of our parent
+                * nodes died unexpectedly. Proceed with fingers crossed.
+                */
+               PARA_CRIT_LOG("cmd %s: %s\n", cmd, para_strerror(-ret));
+               *result = 0;
+               return;
+       }
        ret = para_atoi32(buf, result);
        assert(ret >= 0);
        free(buf);