btrfs_add_to_fsid() saves the fd in the device list. close_ctree() will retrive the device list to handle the close(). So the device fd shouldn't closed here.
Signed-off-by: Anand Jain <anand.j...@oracle.com> --- mkfs.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) diff --git a/mkfs.c b/mkfs.c index 8183879..73f5425 100644 --- a/mkfs.c +++ b/mkfs.c @@ -1548,8 +1548,6 @@ int main(int ac, char **av) * occur by the following processing. * (btrfs_register_one_device() fails if O_EXCL is on) */ - if (fd > 0) - close(fd); fd = open(file, O_RDWR); if (fd < 0) { fprintf(stderr, "unable to open %s: %s\n", file, @@ -1561,6 +1559,7 @@ int main(int ac, char **av) if (ret) { fprintf(stderr, "skipping duplicate device %s in FS\n", file); + close(fd); continue; } ret = btrfs_prepare_device(fd, file, zero_end, &dev_block_count, -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html