summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/sqfshelper/writer.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/sqfshelper/writer.c b/lib/sqfshelper/writer.c
index e914d2d..e57ad76 100644
--- a/lib/sqfshelper/writer.c
+++ b/lib/sqfshelper/writer.c
@@ -120,12 +120,18 @@ int sqfs_writer_finish(sqfs_writer_t *sqfs, const sqfs_writer_cfg_t *cfg)
{
int ret;
+ if (!cfg->quiet)
+ fputs("Waiting for remaining data blocks...\n", stdout);
+
ret = sqfs_data_writer_finish(sqfs->data);
if (ret) {
sqfs_perror(cfg->filename, "finishing data blocks", ret);
return -1;
}
+ if (!cfg->quiet)
+ fputs("Writing inodes and directories...\n", stdout);
+
tree_node_sort_recursive(sqfs->fs.root);
if (fstree_gen_inode_table(&sqfs->fs))
return -1;
@@ -137,6 +143,9 @@ int sqfs_writer_finish(sqfs_writer_t *sqfs, const sqfs_writer_cfg_t *cfg)
return -1;
}
+ if (!cfg->quiet)
+ fputs("Writing fragment table...\n", stdout);
+
ret = sqfs_data_writer_write_fragment_table(sqfs->data, &sqfs->super);
if (ret) {
sqfs_perror(cfg->filename, "writing fragment table", ret);
@@ -144,12 +153,18 @@ int sqfs_writer_finish(sqfs_writer_t *sqfs, const sqfs_writer_cfg_t *cfg)
}
if (cfg->exportable) {
+ if (!cfg->quiet)
+ fputs("Writing export table...\n", stdout);
+
if (write_export_table(cfg->filename, sqfs->outfile, &sqfs->fs,
&sqfs->super, sqfs->cmp)) {
return -1;
}
}
+ if (!cfg->quiet)
+ fputs("Writing ID table...\n", stdout);
+
ret = sqfs_id_table_write(sqfs->idtbl, sqfs->outfile,
&sqfs->super, sqfs->cmp);
if (ret) {
@@ -157,6 +172,9 @@ int sqfs_writer_finish(sqfs_writer_t *sqfs, const sqfs_writer_cfg_t *cfg)
return -1;
}
+ if (!cfg->quiet)
+ fputs("Writing extended attributes...\n", stdout);
+
ret = sqfs_xattr_writer_flush(sqfs->xwr, sqfs->outfile,
&sqfs->super, sqfs->cmp);
if (ret) {