Btrfs-progs: fix closing of opendir()
[platform/upstream/btrfs-progs.git] / btrfs-zero-log.c
index f10438b..f249aec 100644 (file)
@@ -42,6 +42,7 @@ static void print_usage(void)
 int main(int ac, char **av)
 {
        struct btrfs_root *root;
+       struct btrfs_trans_handle *trans;
        int ret;
 
        if (ac != 2)
@@ -50,7 +51,7 @@ int main(int ac, char **av)
        radix_tree_init();
 
        if((ret = check_mounted(av[1])) < 0) {
-               fprintf(stderr, "Could not check mount status: %s\n", strerror(ret));
+               fprintf(stderr, "Could not check mount status: %s\n", strerror(-ret));
                return ret;
        } else if(ret) {
                fprintf(stderr, "%s is currently mounted. Aborting.\n", av[1]);
@@ -62,8 +63,10 @@ int main(int ac, char **av)
        if (root == NULL)
                return 1;
 
-       btrfs_set_super_log_root(&root->fs_info->super_copy, 0);
-       btrfs_set_super_log_root_level(&root->fs_info->super_copy, 0);
+       trans = btrfs_start_transaction(root, 1);
+       btrfs_set_super_log_root(root->fs_info->super_copy, 0);
+       btrfs_set_super_log_root_level(root->fs_info->super_copy, 0);
+       btrfs_commit_transaction(trans, root);
        close_ctree(root);
        return ret;
 }