On Wed, Aug 14, 2013 at 11:17:05AM +0800, Anand Jain wrote:
>
>
> On 08/14/2013 10:04 AM, Anand Jain wrote:
> >
> >
> >On 08/14/2013 03:14 AM, Josef Bacik wrote:
> >>On Fri, Jul 26, 2013 at 01:35:28AM +0800, Anand Jain wrote:
> >>>Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx>
> >>>---
> >>> mkfs.c | 3 ++-
> >>> 1 files changed, 2 insertions(+), 1 deletions(-)
> >>>
> >>>diff --git a/mkfs.c b/mkfs.c
> >>>index 60f906c..66f558a 100644
> >>>--- a/mkfs.c
> >>>+++ b/mkfs.c
> >>>@@ -1570,6 +1570,8 @@ 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,
> >>>@@ -1581,7 +1583,6 @@ 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,
> >>
> >>This breaks mkfs with multiple disks.
> >
> > I can't believe as I have been playing with multiple disks
> > quite a lot recently. let me dig more.
>
> Sorry my mistake.
>
> Indeed further down btrfs_add_to_fsid() stores fd. closing a
> stored fd is not correct theoretically.
>
> Josef, Would be keen to know which xfstest caught this. ?
>
It was btrfs/265, the one that does raid tests and such.
Josef
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html