From: Andrew Morton <akpm@linux-foundation.org>
To: Ed Cashin <ecashin@coraid.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH] aoe: adjust ref of head for compound page tails
Date: Wed, 7 Aug 2013 14:00:21 -0700 [thread overview]
Message-ID: <20130807140021.57a40fb31807f16b525f6ff3@linux-foundation.org> (raw)
In-Reply-To: <0c8aff39249c1da6b9cc3356650149d065c3ebd2.1375320764.git.ecashin@coraid.com>
On Thu, 1 Aug 2013 21:29:59 -0400 Ed Cashin <ecashin@coraid.com> wrote:
> As discussed previously, the fact that some users of the block
> layer provide bios that point to pages with a zero _count means
> that it is not OK for the network layer to do a put_page on the
> skb frags during an skb_linearize, so the aoe driver gets a
> reference to pages in bios and puts the reference before ending
> the bio. And because it cannot use get_page on a page with a
> zero _count, it manipulates the value directly.
>
> It is not OK to increment the _count of a compound page tail,
> though, since the VM layer will VM_BUG_ON a non-zero _count.
> Block users that do direct I/O can result in the aoe driver
> seeing compound page tails in bios. In that case, the same logic
> works as long as the head of the compound page is used instead of
> the tails. This patch handles compound pages and does not BUG.
>
> It relies on the block layer user leaving the relationship
> between the page tail and its head alone for the duration between
> the submission of the bio and its completion, whether successful
> or not.
What are the end-user-visible effects of the problem which is being
fixed? Please always include this info when fixing bugs so that others
can work out what kernel version(s) need the patch.
next prev parent reply other threads:[~2013-08-07 21:00 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-02 1:29 [PATCH] aoe: respect compound page reference tracking expectations Ed Cashin
2013-08-02 1:29 ` [PATCH] aoe: adjust ref of head for compound page tails Ed Cashin
2013-08-07 20:58 ` Andrew Morton
2013-08-07 21:12 ` Ed Cashin
2013-08-07 21:18 ` Andrew Morton
2013-08-07 21:27 ` Andrew Morton
2013-08-07 23:41 ` Ed Cashin
2013-08-07 23:48 ` Ed Cashin
2013-08-07 23:51 ` Andrew Morton
2013-08-07 21:00 ` Andrew Morton [this message]
2013-08-07 21:21 ` Ed Cashin
2013-08-07 21:26 ` Andrew Morton
2013-08-07 23:27 ` Ed Cashin
2013-08-07 23:35 ` Andrew Morton
2013-08-07 23:54 ` Ed Cashin
2013-08-08 0:05 ` Andrew Morton
2013-08-08 0:50 ` Ed Cashin
2013-08-08 19:56 ` Andrew Morton
2013-08-08 21:02 ` Ed Cashin
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=20130807140021.57a40fb31807f16b525f6ff3@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=ecashin@coraid.com \
--cc=linux-kernel@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®