From 900f21b4f1612bc861f6254ace8368c6b6120698 Mon Sep 17 00:00:00 2001 From: Goffredo Baroncelli Date: Thu, 8 Feb 2024 21:19:22 +0100 Subject: [PATCH] btrfs-progs: replace open_path_or_dev_mnt with btrfs_open_mnt_fd For historical reasons the helpers [btrfs_]open_dir... return also the 'DIR *dirstream' value when a directory is opened. However this is never used. So avoid calling diropen() and return only the fd. Replace open_path_or_dev_mnt() with btrfs_open_mnt_fd() removing any reference to the unused/useless dirstream variables. Signed-off-by: Goffredo Baroncelli Signed-off-by: David Sterba --- cmds/device.c | 5 ++--- cmds/replace.c | 7 +++---- cmds/scrub.c | 15 ++++++--------- 3 files changed, 11 insertions(+), 16 deletions(-) diff --git a/cmds/device.c b/cmds/device.c index cc201ff9..5be76595 100644 --- a/cmds/device.c +++ b/cmds/device.c @@ -717,7 +717,6 @@ static int cmd_device_stats(const struct cmd_struct *cmd, int argc, char **argv) bool free_table = false; bool tabular = false; __u64 flags = 0; - DIR *dirstream = NULL; struct format_ctx fctx; optind = 0; @@ -753,7 +752,7 @@ static int cmd_device_stats(const struct cmd_struct *cmd, int argc, char **argv) dev_path = argv[optind]; - fdmnt = open_path_or_dev_mnt(dev_path, &dirstream, 1); + fdmnt = btrfs_open_mnt_fd(dev_path, true); if (fdmnt < 0) return 1; @@ -839,7 +838,7 @@ static int cmd_device_stats(const struct cmd_struct *cmd, int argc, char **argv) out: free(di_args); - close_file_or_dir(fdmnt, dirstream); + close(fdmnt); if (free_table) table_free(table); diff --git a/cmds/replace.c b/cmds/replace.c index 171a72b4..f1db9477 100644 --- a/cmds/replace.c +++ b/cmds/replace.c @@ -136,7 +136,6 @@ static int cmd_replace_start(const struct cmd_struct *cmd, bool force_using_targetdev = false; u64 dstdev_block_count; bool do_not_background = false; - DIR *dirstream = NULL; u64 srcdev_size; u64 dstdev_size; bool enqueue = false; @@ -184,7 +183,7 @@ static int cmd_replace_start(const struct cmd_struct *cmd, return 1; path = argv[optind + 2]; - fdmnt = open_path_or_dev_mnt(path, &dirstream, 1); + fdmnt = btrfs_open_mnt_fd(path, true); if (fdmnt < 0) goto leave_with_error; @@ -200,7 +199,7 @@ static int cmd_replace_start(const struct cmd_struct *cmd, if (ret != 0) { if (ret < 0) error("unable to check status of exclusive operation: %m"); - close_file_or_dir(fdmnt, dirstream); + close(fdmnt); goto leave_with_error; } @@ -348,7 +347,7 @@ static int cmd_replace_start(const struct cmd_struct *cmd, goto leave_with_error; } } - close_file_or_dir(fdmnt, dirstream); + close(fdmnt); return 0; leave_with_error: diff --git a/cmds/scrub.c b/cmds/scrub.c index e105ecb2..039a67d1 100644 --- a/cmds/scrub.c +++ b/cmds/scrub.c @@ -1269,7 +1269,6 @@ static int scrub_start(const struct cmd_struct *cmd, int argc, char **argv, pthread_mutex_t spc_write_mutex = PTHREAD_MUTEX_INITIALIZER; void *terr; u64 devid; - DIR *dirstream = NULL; bool force = false; bool nothing_to_resume = false; @@ -1326,7 +1325,7 @@ static int scrub_start(const struct cmd_struct *cmd, int argc, char **argv, path = argv[optind]; - fdmnt = open_path_or_dev_mnt(path, &dirstream, !do_quiet); + fdmnt = btrfs_open_mnt_fd(path, !do_quiet); if (fdmnt < 0) return 1; @@ -1698,7 +1697,7 @@ out: if (sock_path[0]) unlink(sock_path); } - close_file_or_dir(fdmnt, dirstream); + close(fdmnt); if (err) return 1; @@ -1751,7 +1750,6 @@ static int cmd_scrub_cancel(const struct cmd_struct *cmd, int argc, char **argv) char *path; int ret; int fdmnt = -1; - DIR *dirstream = NULL; clean_args_no_options(cmd, argc, argv); @@ -1760,7 +1758,7 @@ static int cmd_scrub_cancel(const struct cmd_struct *cmd, int argc, char **argv) path = argv[optind]; - fdmnt = open_path_or_dev_mnt(path, &dirstream, 1); + fdmnt = btrfs_open_mnt_fd(path, true); if (fdmnt < 0) { ret = 1; goto out; @@ -1782,7 +1780,7 @@ static int cmd_scrub_cancel(const struct cmd_struct *cmd, int argc, char **argv) pr_verbose(LOG_DEFAULT, "scrub cancelled\n"); out: - close_file_or_dir(fdmnt, dirstream); + close(fdmnt); return ret; } static DEFINE_SIMPLE_COMMAND(scrub_cancel, "cancel"); @@ -1841,7 +1839,6 @@ static int cmd_scrub_status(const struct cmd_struct *cmd, int argc, char **argv) char fsid[BTRFS_UUID_UNPARSED_SIZE]; int fdres = -1; int err = 0; - DIR *dirstream = NULL; unit_mode = get_unit_mode_from_arg(&argc, argv, 0); @@ -1864,7 +1861,7 @@ static int cmd_scrub_status(const struct cmd_struct *cmd, int argc, char **argv) path = argv[optind]; - fdmnt = open_path_or_dev_mnt(path, &dirstream, 1); + fdmnt = btrfs_open_mnt_fd(path, true); if (fdmnt < 0) return 1; @@ -1978,7 +1975,7 @@ out: free(si_args); if (fdres > -1) close(fdres); - close_file_or_dir(fdmnt, dirstream); + close(fdmnt); return !!err; }