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 &&...
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 &&...
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)
+...