> On Aug 13, 2019, at 9:54 PM, Qu Wenruo <quwenruo.btrfs@xxxxxxx> wrote:
>
>
>
>> On 2019/8/14 上午9:04, Jeff Mahoney wrote:
>> Printing the error number means having to go look up what that error
>> number means. For a developer, it's easy. For a user, it's unhelpful.
>>
>> Signed-off-by: Jeff Mahoney <jeffm@xxxxxxxx>
>> ---
>> mkfs/main.c | 47 ++++++++++++++++++++++++++++++-----------------
>> 1 file changed, 30 insertions(+), 17 deletions(-)
>>
>> diff --git a/mkfs/main.c b/mkfs/main.c
>> index b752da13..7bfeb610 100644
>> --- a/mkfs/main.c
>> +++ b/mkfs/main.c
>> @@ -1197,37 +1197,43 @@ int BOX_MAIN(mkfs)(int argc, char **argv)
>>
>> ret = create_metadata_block_groups(root, mixed, &allocation);
>> if (ret) {
>> - error("failed to create default block groups: %d", ret);
>> + error("failed to create default block groups: %d/%s",
>> + ret, strerror(-ret));
>
> The new trend is to use %m.
>
> So we would do something like:
> errno = -ret;
> error("%m");
>
Ok. It seems like that’s a job for a macro to set errno and autoappend the error message. I have a local branch that does that already.
-Jeff
> Thanks,
> Qu
>
>> goto error;
>> }
>>
>> trans = btrfs_start_transaction(root, 1);
>> if (IS_ERR(trans)) {
>> - error("failed to start transaction");
>> + error("failed to start transaction: %ld/%s",
>> + PTR_ERR(trans), strerror(-PTR_ERR(trans)));
>> goto error;
>> }
>>
>> ret = create_data_block_groups(trans, root, mixed, &allocation);
>> if (ret) {
>> - error("failed to create default data block groups: %d", ret);
>> + error("failed to create default data block groups: %d/%s",
>> + ret, strerror(-ret));
>> goto error;
>> }
>>
>> ret = make_root_dir(trans, root);
>> if (ret) {
>> - error("failed to setup the root directory: %d", ret);
>> + error("failed to setup the root directory: %d/%s",
>> + ret, strerror(-ret));
>> goto error;
>> }
>>
>> ret = btrfs_commit_transaction(trans, root);
>> if (ret) {
>> - error("unable to commit transaction: %d", ret);
>> + error("unable to commit transaction: %d/%s",
>> + ret, strerror(-ret));
>> goto out;
>> }
>>
>> trans = btrfs_start_transaction(root, 1);
>> if (IS_ERR(trans)) {
>> - error("failed to start transaction");
>> + error("failed to start transaction: %ld/%s",
>> + PTR_ERR(trans), strerror(-PTR_ERR(trans)));
>> goto error;
>> }
>>
>> @@ -1267,7 +1273,7 @@ int BOX_MAIN(mkfs)(int argc, char **argv)
>> ret = btrfs_add_to_fsid(trans, root, fd, file, dev_block_count,
>> sectorsize, sectorsize, sectorsize);
>> if (ret) {
>> - error("unable to add %s to filesystem: %d", file, ret);
>> + error("unable to add %s to filesystem: %d/%s", file, ret, strerror(-ret));
>> goto error;
>> }
>> if (verbose >= 2) {
>> @@ -1284,46 +1290,52 @@ raid_groups:
>> ret = create_raid_groups(trans, root, data_profile,
>> metadata_profile, mixed, &allocation);
>> if (ret) {
>> - error("unable to create raid groups: %d", ret);
>> + error("unable to create raid groups: %d/%s",
>> + ret, strerror(-ret));
>> goto out;
>> }
>>
>> ret = create_data_reloc_tree(trans);
>> if (ret) {
>> - error("unable to create data reloc tree: %d", ret);
>> + error("unable to create data reloc tree: %d/%s",
>> + ret, strerror(-ret));
>> goto out;
>> }
>>
>> ret = create_uuid_tree(trans);
>> if (ret)
>> warning(
>> - "unable to create uuid tree, will be created after mount: %d", ret);
>> + "unable to create uuid tree, will be created after mount: %d/%s",
>> + ret, strerror(-ret));
>>
>> ret = btrfs_commit_transaction(trans, root);
>> if (ret) {
>> - error("unable to commit transaction: %d", ret);
>> + error("unable to commit transaction: %d/%s",
>> + ret, strerror(-ret));
>> goto out;
>> }
>>
>> ret = cleanup_temp_chunks(fs_info, &allocation, data_profile,
>> metadata_profile, metadata_profile);
>> if (ret < 0) {
>> - error("failed to cleanup temporary chunks: %d", ret);
>> + error("failed to cleanup temporary chunks: %d/%s",
>> + ret, strerror(-ret));
>> goto out;
>> }
>>
>> if (source_dir_set) {
>> ret = btrfs_mkfs_fill_dir(source_dir, root, verbose);
>> if (ret) {
>> - error("error while filling filesystem: %d", ret);
>> + error("error while filling filesystem: %d/%s",
>> + ret, strerror(-ret));
>> goto out;
>> }
>> if (shrink_rootdir) {
>> ret = btrfs_mkfs_shrink_fs(fs_info, &shrink_size,
>> shrink_rootdir);
>> if (ret < 0) {
>> - error("error while shrinking filesystem: %d",
>> - ret);
>> + error("error while shrinking filesystem: %d/%s",
>> + ret, strerror(-ret));
>> goto out;
>> }
>> }
>> @@ -1383,8 +1395,9 @@ out:
>>
>> if (!ret && close_ret) {
>> ret = close_ret;
>> - error("failed to close ctree, the filesystem may be inconsistent: %d",
>> - ret);
>> + error(
>> + "failed to close ctree, the filesystem may be inconsistent: %d/%s",
>> + ret, strerror(-ret));
>> }
>>
>> btrfs_close_all_devices();
>>
>
--
Jeff Mahoney
SUSE Labs