mirror of
https://github.com/kdave/btrfs-progs
synced 2025-01-23 14:03:10 +00:00
btrfs-progs: btrfs: Add missing btrfs_close_all_devices for btrfs command
Adding a btrfs_close_all_devices() after command callback in btrfs.c can force-close all opened device before program exit, to avoid memory leak in all btrfs sub-command. Suggested-by: David Sterba <dsterba@suse.cz> Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
1c4aefc2b8
commit
30fd6f2e92
9
btrfs.c
9
btrfs.c
@ -18,6 +18,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "volumes.h"
|
||||
#include "crc32c.h"
|
||||
#include "commands.h"
|
||||
#include "utils.h"
|
||||
@ -214,6 +215,7 @@ int main(int argc, char **argv)
|
||||
{
|
||||
const struct cmd_struct *cmd;
|
||||
const char *bname;
|
||||
int ret;
|
||||
|
||||
if ((bname = strrchr(argv[0], '/')) != NULL)
|
||||
bname++;
|
||||
@ -242,5 +244,10 @@ int main(int argc, char **argv)
|
||||
crc32c_optimization_init();
|
||||
|
||||
fixup_argv0(argv, cmd->token);
|
||||
exit(cmd->fn(argc, argv));
|
||||
|
||||
ret = cmd->fn(argc, argv);
|
||||
|
||||
btrfs_close_all_devices();
|
||||
|
||||
exit(ret);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user