search for: bi_iter

Displaying 20 results from an estimated 79 matches for "bi_iter".

2013 Oct 29
0
[PATCH 07/23] block: Convert bio_for_each_segment() to bvec_iter
More prep work for immutable biovecs - with immutable bvecs drivers won't be able to use the biovec directly, they'll need to use helpers that take into account bio->bi_iter.bi_bvec_done. This updates callers for the new usage without changing the implementation yet. Signed-off-by: Kent Overstreet <kmo at daterainc.com> Cc: Jens Axboe <axboe at kernel.dk> Cc: Geert Uytterhoeven <geert at linux-m68k.org> Cc: Benjamin Herrenschmidt <benh at kernel....
2013 Oct 29
0
[PATCH 07/23] block: Convert bio_for_each_segment() to bvec_iter
More prep work for immutable biovecs - with immutable bvecs drivers won't be able to use the biovec directly, they'll need to use helpers that take into account bio->bi_iter.bi_bvec_done. This updates callers for the new usage without changing the implementation yet. Signed-off-by: Kent Overstreet <kmo at daterainc.com> Cc: Jens Axboe <axboe at kernel.dk> Cc: Geert Uytterhoeven <geert at linux-m68k.org> Cc: Benjamin Herrenschmidt <benh at kernel....
2013 Oct 29
0
[PATCH 07/23] block: Convert bio_for_each_segment() to bvec_iter
More prep work for immutable biovecs - with immutable bvecs drivers won't be able to use the biovec directly, they'll need to use helpers that take into account bio->bi_iter.bi_bvec_done. This updates callers for the new usage without changing the implementation yet. Signed-off-by: Kent Overstreet <kmo at daterainc.com> Cc: Jens Axboe <axboe at kernel.dk> Cc: Geert Uytterhoeven <geert at linux-m68k.org> Cc: Benjamin Herrenschmidt <benh at kernel....
2013 Aug 07
0
[PATCH 07/22] block: Convert bio_for_each_segment() to bvec_iter
More prep work for immutable biovecs - with immutable bvecs drivers won't be able to use the biovec directly, they'll need to use helpers that take into account bio->bi_iter.bi_bvec_done. This updates callers for the new usage without changing the implementation yet. Signed-off-by: Kent Overstreet <kmo at daterainc.com> Cc: Jens Axboe <axboe at kernel.dk> Cc: Geert Uytterhoeven <geert at linux-m68k.org> Cc: Benjamin Herrenschmidt <benh at kernel....
2013 Aug 07
0
[PATCH 07/22] block: Convert bio_for_each_segment() to bvec_iter
More prep work for immutable biovecs - with immutable bvecs drivers won't be able to use the biovec directly, they'll need to use helpers that take into account bio->bi_iter.bi_bvec_done. This updates callers for the new usage without changing the implementation yet. Signed-off-by: Kent Overstreet <kmo at daterainc.com> Cc: Jens Axboe <axboe at kernel.dk> Cc: Geert Uytterhoeven <geert at linux-m68k.org> Cc: Benjamin Herrenschmidt <benh at kernel....
2013 Aug 07
0
[PATCH 07/22] block: Convert bio_for_each_segment() to bvec_iter
More prep work for immutable biovecs - with immutable bvecs drivers won't be able to use the biovec directly, they'll need to use helpers that take into account bio->bi_iter.bi_bvec_done. This updates callers for the new usage without changing the implementation yet. Signed-off-by: Kent Overstreet <kmo at daterainc.com> Cc: Jens Axboe <axboe at kernel.dk> Cc: Geert Uytterhoeven <geert at linux-m68k.org> Cc: Benjamin Herrenschmidt <benh at kernel....
2013 Jun 09
0
[PATCH 06/26] block: Convert bio_for_each_segment() to bvec_iter
More prep work for immutable biovecs - with immutable bvecs drivers won't be able to use the biovec directly, they'll need to use helpers that take into account bio->bi_iter.bi_bvec_done. This updates callers for the new usage without changing the implementation yet. Signed-off-by: Kent Overstreet <koverstreet at google.com> Cc: Jens Axboe <axboe at kernel.dk> Cc: Geert Uytterhoeven <geert at linux-m68k.org> Cc: Benjamin Herrenschmidt <benh at ke...
2013 Jun 09
0
[PATCH 06/26] block: Convert bio_for_each_segment() to bvec_iter
More prep work for immutable biovecs - with immutable bvecs drivers won't be able to use the biovec directly, they'll need to use helpers that take into account bio->bi_iter.bi_bvec_done. This updates callers for the new usage without changing the implementation yet. Signed-off-by: Kent Overstreet <koverstreet at google.com> Cc: Jens Axboe <axboe at kernel.dk> Cc: Geert Uytterhoeven <geert at linux-m68k.org> Cc: Benjamin Herrenschmidt <benh at ke...
2013 Jun 09
0
[PATCH 06/26] block: Convert bio_for_each_segment() to bvec_iter
More prep work for immutable biovecs - with immutable bvecs drivers won't be able to use the biovec directly, they'll need to use helpers that take into account bio->bi_iter.bi_bvec_done. This updates callers for the new usage without changing the implementation yet. Signed-off-by: Kent Overstreet <koverstreet at google.com> Cc: Jens Axboe <axboe at kernel.dk> Cc: Geert Uytterhoeven <geert at linux-m68k.org> Cc: Benjamin Herrenschmidt <benh at ke...
2013 Nov 27
0
[PATCH 07/25] block: Convert bio_for_each_segment() to bvec_iter
More prep work for immutable biovecs - with immutable bvecs drivers won't be able to use the biovec directly, they'll need to use helpers that take into account bio->bi_iter.bi_bvec_done. This updates callers for the new usage without changing the implementation yet. Signed-off-by: Kent Overstreet <kmo at daterainc.com> Cc: Jens Axboe <axboe at kernel.dk> Cc: Geert Uytterhoeven <geert at linux-m68k.org> Cc: Benjamin Herrenschmidt <benh at kernel....
2013 Nov 27
0
[PATCH 07/25] block: Convert bio_for_each_segment() to bvec_iter
More prep work for immutable biovecs - with immutable bvecs drivers won't be able to use the biovec directly, they'll need to use helpers that take into account bio->bi_iter.bi_bvec_done. This updates callers for the new usage without changing the implementation yet. Signed-off-by: Kent Overstreet <kmo at daterainc.com> Cc: Jens Axboe <axboe at kernel.dk> Cc: Geert Uytterhoeven <geert at linux-m68k.org> Cc: Benjamin Herrenschmidt <benh at kernel....
2013 Nov 27
0
[PATCH 07/25] block: Convert bio_for_each_segment() to bvec_iter
More prep work for immutable biovecs - with immutable bvecs drivers won't be able to use the biovec directly, they'll need to use helpers that take into account bio->bi_iter.bi_bvec_done. This updates callers for the new usage without changing the implementation yet. Signed-off-by: Kent Overstreet <kmo at daterainc.com> Cc: Jens Axboe <axboe at kernel.dk> Cc: Geert Uytterhoeven <geert at linux-m68k.org> Cc: Benjamin Herrenschmidt <benh at kernel....
2013 Mar 27
0
[PATCH 04/22] block: Convert bio_for_each_segment() to bvec_iter
More prep work for immutable biovecs - with immutable bvecs drivers won't be able to use the biovec directly, they'll need to use helpers that take into account bio->bi_iter.bi_bvec_done. This updates callers for the new usage without changing the implementation yet. Signed-off-by: Kent Overstreet <koverstreet at google.com> Cc: Jens Axboe <axboe at kernel.dk> Cc: Geert Uytterhoeven <geert at linux-m68k.org> Cc: Benjamin Herrenschmidt <benh at ke...
2013 Mar 27
0
[PATCH 04/22] block: Convert bio_for_each_segment() to bvec_iter
More prep work for immutable biovecs - with immutable bvecs drivers won't be able to use the biovec directly, they'll need to use helpers that take into account bio->bi_iter.bi_bvec_done. This updates callers for the new usage without changing the implementation yet. Signed-off-by: Kent Overstreet <koverstreet at google.com> Cc: Jens Axboe <axboe at kernel.dk> Cc: Geert Uytterhoeven <geert at linux-m68k.org> Cc: Benjamin Herrenschmidt <benh at ke...
2019 Apr 11
4
[PATCH v5 1/6] libnvdimm: nd_region flush callback support
...gate async behavior on the presence of the 'bio' argument? > + int rc = 0; > + > + /* Create child bio for asynchronous flush and chain with > + * parent bio. Otherwise directly call nd_region flush. > + */ > + if (async && bio->bi_iter.bi_sector != -1) { > + > + struct bio *child = bio_alloc(GFP_ATOMIC, 0); > + > + if (!child) > + return -ENOMEM; > + bio_copy_dev(child, bio); > + child->bi_opf = REQ_PREFLUSH; > +...
2019 Apr 11
4
[PATCH v5 1/6] libnvdimm: nd_region flush callback support
...gate async behavior on the presence of the 'bio' argument? > + int rc = 0; > + > + /* Create child bio for asynchronous flush and chain with > + * parent bio. Otherwise directly call nd_region flush. > + */ > + if (async && bio->bi_iter.bi_sector != -1) { > + > + struct bio *child = bio_alloc(GFP_ATOMIC, 0); > + > + if (!child) > + return -ENOMEM; > + bio_copy_dev(child, bio); > + child->bi_opf = REQ_PREFLUSH; > +...
2019 Apr 11
1
[Qemu-devel] [PATCH v5 1/6] libnvdimm: nd_region flush callback support
...gt; > > > > + int rc = 0; > > > + > > > + /* Create child bio for asynchronous flush and chain with > > > + * parent bio. Otherwise directly call nd_region flush. > > > + */ > > > + if (async && bio->bi_iter.bi_sector != -1) { > > > + > > > + struct bio *child = bio_alloc(GFP_ATOMIC, 0); > > > + > > > + if (!child) > > > + return -ENOMEM; > > > + bio_copy_dev(child, bio); > > >...
2019 May 14
2
[PATCH v8 2/6] virtio-pmem: Add virtio pmem driver
..._region *nd_region, struct bio *bio) >>> +{ >>> + int rc = 0; >>> + >>> + /* Create child bio for asynchronous flush and chain with >>> + * parent bio. Otherwise directly call nd_region flush. >>> + */ >>> + if (bio && bio->bi_iter.bi_sector != -1) { >>> + struct bio *child = bio_alloc(GFP_ATOMIC, 0); >>> + >>> + if (!child) >>> + return -ENOMEM; >>> + bio_copy_dev(child, bio); >>> + child->bi_opf = REQ_PREFLUSH; >>> + child->bi_iter.bi_sector = -1; &...
2019 May 14
2
[PATCH v8 2/6] virtio-pmem: Add virtio pmem driver
..._region *nd_region, struct bio *bio) >>> +{ >>> + int rc = 0; >>> + >>> + /* Create child bio for asynchronous flush and chain with >>> + * parent bio. Otherwise directly call nd_region flush. >>> + */ >>> + if (bio && bio->bi_iter.bi_sector != -1) { >>> + struct bio *child = bio_alloc(GFP_ATOMIC, 0); >>> + >>> + if (!child) >>> + return -ENOMEM; >>> + bio_copy_dev(child, bio); >>> + child->bi_opf = REQ_PREFLUSH; >>> + child->bi_iter.bi_sector = -1; &...
2017 Jul 05
3
[PATCH v2] virtio-blk: add DISCARD support to virtio-blk driver
...queue_logical_block_size(req->q); + struct virtio_blk_discard *range; + struct bio *bio; + + if (block_size < 512 || !block_size) + return -1; + + range = kmalloc_array(segments, sizeof(*range), GFP_ATOMIC); + if (!range) + return -1; + + __rq_for_each_bio(bio, req) { + u64 slba = (bio->bi_iter.bi_sector << 9) / block_size; + u32 nlb = bio->bi_iter.bi_size / block_size; + + range[n].reserved = cpu_to_le32(0); + range[n].nlba = cpu_to_le32(nlb); + range[n].slba = cpu_to_le64(slba); + n++; + } + + if (WARN_ON_ONCE(n != segments)) { + kfree(range); + return -1; + } + + req-&g...