btrfs-progs: mkfs: more verbose output for --rootdir
Print the source directory for --rootdir and if --shrink is used. With -vv then print the individual files as added: $ mkfs.btrfs --rootdir dir --shrink -vv img ... Rootdir from: Documentation ADD: /btrfs-progs/Documentation/btrfs-check.rst ... ADD: /btrfs-progs/Documentation/btrfs-send.rst Shrink: yes Label: (null) UUID: 40d3a16f-02d8-40d7-824b-239cee528093 ... The 'Rootdir from' is printed before the files are added so there's now message before the files are added which could take some time. Issue: #627 Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
95c1fa1871
commit
ae73e89f28
|
@ -1721,12 +1721,14 @@ raid_groups:
|
||||||
}
|
}
|
||||||
|
|
||||||
if (source_dir) {
|
if (source_dir) {
|
||||||
ret = btrfs_mkfs_fill_dir(source_dir, root, bconf.verbose);
|
pr_verbose(LOG_DEFAULT, "Rootdir from: %s\n", source_dir);
|
||||||
|
ret = btrfs_mkfs_fill_dir(source_dir, root);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
error("error while filling filesystem: %d", ret);
|
error("error while filling filesystem: %d", ret);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
if (shrink_rootdir) {
|
if (shrink_rootdir) {
|
||||||
|
pr_verbose(LOG_DEFAULT, " Shrink: yes\n");
|
||||||
ret = btrfs_mkfs_shrink_fs(fs_info, &shrink_size,
|
ret = btrfs_mkfs_shrink_fs(fs_info, &shrink_size,
|
||||||
shrink_rootdir);
|
shrink_rootdir);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
|
@ -1734,6 +1736,8 @@ raid_groups:
|
||||||
ret);
|
ret);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
pr_verbose(LOG_DEFAULT, " Shrink: no\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1783,9 +1787,8 @@ raid_groups:
|
||||||
btrfs_parse_runtime_features_to_string(features_buf, &features);
|
btrfs_parse_runtime_features_to_string(features_buf, &features);
|
||||||
printf("Runtime features: %s\n", features_buf);
|
printf("Runtime features: %s\n", features_buf);
|
||||||
#endif
|
#endif
|
||||||
printf("Checksum: %s",
|
printf("Checksum: %s\n",
|
||||||
btrfs_super_csum_name(mkfs_cfg.csum_type));
|
btrfs_super_csum_name(mkfs_cfg.csum_type));
|
||||||
printf("\n");
|
|
||||||
|
|
||||||
list_all_devices(root);
|
list_all_devices(root);
|
||||||
|
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
#include "common/internal.h"
|
#include "common/internal.h"
|
||||||
#include "common/messages.h"
|
#include "common/messages.h"
|
||||||
#include "common/path-utils.h"
|
#include "common/path-utils.h"
|
||||||
|
#include "common/utils.h"
|
||||||
#include "mkfs/rootdir.h"
|
#include "mkfs/rootdir.h"
|
||||||
|
|
||||||
static u32 fs_block_size;
|
static u32 fs_block_size;
|
||||||
|
@ -510,6 +511,8 @@ static int traverse_directory(struct btrfs_trans_handle *trans,
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < count; i++) {
|
for (i = 0; i < count; i++) {
|
||||||
|
char tmp[PATH_MAX];
|
||||||
|
|
||||||
cur_file = files[i];
|
cur_file = files[i];
|
||||||
|
|
||||||
if (lstat(cur_file->d_name, &st) == -1) {
|
if (lstat(cur_file->d_name, &st) == -1) {
|
||||||
|
@ -518,6 +521,10 @@ static int traverse_directory(struct btrfs_trans_handle *trans,
|
||||||
ret = -1;
|
ret = -1;
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
if (bconf.verbose >= LOG_INFO) {
|
||||||
|
path_cat_out(tmp, parent_dir_entry->path, cur_file->d_name);
|
||||||
|
pr_verbose(LOG_INFO, "ADD: %s\n", tmp);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We can not directly use the source ino number,
|
* We can not directly use the source ino number,
|
||||||
|
@ -566,8 +573,6 @@ static int traverse_directory(struct btrfs_trans_handle *trans,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (S_ISDIR(st.st_mode)) {
|
if (S_ISDIR(st.st_mode)) {
|
||||||
char tmp[PATH_MAX];
|
|
||||||
|
|
||||||
dir_entry = malloc(sizeof(*dir_entry));
|
dir_entry = malloc(sizeof(*dir_entry));
|
||||||
if (!dir_entry) {
|
if (!dir_entry) {
|
||||||
ret = -ENOMEM;
|
ret = -ENOMEM;
|
||||||
|
@ -631,8 +636,7 @@ fail_no_dir:
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
int btrfs_mkfs_fill_dir(const char *source_dir, struct btrfs_root *root,
|
int btrfs_mkfs_fill_dir(const char *source_dir, struct btrfs_root *root)
|
||||||
bool verbose)
|
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
struct btrfs_trans_handle *trans;
|
struct btrfs_trans_handle *trans;
|
||||||
|
@ -669,8 +673,6 @@ int btrfs_mkfs_fill_dir(const char *source_dir, struct btrfs_root *root,
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (verbose)
|
|
||||||
printf("Making image is completed.\n");
|
|
||||||
return 0;
|
return 0;
|
||||||
fail:
|
fail:
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -36,8 +36,7 @@ struct directory_name_entry {
|
||||||
struct list_head list;
|
struct list_head list;
|
||||||
};
|
};
|
||||||
|
|
||||||
int btrfs_mkfs_fill_dir(const char *source_dir, struct btrfs_root *root,
|
int btrfs_mkfs_fill_dir(const char *source_dir, struct btrfs_root *root);
|
||||||
bool verbose);
|
|
||||||
u64 btrfs_mkfs_size_dir(const char *dir_name, u32 sectorsize, u64 min_dev_size,
|
u64 btrfs_mkfs_size_dir(const char *dir_name, u32 sectorsize, u64 min_dev_size,
|
||||||
u64 meta_profile, u64 data_profile);
|
u64 meta_profile, u64 data_profile);
|
||||||
int btrfs_mkfs_shrink_fs(struct btrfs_fs_info *fs_info, u64 *new_size_ret,
|
int btrfs_mkfs_shrink_fs(struct btrfs_fs_info *fs_info, u64 *new_size_ret,
|
||||||
|
|
Loading…
Reference in New Issue