aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZhao Lei <zhaolei@cn.fujitsu.com>2015-10-26 18:28:20 +0800
committerDavid Sterba <dsterba@suse.com>2015-11-02 09:35:08 +0100
commite72cb5de1211cedc0af2fd9ea4d7535d35c34f76 (patch)
tree2ff8eb1321dda81479addd3c648976484bb05016
parentda34dbd14936a4c6183be14b7db09f0d6e49cf09 (diff)
downloadbtrfs-progs-e72cb5de1211cedc0af2fd9ea4d7535d35c34f76.tar.gz
btrfs-progs: Add all missing btrfs_close_all_devices to standalone tools
This patch add all missing btrfs_close_all_devices() to standalone tools in btrfs progs, to avoid memory leak. Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.com>
-rw-r--r--btrfs-calc-size.c1
-rw-r--r--btrfs-debug-tree.c5
-rw-r--r--btrfs-find-root.c1
-rw-r--r--btrfs-map-logical.c1
-rw-r--r--btrfs-select-super.c2
-rw-r--r--btrfstune.c1
6 files changed, 10 insertions, 1 deletions
diff --git a/btrfs-calc-size.c b/btrfs-calc-size.c
index 7287858a..b756693b 100644
--- a/btrfs-calc-size.c
+++ b/btrfs-calc-size.c
@@ -508,5 +508,6 @@ int main(int argc, char **argv)
out:
close_ctree(root);
free(roots);
+ btrfs_close_all_devices();
return ret;
}
diff --git a/btrfs-debug-tree.c b/btrfs-debug-tree.c
index 7d8e876f..8adc39fa 100644
--- a/btrfs-debug-tree.c
+++ b/btrfs-debug-tree.c
@@ -28,6 +28,7 @@
#include "disk-io.h"
#include "print-tree.h"
#include "transaction.h"
+#include "volumes.h"
#include "utils.h"
static int print_usage(int ret)
@@ -428,5 +429,7 @@ no_node:
printf("uuid %s\n", uuidbuf);
printf("%s\n", PACKAGE_STRING);
close_root:
- return close_ctree(root);
+ ret = close_ctree(root);
+ btrfs_close_all_devices();
+ return ret;
}
diff --git a/btrfs-find-root.c b/btrfs-find-root.c
index 01b36036..fc3812ce 100644
--- a/btrfs-find-root.c
+++ b/btrfs-find-root.c
@@ -216,5 +216,6 @@ int main(int argc, char **argv)
out:
btrfs_find_root_free(&result);
close_ctree(root);
+ btrfs_close_all_devices();
return ret;
}
diff --git a/btrfs-map-logical.c b/btrfs-map-logical.c
index d9fa6b29..0161b5c6 100644
--- a/btrfs-map-logical.c
+++ b/btrfs-map-logical.c
@@ -359,5 +359,6 @@ close:
close_ctree(root);
if (ret < 0)
ret = 1;
+ btrfs_close_all_devices();
return ret;
}
diff --git a/btrfs-select-super.c b/btrfs-select-super.c
index b790f3e2..bd44978a 100644
--- a/btrfs-select-super.c
+++ b/btrfs-select-super.c
@@ -23,6 +23,7 @@
#include <sys/stat.h>
#include "kerncompat.h"
#include "ctree.h"
+#include "volumes.h"
#include "disk-io.h"
#include "print-tree.h"
#include "transaction.h"
@@ -101,5 +102,6 @@ int main(int ac, char **av)
*/
printf("using SB copy %llu, bytenr %llu\n", (unsigned long long)num,
(unsigned long long)bytenr);
+ btrfs_close_all_devices();
return ret;
}
diff --git a/btrfstune.c b/btrfstune.c
index c248ee6b..0907aa9e 100644
--- a/btrfstune.c
+++ b/btrfstune.c
@@ -548,6 +548,7 @@ int main(int argc, char *argv[])
}
out:
close_ctree(root);
+ btrfs_close_all_devices();
return ret;
}