From: Chris Mason <chris.mason@oracle.com>
To: Chris Mason <chris.mason@oracle.com>
Cc: Miao Xie <miaox@cn.fujitsu.com>, Josef Bacik <josef@redhat.com>,
Linux Btrfs <linux-btrfs@vger.kernel.org>,
Ito <t-itoh@jp.fujitsu.com>
Subject: Re: [PATCH -V2 3/3] btrfs: fix panic caused by direct IO
Date: Sun, 28 Nov 2010 20:55:28 -0500 [thread overview]
Message-ID: <1290995089-sup-4112@think> (raw)
In-Reply-To: <1290395921-sup-5232@think>
Excerpts from Chris Mason's message of 2010-11-21 22:18:54 -0500:
> Great, I'll test this and the others overnight. Thanks!
>
> -chris
>
> Excerpts from Miao Xie's message of 2010-11-21 22:04:43 -0500:
> > V1->V2 Changes:
> > change the fix method. we split bios in btrfs_submit_direct() to fix this
> > problem now.
> >
> > btrfs paniced when we write >64KB data by direct IO at one time.
> >
> > Reproduce steps:
> > # mkfs.btrfs /dev/sda5 /dev/sda6
> > # mount /dev/sda5 /mnt
> > # dd if=/dev/zero of=/mnt/tmpfile bs=100K count=1 oflag=direct
Thanks again for coding this up, the implementation looks good to me.
This easily passed the basic tests, but I ran into trouble when I tried
using it to server my virtual machines. The problem is that we create
ordered extents in the DIO get_blocks call, but the generic DIO code
may create a single bio to span more than one ordered extent by merging
adjacent ranges. I've fixed it here by walking forward through the
ordered extents in the end_io processing.
I've pushed these changes out to the next-rc branch of the btrfs
unstable tree, and the last commit is here:
Could you please take a look and verify it still works with your tests?
http://git.kernel.org/?p=linux/kernel/git/mason/btrfs-unstable.git;a=commit;h=163cf09c2a0ee5cac6285f9347975bd1e97725da
-chris
next prev parent reply other threads:[~2010-11-29 1:55 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-22 3:04 [PATCH -V2 3/3] btrfs: fix panic caused by direct IO Miao Xie
2010-11-22 3:18 ` Chris Mason
2010-11-29 1:55 ` Chris Mason [this message]
2010-11-29 2:08 ` Miao Xie
2010-11-29 3:58 ` Miao Xie
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1290995089-sup-4112@think \
--to=chris.mason@oracle.com \
--cc=josef@redhat.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=miaox@cn.fujitsu.com \
--cc=t-itoh@jp.fujitsu.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.