search for: async_pmem_flush

Displaying 20 results from an estimated 39 matches for "async_pmem_flush".

2019 Jun 11
2
[PATCH v12 2/7] virtio-pmem: Add virtio pmem driver
...quot;host_ack" getting called */ > + wait_event(req_data->host_acked, req_data->done); > + err = virtio32_to_cpu(vdev, req_data->resp.ret); > + } > + > + kfree(req_data); > + return err; > +}; > + > +/* The asynchronous flush callback function */ > +int async_pmem_flush(struct nd_region *nd_region, struct bio *bio) > +{ > + /* Create child bio for asynchronous flush and chain with > + * parent bio. Otherwise directly call nd_region flush. > + */ Nit: The comment should start with an otherwise empty /* line. > + if (bio && bio->bi_iter...
2019 Jun 11
2
[PATCH v12 2/7] virtio-pmem: Add virtio pmem driver
...quot;host_ack" getting called */ > + wait_event(req_data->host_acked, req_data->done); > + err = virtio32_to_cpu(vdev, req_data->resp.ret); > + } > + > + kfree(req_data); > + return err; > +}; > + > +/* The asynchronous flush callback function */ > +int async_pmem_flush(struct nd_region *nd_region, struct bio *bio) > +{ > + /* Create child bio for asynchronous flush and chain with > + * parent bio. Otherwise directly call nd_region flush. > + */ Nit: The comment should start with an otherwise empty /* line. > + if (bio && bio->bi_iter...
2023 Aug 06
0
[PATCH v4] virtio_pmem: add the missing REQ_OP_WRITE for flush bio
...> ?Hardware name: QEMU Standard PC (i440FX + PIIX, 1996) > > > ?RIP: 0010:submit_bio_noacct+0x340/0x520 > > > ?...... > > > ?Call Trace: > > > ? <TASK> > > > ? ? submit_bio_noacct+0xd5/0x520 > > > ? submit_bio+0x37/0x60 > > > ? async_pmem_flush+0x79/0xa0 > > > ? nvdimm_flush+0x17/0x40 > > > ? pmem_submit_bio+0x370/0x390 > > > ? __submit_bio+0xbc/0x190 > > > ? submit_bio_noacct_nocheck+0x14d/0x370 > > > ? submit_bio_noacct+0x1ef/0x520 > > > ? submit_bio+0x55/0x60 > > > ? submit...
2023 Aug 06
0
[PATCH v4] virtio_pmem: add the missing REQ_OP_WRITE for flush bio
...> ?Hardware name: QEMU Standard PC (i440FX + PIIX, 1996) > > > ?RIP: 0010:submit_bio_noacct+0x340/0x520 > > > ?...... > > > ?Call Trace: > > > ? <TASK> > > > ? ? submit_bio_noacct+0xd5/0x520 > > > ? submit_bio+0x37/0x60 > > > ? async_pmem_flush+0x79/0xa0 > > > ? nvdimm_flush+0x17/0x40 > > > ? pmem_submit_bio+0x370/0x390 > > > ? __submit_bio+0xbc/0x190 > > > ? submit_bio_noacct_nocheck+0x14d/0x370 > > > ? submit_bio_noacct+0x1ef/0x520 > > > ? submit_bio+0x55/0x60 > > > ? submit...
2019 May 14
2
[PATCH v8 2/6] virtio-pmem: Add virtio pmem driver
...quot; ... ? >> >>> + wait_event(req->host_acked, req->done); >>> + err = req->ret; >>> +ret: >>> + kfree(req); >>> + return err; >>> +}; >>> + >>> +/* The asynchronous flush callback function */ >>> +int async_pmem_flush(struct nd_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 &&amp...
2019 May 14
2
[PATCH v8 2/6] virtio-pmem: Add virtio pmem driver
...quot; ... ? >> >>> + wait_event(req->host_acked, req->done); >>> + err = req->ret; >>> +ret: >>> + kfree(req); >>> + return err; >>> +}; >>> + >>> +/* The asynchronous flush callback function */ >>> +int async_pmem_flush(struct nd_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 &&amp...
2019 Apr 30
1
[Qemu-devel] [PATCH v7 2/6] virtio-pmem: Add virtio pmem driver
...; + goto ret; > + } > + /* When host has read buffer, this completes via host_ack */ > + wait_event(req->host_acked, req->done); > + err = req->ret; > +ret: > + kfree(req); > + return err; > +}; > + > + /* The asynchronous flush callback function */ > +int async_pmem_flush(struct nd_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...
2019 May 07
2
[PATCH v7 2/6] virtio-pmem: Add virtio pmem driver
.../* When host has read buffer, this completes via host_ack */ > + wait_event(req->host_acked, req->done); > + err = req->ret; > +ret: > + kfree(req); > + return err; > +}; > + > + /* The asynchronous flush callback function */ > +int async_pmem_flush(struct nd_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_secto...
2019 May 07
2
[PATCH v7 2/6] virtio-pmem: Add virtio pmem driver
.../* When host has read buffer, this completes via host_ack */ > + wait_event(req->host_acked, req->done); > + err = req->ret; > +ret: > + kfree(req); > + return err; > +}; > + > + /* The asynchronous flush callback function */ > +int async_pmem_flush(struct nd_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_secto...
2019 May 12
1
[PATCH v8 2/6] virtio-pmem: Add virtio pmem driver
...oto ret; > + } > + > + /* When host has read buffer, this completes via host_ack */ > + wait_event(req->host_acked, req->done); > + err = req->ret; > +ret: > + kfree(req); > + return err; > +}; > + > +/* The asynchronous flush callback function */ > +int async_pmem_flush(struct nd_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...
2019 Jun 12
1
[PATCH v12 2/7] virtio-pmem: Add virtio pmem driver
...err = -EIO; Hm, why are you making this change? I think the previous code was fine. > } > > kfree(req_data); > @@ -100,7 +101,8 @@ int virtio_pmem_flush(struct nd_region *nd_region) > /* The asynchronous flush callback function */ > int async_pmem_flush(struct nd_region *nd_region, struct bio *bio) > { > - /* Create child bio for asynchronous flush and chain with > + /* > + * Create child bio for asynchronous flush and chain with > * parent bio. Otherwise directly call nd_region flush. > */ &...
2019 May 14
2
[PATCH v8 2/6] virtio-pmem: Add virtio pmem driver
...st_ack */ "A host repsonse results in "host_ack" getting called" ... ? > + wait_event(req->host_acked, req->done); > + err = req->ret; > +ret: > + kfree(req); > + return err; > +}; > + > +/* The asynchronous flush callback function */ > +int async_pmem_flush(struct nd_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...
2019 May 14
2
[PATCH v8 2/6] virtio-pmem: Add virtio pmem driver
...st_ack */ "A host repsonse results in "host_ack" getting called" ... ? > + wait_event(req->host_acked, req->done); > + err = req->ret; > +ret: > + kfree(req); > + return err; > +}; > + > +/* The asynchronous flush callback function */ > +int async_pmem_flush(struct nd_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...
2019 Jun 12
0
[PATCH v12 2/7] virtio-pmem: Add virtio pmem driver
...wait_event(req_data->host_acked, req_data->done); > > + err = virtio32_to_cpu(vdev, req_data->resp.ret); > > + } > > + > > + kfree(req_data); > > + return err; > > +}; > > + > > +/* The asynchronous flush callback function */ > > +int async_pmem_flush(struct nd_region *nd_region, struct bio *bio) > > +{ > > + /* Create child bio for asynchronous flush and chain with > > + * parent bio. Otherwise directly call nd_region flush. > > + */ > > Nit: The comment should start with an otherwise empty /* line. yes. >...
2019 May 15
5
[PATCH v9 2/7] virtio-pmem: Add virtio pmem driver
...rr(&vdev->dev, "failed to register device with nvdimm_bus\n"); > + err = -ENXIO; > + goto out_vq; > + } > + > + dev_set_drvdata(&vdev->dev, vpmem->nvdimm_bus); > + > + ndr_desc.res = &res; > + ndr_desc.numa_node = nid; > + ndr_desc.flush = async_pmem_flush; > + set_bit(ND_REGION_PAGEMAP, &ndr_desc.flags); > + set_bit(ND_REGION_ASYNC, &ndr_desc.flags); > + nd_region = nvdimm_pmem_region_create(vpmem->nvdimm_bus, &ndr_desc); > + if (!nd_region) { > + dev_err(&vdev->dev, "failed to create nvdimm region\n")...
2019 May 15
5
[PATCH v9 2/7] virtio-pmem: Add virtio pmem driver
...rr(&vdev->dev, "failed to register device with nvdimm_bus\n"); > + err = -ENXIO; > + goto out_vq; > + } > + > + dev_set_drvdata(&vdev->dev, vpmem->nvdimm_bus); > + > + ndr_desc.res = &res; > + ndr_desc.numa_node = nid; > + ndr_desc.flush = async_pmem_flush; > + set_bit(ND_REGION_PAGEMAP, &ndr_desc.flags); > + set_bit(ND_REGION_ASYNC, &ndr_desc.flags); > + nd_region = nvdimm_pmem_region_create(vpmem->nvdimm_bus, &ndr_desc); > + if (!nd_region) { > + dev_err(&vdev->dev, "failed to create nvdimm region\n")...
2019 Apr 26
0
[PATCH v7 2/6] virtio-pmem: Add virtio pmem driver
...em->pmem_lock, flags); + + if (!err) { + err = -EIO; + goto ret; + } + /* When host has read buffer, this completes via host_ack */ + wait_event(req->host_acked, req->done); + err = req->ret; +ret: + kfree(req); + return err; +}; + + /* The asynchronous flush callback function */ +int async_pmem_flush(struct nd_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); + +...
2019 May 10
1
[Qemu-devel] [PATCH v7 2/6] virtio-pmem: Add virtio pmem driver
...wait_event(req->host_acked, req->done); > > > + err = req->ret; > > > +ret: > > > + kfree(req); > > > + return err; > > > +}; > > > + > > > + /* The asynchronous flush callback function */ > > > +int async_pmem_flush(struct nd_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. > > > +...
2019 May 10
0
[PATCH v8 2/6] virtio-pmem: Add virtio pmem driver
...command to virtio pmem device\n"); + err = -EIO; + goto ret; + } + + /* When host has read buffer, this completes via host_ack */ + wait_event(req->host_acked, req->done); + err = req->ret; +ret: + kfree(req); + return err; +}; + +/* The asynchronous flush callback function */ +int async_pmem_flush(struct nd_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); + +...
2019 May 14
0
[PATCH v9 2/7] virtio-pmem: Add virtio pmem driver
...mmand to virtio pmem device\n"); + err = -EIO; + } else { + /* A host repsonse results in "host_ack" getting called */ + wait_event(req->host_acked, req->done); + err = req->ret; + } + + kfree(req); + return err; +}; + +/* The asynchronous flush callback function */ +int async_pmem_flush(struct nd_region *nd_region, struct bio *bio) +{ + /* 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) +...