From: Kent Overstreet <kmo@daterainc.com>
To: Jens Axboe <axboe@kernel.dk>
Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
snitzer@redhat.com
Subject: [GIT PULL] Immutable biovecs
Date: Mon, 25 Nov 2013 13:52:16 -0800 [thread overview]
Message-ID: <20131125215216.GB21515@kmo> (raw)
Jens - here's immutable biovecs, rebased and ready for 3.14. Changes since the
last version of the series:
* bio_clone_bioset() retains the old behaviour, as previously discussed -
bio_clone_fast() is being used by bcache, dm and the new bio_split().
There aren't that many users of the old bio_clone() and we should eventually
convert all the users that don't actually need it (for a couple of reasons),
but that can be left to future cleanups.
* refactoring patches to use submit_bio_wait() and bio_for_each_segment()
Regarding the bio chaining stuff, I'm not terribly happy with all the
bio_endio_nodec() calls but I want to keep that stuff simple for now - Mike
Snitzer had a good suggestion for that though. But I am seeing more and more
ways we can use that functionality to clean other stuff up - also, we should be
able to drop bi_cnt eventually, bi_remaining seems like it can be used to
replace the various bio_get() uses.
The following changes since commit 6ce4eac1f600b34f2f7f58f9cd8f0503d79e42ae:
Linux 3.13-rc1 (2013-11-22 11:30:55 -0800)
are available in the git repository at:
git://evilpiepirate.org/~kent/linux-bcache.git for-jens
for you to fetch changes up to 4b1faf931650d4a35b2a570318862821d6a962e3:
block: Kill bio_pair_split() (2013-11-23 22:33:57 -0800)
----------------------------------------------------------------
Kent Overstreet (25):
block: submit_bio_wait() conversions
block: Convert various code to bio_for_each_segment()
bcache: Kill unaligned bvec hack
block: Abstract out bvec iterator
dm: Use bvec_iter for dm_bio_record()
block: Convert bio_iovec() to bvec_iter
block: Convert bio_for_each_segment() to bvec_iter
block: Immutable bio vecs
block: Convert bio_copy_data() to bvec_iter
bio-integrity: Convert to bvec_iter
block: Kill bio_segments()/bi_vcnt usage
block: Convert drivers to immutable biovecs
aoe: Convert to immutable biovecs
ceph: Convert to immutable biovecs
block: Kill bio_iovec_idx(), __bio_iovec()
block: Refactor bio_clone_bioset() for immutable biovecs
block: Add bio_clone_fast()
rbd: Refactor bio cloning
dm: Refactor for new bio cloning/splitting
block: Don't save/copy bvec array anymore
block: Remove bi_idx hacks
block: Generic bio chaining
block: Rename bio_split() -> bio_pair_split()
block: Introduce new bio_split()
block: Kill bio_pair_split()
Documentation/block/biodoc.txt | 7 +-
Documentation/block/biovecs.txt | 111 ++++++
arch/m68k/emu/nfblock.c | 13 +-
arch/powerpc/sysdev/axonram.c | 21 +-
block/blk-core.c | 40 +--
block/blk-flush.c | 21 +-
block/blk-integrity.c | 40 ++-
block/blk-lib.c | 12 +-
block/blk-map.c | 6 +-
block/blk-merge.c | 66 ++--
block/blk-mq.c | 2 +-
block/blk-throttle.c | 14 +-
block/elevator.c | 2 +-
drivers/block/aoe/aoe.h | 10 +-
drivers/block/aoe/aoecmd.c | 153 ++++-----
drivers/block/brd.c | 16 +-
drivers/block/drbd/drbd_actlog.c | 2 +-
drivers/block/drbd/drbd_bitmap.c | 2 +-
drivers/block/drbd/drbd_main.c | 27 +-
drivers/block/drbd/drbd_receiver.c | 19 +-
drivers/block/drbd/drbd_req.c | 6 +-
drivers/block/drbd/drbd_req.h | 2 +-
drivers/block/drbd/drbd_worker.c | 8 +-
drivers/block/floppy.c | 16 +-
drivers/block/loop.c | 27 +-
drivers/block/mtip32xx/mtip32xx.c | 20 +-
drivers/block/nbd.c | 14 +-
drivers/block/nvme-core.c | 142 ++------
drivers/block/pktcdvd.c | 182 +++++-----
drivers/block/ps3disk.c | 17 +-
drivers/block/ps3vram.c | 12 +-
drivers/block/rbd.c | 91 +----
drivers/block/rsxx/dev.c | 6 +-
drivers/block/rsxx/dma.c | 15 +-
drivers/block/umem.c | 53 ++-
drivers/block/xen-blkback/blkback.c | 2 +-
drivers/block/xen-blkfront.c | 2 +-
drivers/md/bcache/bcache.h | 2 -
drivers/md/bcache/btree.c | 8 +-
drivers/md/bcache/debug.c | 21 +-
drivers/md/bcache/io.c | 196 ++---------
drivers/md/bcache/journal.c | 12 +-
drivers/md/bcache/movinggc.c | 4 +-
drivers/md/bcache/request.c | 131 +++-----
drivers/md/bcache/super.c | 20 +-
drivers/md/bcache/util.c | 4 +-
drivers/md/bcache/writeback.c | 6 +-
drivers/md/bcache/writeback.h | 2 +-
drivers/md/dm-bio-record.h | 37 +-
drivers/md/dm-bufio.c | 2 +-
drivers/md/dm-cache-policy-mq.c | 4 +-
drivers/md/dm-cache-target.c | 28 +-
drivers/md/dm-crypt.c | 64 ++--
drivers/md/dm-delay.c | 7 +-
drivers/md/dm-flakey.c | 7 +-
drivers/md/dm-io.c | 37 +-
drivers/md/dm-linear.c | 3 +-
drivers/md/dm-raid1.c | 20 +-
drivers/md/dm-region-hash.c | 3 +-
drivers/md/dm-snap.c | 19 +-
drivers/md/dm-stripe.c | 13 +-
drivers/md/dm-switch.c | 4 +-
drivers/md/dm-thin.c | 30 +-
drivers/md/dm-verity.c | 62 ++--
drivers/md/dm.c | 189 ++---------
drivers/md/faulty.c | 19 +-
drivers/md/linear.c | 96 +++---
drivers/md/md.c | 24 +-
drivers/md/multipath.c | 13 +-
drivers/md/raid0.c | 79 ++---
drivers/md/raid1.c | 75 +++--
drivers/md/raid10.c | 194 +++++------
drivers/md/raid5.c | 84 ++---
drivers/message/fusion/mptsas.c | 8 +-
drivers/s390/block/dasd_diag.c | 10 +-
drivers/s390/block/dasd_eckd.c | 48 +--
drivers/s390/block/dasd_fba.c | 26 +-
drivers/s390/block/dcssblk.c | 21 +-
drivers/s390/block/scm_blk.c | 8 +-
drivers/s390/block/scm_blk_cluster.c | 4 +-
drivers/s390/block/xpram.c | 19 +-
drivers/scsi/libsas/sas_expander.c | 8 +-
drivers/scsi/mpt2sas/mpt2sas_transport.c | 41 +--
drivers/scsi/mpt3sas/mpt3sas_transport.c | 39 +--
drivers/scsi/osd/osd_initiator.c | 2 +-
drivers/scsi/sd.c | 2 +-
drivers/scsi/sd_dif.c | 30 +-
drivers/staging/lustre/lustre/llite/lloop.c | 26 +-
drivers/staging/zram/zram_drv.c | 33 +-
drivers/target/target_core_iblock.c | 2 +-
fs/bio-integrity.c | 179 +++-------
fs/bio.c | 502 +++++++++++++---------------
fs/btrfs/check-integrity.c | 40 +--
fs/btrfs/check-integrity.h | 2 +
fs/btrfs/compression.c | 27 +-
fs/btrfs/disk-io.c | 11 +-
fs/btrfs/extent_io.c | 61 ++--
fs/btrfs/file-item.c | 19 +-
fs/btrfs/inode.c | 37 +-
fs/btrfs/raid56.c | 22 +-
fs/btrfs/scrub.c | 45 +--
fs/btrfs/volumes.c | 12 +-
fs/buffer.c | 12 +-
fs/direct-io.c | 4 +-
fs/ext4/page-io.c | 8 +-
fs/f2fs/data.c | 15 +-
fs/f2fs/segment.c | 14 +-
fs/gfs2/lops.c | 2 +-
fs/gfs2/ops_fstype.c | 2 +-
fs/hfsplus/wrapper.c | 19 +-
fs/jfs/jfs_logmgr.c | 12 +-
fs/jfs/jfs_metapage.c | 9 +-
fs/logfs/dev_bdev.c | 53 ++-
fs/mpage.c | 19 +-
fs/nfs/blocklayout/blocklayout.c | 43 +--
fs/nilfs2/segbuf.c | 3 +-
fs/ocfs2/cluster/heartbeat.c | 2 +-
fs/xfs/xfs_aops.c | 2 +-
fs/xfs/xfs_buf.c | 4 +-
include/linux/bio.h | 283 ++++++++++------
include/linux/blk_types.h | 24 +-
include/linux/blkdev.h | 9 +-
include/linux/ceph/messenger.h | 4 +-
include/linux/dm-io.h | 4 +-
include/trace/events/bcache.h | 26 +-
include/trace/events/block.h | 26 +-
include/trace/events/f2fs.h | 4 +-
kernel/power/block_io.c | 2 +-
kernel/trace/blktrace.c | 15 +-
mm/bounce.c | 44 ++-
mm/page_io.c | 10 +-
net/ceph/messenger.c | 43 +--
132 files changed, 2063 insertions(+), 2656 deletions(-)
create mode 100644 Documentation/block/biovecs.txt
next reply other threads:[~2013-11-25 21:52 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-25 21:52 Kent Overstreet [this message]
2013-11-26 6:05 ` [GIT PULL] Immutable biovecs Christoph Hellwig
2013-11-27 0:44 ` Kent Overstreet
2013-11-27 0:45 ` [PATCH 01/25] block: submit_bio_wait() conversions Kent Overstreet
2013-11-27 0:45 ` [PATCH 02/25] block: Convert various code to bio_for_each_segment() Kent Overstreet
2013-11-27 0:45 ` [PATCH 03/25] bcache: Kill unaligned bvec hack Kent Overstreet
[not found] ` <1385513128-5035-1-git-send-email-kmo-PEzghdH756F8UrSeD/g0lQ@public.gmane.org>
2013-11-27 0:45 ` [PATCH 04/25] block: Abstract out bvec iterator Kent Overstreet
2013-11-27 0:45 ` [Drbd-dev] " Kent Overstreet
2013-11-27 0:45 ` Kent Overstreet
2013-11-27 18:51 ` Geoff Levand
2014-01-17 8:00 ` Geert Uytterhoeven
2014-01-17 8:00 ` Geert Uytterhoeven
2013-11-27 0:45 ` [PATCH 05/25] dm: Use bvec_iter for dm_bio_record() Kent Overstreet
2013-11-27 0:45 ` [PATCH 06/25] block: Convert bio_iovec() to bvec_iter Kent Overstreet
2013-11-27 0:45 ` [PATCH 07/25] block: Convert bio_for_each_segment() " Kent Overstreet
2013-11-27 0:45 ` Kent Overstreet
2013-11-27 0:45 ` Kent Overstreet
2013-11-27 0:45 ` [Drbd-dev] " Kent Overstreet
2013-11-27 0:45 ` Kent Overstreet
2013-11-27 0:45 ` [Cluster-devel] " Kent Overstreet
2013-11-27 0:45 ` [Drbd-dev] [PATCH 08/25] block: Immutable bio vecs Kent Overstreet
2013-11-27 0:45 ` Kent Overstreet
2013-11-27 0:45 ` Kent Overstreet
2013-11-27 0:45 ` [PATCH 09/25] block: Convert bio_copy_data() to bvec_iter Kent Overstreet
2013-11-27 0:45 ` [PATCH 10/25] bio-integrity: Convert " Kent Overstreet
2013-11-27 0:45 ` [PATCH 11/25] block: Kill bio_segments()/bi_vcnt usage Kent Overstreet
2013-11-27 0:45 ` [PATCH 12/25] block: Convert drivers to immutable biovecs Kent Overstreet
2013-11-27 0:45 ` Kent Overstreet
2013-11-27 0:45 ` [PATCH 13/25] aoe: Convert " Kent Overstreet
2013-11-27 0:45 ` [PATCH 14/25] ceph: " Kent Overstreet
2013-11-27 0:45 ` [PATCH 15/25] block: Kill bio_iovec_idx(), __bio_iovec() Kent Overstreet
2013-11-27 0:45 ` [PATCH 16/25] block: Refactor bio_clone_bioset() for immutable biovecs Kent Overstreet
2013-11-27 0:45 ` [PATCH 17/25] block: Add bio_clone_fast() Kent Overstreet
2013-11-27 0:45 ` [PATCH 18/25] rbd: Refactor bio cloning Kent Overstreet
2013-11-27 0:45 ` [PATCH 19/25] dm: Refactor for new bio cloning/splitting Kent Overstreet
2013-11-27 0:45 ` [PATCH 20/25] block: Don't save/copy bvec array anymore Kent Overstreet
2013-11-27 0:45 ` [PATCH 21/25] block: Remove bi_idx hacks Kent Overstreet
2013-11-27 0:45 ` [PATCH 22/25] block: Generic bio chaining Kent Overstreet
2013-11-27 0:45 ` [PATCH 23/25] block: Rename bio_split() -> bio_pair_split() Kent Overstreet
2013-11-27 0:45 ` [PATCH 24/25] block: Introduce new bio_split() Kent Overstreet
2013-11-27 0:45 ` [PATCH 25/25] block: Kill bio_pair_split() Kent Overstreet
2013-11-27 0:59 ` [GIT PULL] Immutable biovecs Jens Axboe
-- strict thread matches above, loose matches on Subject: below --
2013-10-15 20:20 Kent Overstreet
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=20131125215216.GB21515@kmo \
--to=kmo@daterainc.com \
--cc=axboe@kernel.dk \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=snitzer@redhat.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.