summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--btrfs.c3
-rw-r--r--cmds-send.c2
-rw-r--r--crc32c.c4
-rw-r--r--crc32c.h2
-rw-r--r--restore.c8
-rw-r--r--send-utils.c4
6 files changed, 16 insertions, 7 deletions
diff --git a/btrfs.c b/btrfs.c
index a229cee3..687acec7 100644
--- a/btrfs.c
+++ b/btrfs.c
@@ -19,6 +19,7 @@
#include <stdlib.h>
#include <string.h>
+#include "crc32c.h"
#include "commands.h"
#include "version.h"
@@ -93,7 +94,7 @@ static int parse_one_token(const char *arg, const struct cmd_group *grp,
static const struct cmd_struct *
parse_command_token(const char *arg, const struct cmd_group *grp)
{
- const struct cmd_struct *cmd;
+ const struct cmd_struct *cmd = NULL;
switch(parse_one_token(arg, grp, &cmd)) {
case -1:
diff --git a/cmds-send.c b/cmds-send.c
index 41ea5236..9b47e706 100644
--- a/cmds-send.c
+++ b/cmds-send.c
@@ -495,6 +495,7 @@ int cmd_send_start(int argc, char **argv)
subvol = realpath(argv[optind], NULL);
if (!subvol) {
+ ret = -errno;
fprintf(stderr, "ERROR: unable to resolve %s\n", argv[optind]);
goto out;
}
@@ -519,6 +520,7 @@ int cmd_send_start(int argc, char **argv)
for (i = optind; i < argc; i++) {
subvol = realpath(argv[i], NULL);
if (!subvol) {
+ ret = -errno;
fprintf(stderr, "ERROR: unable to resolve %s\n", argv[i]);
goto out;
}
diff --git a/crc32c.c b/crc32c.c
index a761a1d2..c285d6e3 100644
--- a/crc32c.c
+++ b/crc32c.c
@@ -113,7 +113,7 @@ void crc32c_intel_probe(void)
}
}
-int crc32c_optimization_init(void)
+void crc32c_optimization_init(void)
{
crc32c_intel_probe();
if (crc32c_intel_available)
@@ -121,7 +121,7 @@ int crc32c_optimization_init(void)
}
#else
-int crc32c_optimization_init(void)
+void crc32c_optimization_init(void)
{
}
diff --git a/crc32c.h b/crc32c.h
index 27f298a8..7f12e770 100644
--- a/crc32c.h
+++ b/crc32c.h
@@ -22,7 +22,7 @@
#include "kerncompat.h"
u32 crc32c_le(u32 seed, unsigned char const *data, size_t length);
-int crc32c_optimization_init(void);
+void crc32c_optimization_init(void);
#define crc32c(seed, data, length) crc32c_le(seed, (unsigned char const *)data, length)
#define btrfs_crc32c crc32c
diff --git a/restore.c b/restore.c
index d1ac5420..b9e5381f 100644
--- a/restore.c
+++ b/restore.c
@@ -385,7 +385,6 @@ static int copy_file(struct btrfs_root *root, int fd, struct btrfs_key *key,
/* No more leaves to search */
btrfs_free_path(path);
goto set_size;
- return 0;
}
leaf = path->nodes[0];
} while (!leaf);
@@ -431,8 +430,11 @@ next:
btrfs_free_path(path);
set_size:
- if (found_size)
- ftruncate(fd, (loff_t)found_size);
+ if (found_size) {
+ ret = ftruncate(fd, (loff_t)found_size);
+ if (ret)
+ return ret;
+ }
return 0;
}
diff --git a/send-utils.c b/send-utils.c
index a43d47e5..af495a09 100644
--- a/send-utils.c
+++ b/send-utils.c
@@ -62,6 +62,8 @@ static struct rb_node *tree_insert(struct rb_root *root,
entry = rb_entry(parent, struct subvol_info,
rb_path_node);
comp = strcmp(entry->path, si->path);
+ } else {
+ BUG();
}
if (comp < 0)
@@ -120,6 +122,8 @@ static struct subvol_info *tree_search(struct rb_root *root,
} else if (type == subvol_search_by_path) {
entry = rb_entry(n, struct subvol_info, rb_path_node);
comp = strcmp(entry->path, path);
+ } else {
+ BUG();
}
if (comp < 0)
n = n->rb_left;