From: Tejun Heo <tj@kernel.org>
To: axboe@kernel.dk, bharrosh@panasas.com, linux-kernel@vger.kernel.org
Subject: [GIT PATCHSET block#for-linus] block: blk-map related fixes
Date: Wed, 1 Apr 2009 20:04:36 +0900 [thread overview]
Message-ID: <1238583884-13517-1-git-send-email-tj@kernel.org> (raw)
Hi, Jens.
Upon ack, please pull from the following git tree.
git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git blk-map-fixes
http://git.kernel.org/?p=linux/kernel/git/tj/misc.git;a=shortlog;h=blk-map-fixes
This patchset contains the following eight patches to fix subtle bugs
in scatterlist and blk-map and are candidates for 2.6.30 inclusion.
0001-scatterlist-make-sure-sg_miter_next-doesn-t-retur.patch
0002-block-fix-SG_IO-vector-request-data-length-handling.patch
0003-block-fix-queue-bounce-limit-setting.patch
0004-bio-actually-inline-inline-bvecs-into-bio.patch
0005-bio-fix-bio_kmalloc.patch
0006-bio-remove-size-segments-limit-on-bio_-copy-map-_-u.patch
0007-blk-map-let-blk_rq_map_user_iov-support-null-mapp.patch
0008-blk-map-reimplement-blk_rq_map_user-using-blk_rq_.patch
0001 fixes a subtle bug in sg mapping iterator where zero-size maps
were returned. The bug isn't critical but can sometimes lead to
unexpected results (when testing for full consumption for example).
0002 is visible to userland. It fixes block iovec SG_IOs such that
when sghdr->dxfer_len and the data length in the iovec disagrees, the
shorter one wins instead of failing as described in the SG_IO howto.
0003 is pretty critical. The bug means that GFP_DMA is set in
q->bounce_gfp for many ATA controllers on x86_64 which leads to OOM if
large SG_IO is issued.
0004-0008 fixes bio_kmalloc(), removes bio-imposed segment and length
limit when using bio_kmalloc() and makes blk_rq_map_{user|kern}*()
functions always use single bio instead of chain of bios. It's not
only simpler but also makes sure the resulting request falls inside
queue limits as a whole. Previously, only each bio was checked for
limits, so the whole request could go over the limits.
This patchset is on top of the current linux-2.6-block#for-linus[1]
and contains the following changes.
block/blk-map.c | 119 +++------------------------------------------
block/blk-settings.c | 20 ++++---
block/scsi_ioctl.c | 13 ++++
drivers/md/dm-io.c | 4 -
drivers/md/dm.c | 4 -
drivers/scsi/scsi_lib.c | 3 -
fs/bio.c | 97 +++++++++++++++++++-----------------
fs/btrfs/extent_io.c | 2
fs/ext4/extents.c | 4 -
fs/xfs/linux-2.6/xfs_buf.c | 2
include/linux/bio.h | 16 +++---
lib/scatterlist.c | 9 ++-
12 files changed, 109 insertions(+), 184 deletions(-)
Thanks.
--
tejun
[1] 714ed0cf62319b14dc327273a7339a9a199fe046
next reply other threads:[~2009-04-01 11:05 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-01 11:04 Tejun Heo [this message]
2009-04-01 11:04 ` [PATCH 1/8] scatterlist: make sure sg_miter_next() doesn't return 0 sized mappings Tejun Heo
2009-04-01 11:04 ` [PATCH 2/8] block: fix SG_IO vector request data length handling Tejun Heo
2009-04-01 11:47 ` FUJITA Tomonori
2009-04-01 11:50 ` Jens Axboe
2009-04-01 12:18 ` FUJITA Tomonori
2009-04-01 12:24 ` Jens Axboe
2009-04-01 12:27 ` Tejun Heo
2009-04-01 12:29 ` Jens Axboe
2009-04-01 11:04 ` [PATCH 3/8] block: fix queue bounce limit setting Tejun Heo
2009-04-01 11:04 ` [PATCH 4/8] bio: actually inline inline bvecs into bio Tejun Heo
2009-04-01 12:47 ` Jens Axboe
2009-04-01 12:55 ` Tejun Heo
2009-04-01 12:59 ` Jens Axboe
2009-04-01 11:04 ` [PATCH 5/8] bio: fix bio_kmalloc() Tejun Heo
2009-04-01 11:04 ` [PATCH 6/8] bio: remove size/segments limit on bio_{copy|map}_{user|kern}*() Tejun Heo
2009-04-01 11:04 ` [PATCH 7/8] blk-map: let blk_rq_map_user_iov() support null mapping Tejun Heo
2009-04-01 11:54 ` FUJITA Tomonori
2009-04-01 12:03 ` Tejun Heo
2009-04-01 11:04 ` [PATCH 8/8] blk-map: reimplement blk_rq_map_user() using blk_rq_map_user_iov() Tejun Heo
2009-04-01 12:44 ` FUJITA Tomonori
2009-04-01 12:50 ` Tejun Heo
2009-04-01 12:59 ` FUJITA Tomonori
2009-04-01 13:03 ` Tejun Heo
2009-04-01 13:10 ` FUJITA Tomonori
2009-04-01 13:17 ` Tejun Heo
2009-04-01 13:18 ` Tejun Heo
2009-04-01 13:22 ` FUJITA Tomonori
2009-04-01 13:28 ` Tejun Heo
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=1238583884-13517-1-git-send-email-tj@kernel.org \
--to=tj@kernel.org \
--cc=axboe@kernel.dk \
--cc=bharrosh@panasas.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