From: James Bottomley <jbottomley@parallels.com>
To: Namjae Jeon <linkinjeon@gmail.com>
Cc: "axboe@kernel.dk" <axboe@kernel.dk>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Namjae Jeon <namjae.jeon@samsung.com>,
"Vivek Trivedi" <t.vivek@samsung.com>,
Shaohua Li <shli@kernel.org>,
Kent Overstreet <koverstreet@google.com>,
Tejun Heo <tj@kernel.org>,
"stable@vger.kernel.org" <stable@vger.kernel.org>
Subject: Re: [PATCH] block: fix max discard sectors limit
Date: Tue, 23 Apr 2013 13:42:41 +0000 [thread overview]
Message-ID: <1366724561.1930.3.camel@dabdike> (raw)
In-Reply-To: <1366722406-2899-1-git-send-email-linkinjeon@gmail.com>
On Tue, 2013-04-23 at 22:06 +0900, Namjae Jeon wrote:
> From: Namjae Jeon <namjae.jeon@samsung.com>
Hey, it's very impolite to send a patch I just gave you as a suggestion
to fix the issue under your own authorship.
What we need to know is has this been tested ... there's no tested-by
tags (and there also should really be a reported by).
James
> linux-v3.8-rc1 and later support for plug for blkdev_issue_discard with
> commit 0cfbcafcae8b7364b5fa96c2b26ccde7a3a296a9
> (block: add plug for blkdev_issue_discard )
>
> For example,
> 1) DISCARD rq-1 with size size 4GB
> 2) DISCARD rq-2 with size size 1GB
>
> If these 2 discard requests get merged, final request size will be 5GB.
>
> In this case, request's __data_len field may overflow as it can store
> max 4GB(unsigned int).
>
> This issue was observed while doing mkfs.f2fs on 5GB SD card:
> https://lkml.org/lkml/2013/4/1/292
>
> Info: sector size = 512
> Info: total sectors = 11370496 (in 512bytes)
> Info: zone aligned segment0 blkaddr: 512
> [ 257.789764] blk_update_request: bio idx 0 >= vcnt 0
>
> mkfs process gets stuck in D state and I see the following in the dmesg:
>
> [ 257.789733] __end_that: dev mmcblk0: type=1, flags=122c8081
> [ 257.789764] sector 4194304, nr/cnr 2981888/4294959104
> [ 257.789764] bio df3840c0, biotail df3848c0, buffer (null), len
> 1526726656
> [ 257.789764] blk_update_request: bio idx 0 >= vcnt 0
> [ 257.794921] request botched: dev mmcblk0: type=1, flags=122c8081
> [ 257.794921] sector 4194304, nr/cnr 2981888/4294959104
> [ 257.794921] bio df3840c0, biotail df3848c0, buffer (null), len
> 1526726656
>
> This patch fixes this issue.
>
> Reported-by: Max Filippov <jcmvbkbc@gmail.com>
> Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
> Signed-off-by: Vivek Trivedi <t.vivek@samsung.com>
> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
> Cc: Shaohua Li <shli@kernel.org>
> Cc: Kent Overstreet <koverstreet@google.com>
> Cc: Tejun Heo <tj@kernel.org>
> Cc: Jens Axboe <axboe@kernel.dk>
> Cc: <stable@vger.kernel.org>
> ---
> include/linux/blkdev.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
> index 07aa5f6..ff636bd 100644
> --- a/include/linux/blkdev.h
> +++ b/include/linux/blkdev.h
> @@ -844,7 +844,7 @@ static inline unsigned int blk_queue_get_max_sectors(struct request_queue *q,
> unsigned int cmd_flags)
> {
> if (unlikely(cmd_flags & REQ_DISCARD))
> - return q->limits.max_discard_sectors;
> + return min(q->limits.max_discard_sectors, UINT_MAX >> 9);
>
> if (unlikely(cmd_flags & REQ_WRITE_SAME))
> return q->limits.max_write_same_sectors;
next prev parent reply other threads:[~2013-04-23 13:42 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-23 13:06 [PATCH] block: fix max discard sectors limit Namjae Jeon
2013-04-23 13:42 ` James Bottomley [this message]
2013-04-23 14:49 ` Max Filippov
2013-04-23 15:54 ` Jens Axboe
2013-04-24 4:09 ` Namjae Jeon
-- strict thread matches above, loose matches on Subject: below --
2013-04-24 13:55 Namjae Jeon
2013-04-24 14:23 ` James Bottomley
2013-04-24 14:49 ` Jens Axboe
2013-04-24 14:23 ` Jens Axboe
2013-04-24 14:29 ` James Bottomley
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=1366724561.1930.3.camel@dabdike \
--to=jbottomley@parallels.com \
--cc=axboe@kernel.dk \
--cc=koverstreet@google.com \
--cc=linkinjeon@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=namjae.jeon@samsung.com \
--cc=shli@kernel.org \
--cc=stable@vger.kernel.org \
--cc=t.vivek@samsung.com \
--cc=tj@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 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.