btrfs-progs: fix mkfs.btrfs -r option
authorEric Sandeen <sandeen@redhat.com>
Tue, 29 Jan 2013 20:32:28 +0000 (14:32 -0600)
committerDavid Sterba <dsterba@suse.cz>
Thu, 31 Jan 2013 12:47:26 +0000 (13:47 +0100)
Commit 605e806166847872bb91831b397d58f95027975a broke the
mkfs.btrfs -r option, because it calls make_btrfs
without ever setting dev_block_count, in the -r case,
so we tell it to make a filesystem of size 0.

Then we wander into ENOSPC land and segfault.

As a quick one-line-fix, just set the dev_block_count
to the size of the destination image file.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
mkfs.c

diff --git a/mkfs.c b/mkfs.c
index a129ec4..e46f155 100644 (file)
--- a/mkfs.c
+++ b/mkfs.c
@@ -1384,6 +1384,8 @@ int main(int ac, char **av)
                        fprintf(stderr, "unable to zero the output file\n");
                        exit(1);
                }
+               /* our "device" is the new image file */
+               dev_block_count = block_count;
        }
 
        ssd = is_ssd(file);