From 411eb2575effb82343b99889014d5b2082291318 Mon Sep 17 00:00:00 2001 From: Kent Overstreet Date: Tue, 19 Dec 2023 19:43:30 -0500 Subject: [PATCH] cmd_migrate: fix memory leaks Signed-off-by: Kent Overstreet --- cmd_migrate.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cmd_migrate.c b/cmd_migrate.c index 77bcedcd..f2a6cc7d 100644 --- a/cmd_migrate.c +++ b/cmd_migrate.c @@ -375,6 +375,7 @@ static void copy_file(struct bch_fs *c, struct bch_inode_unpacked *dst, fsync(src_fd); break; } + fiemap_iter_exit(&iter); fiemap_for_each(src_fd, iter, e) { if ((e.fe_logical & (block_bytes(c) - 1)) || @@ -408,6 +409,7 @@ static void copy_file(struct bch_fs *c, struct bch_inode_unpacked *dst, range_add(extents, e.fe_physical, e.fe_length); link_data(c, dst, e.fe_logical, e.fe_physical, e.fe_length); } + fiemap_iter_exit(&iter); } struct copy_fs_state { @@ -505,6 +507,7 @@ next: if (errno) die("readdir error: %m"); + closedir(dir); } static ranges reserve_new_fs_space(const char *file_path, unsigned block_size, @@ -547,6 +550,7 @@ static ranges reserve_new_fs_space(const char *file_path, unsigned block_size, range_add(&extents, e.fe_physical, e.fe_length); } + fiemap_iter_exit(&iter); close(fd); ranges_sort_merge(&extents);