aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGoffredo Baroncelli <kreijack@inwind.it>2024-02-08 21:19:22 +0100
committerDavid Sterba <dsterba@suse.com>2024-02-20 11:40:08 +0100
commit900f21b4f1612bc861f6254ace8368c6b6120698 (patch)
tree9ed9c9856ddfee91489ad3efbb4ac23ecf6140bf
parent43dbe63dba6614d59bbcd3dc526038bafdc86834 (diff)
downloadbtrfs-progs-900f21b4f1612bc861f6254ace8368c6b6120698.tar.gz
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 <kreijack@libero.it> Signed-off-by: David Sterba <dsterba@suse.com>
-rw-r--r--cmds/device.c5
-rw-r--r--cmds/replace.c7
-rw-r--r--cmds/scrub.c15
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;
}