virtualization.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH] virtio_blk: add SECURE ERASE command support
       [not found] <20220822162055.634854-1-alvaro.karsz@solid-run.com>
@ 2022-08-23 19:46 ` Stefan Hajnoczi
  2022-08-24  6:45   ` Alvaro Karsz
  0 siblings, 1 reply; 6+ messages in thread
From: Stefan Hajnoczi @ 2022-08-23 19:46 UTC (permalink / raw)
  To: Alvaro Karsz
  Cc: Jens Axboe, Paolo Bonzini, Michael S. Tsirkin, virtualization


[-- Attachment #1.1: Type: text/plain, Size: 514 bytes --]

On Mon, Aug 22, 2022 at 07:20:55PM +0300, Alvaro Karsz wrote:
> @@ -1075,6 +1079,12 @@ static int virtblk_probe(struct virtio_device *vdev)
>  		blk_queue_max_write_zeroes_sectors(q, v ? v : UINT_MAX);
>  	}
> 
> +	if (virtio_has_feature(vdev, VIRTIO_BLK_F_SECURE_ERASE)) {
> +		virtio_cread(vdev, struct virtio_blk_config,
> +			     max_secure_erase_sectors, &v);
> +		blk_queue_max_secure_erase_sectors(q, v ? v : UINT_MAX);
> +	}

What about max_secure_erase_seg and secure_erase_sector_alignment?

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 183 bytes --]

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] virtio_blk: add SECURE ERASE command support
  2022-08-23 19:46 ` [PATCH] virtio_blk: add SECURE ERASE command support Stefan Hajnoczi
@ 2022-08-24  6:45   ` Alvaro Karsz
  2022-08-24 18:37     ` Stefan Hajnoczi
  0 siblings, 1 reply; 6+ messages in thread
From: Alvaro Karsz @ 2022-08-24  6:45 UTC (permalink / raw)
  To: Stefan Hajnoczi
  Cc: Jens Axboe, Paolo Bonzini, Michael S. Tsirkin, virtualization

> What about max_secure_erase_seg and secure_erase_sector_alignment?

Hi Stefan,
If I understand correctly, the Linux kernel uses the same "max
segments" value for a discard and a secure erase command.

> unsigned int blk_recalc_rq_segments(struct request *rq)
> {
>     unsigned int nr_phys_segs = 0;
>     unsigned int bytes = 0;
>     struct req_iterator iter;
>     struct bio_vec bv;
>
>
>     if (!rq->bio)
>         return 0;
>
>
>     switch (bio_op(rq->bio)) {
>     case REQ_OP_DISCARD:
>     case REQ_OP_SECURE_ERASE:
>         if (queue_max_discard_segments(rq->q) > 1) {
>             struct bio *bio = rq->bio;
>
>
>             for_each_bio(bio)
>                 nr_phys_segs++;
>             return nr_phys_segs;
>         }
>
> ....


> struct bio *__bio_split_to_limits(struct bio *bio, struct queue_limits *lim,
>       unsigned int *nr_segs)
> {
>     struct bio_set *bs = &bio->bi_bdev->bd_disk->bio_split;
>     struct bio *split;
>
>
>     switch (bio_op(bio)) {
>     case REQ_OP_DISCARD:
>     case REQ_OP_SECURE_ERASE:
>         split = bio_split_discard(bio, lim, nr_segs, bs);
>
>         break;
>
> ...

What do you suggest?

BTW, the same happens for the write zeros command implementation.
max_write_zeroes_seg and write_zeroes_may_unmap are ignored in the Linux kernel.
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] virtio_blk: add SECURE ERASE command support
  2022-08-24  6:45   ` Alvaro Karsz
@ 2022-08-24 18:37     ` Stefan Hajnoczi
  2022-08-24 19:48       ` Alvaro Karsz
  0 siblings, 1 reply; 6+ messages in thread
From: Stefan Hajnoczi @ 2022-08-24 18:37 UTC (permalink / raw)
  To: Alvaro Karsz
  Cc: Jens Axboe, Paolo Bonzini, Michael S. Tsirkin, virtualization


[-- Attachment #1.1: Type: text/plain, Size: 1587 bytes --]

On Wed, Aug 24, 2022 at 09:45:57AM +0300, Alvaro Karsz wrote:
> > What about max_secure_erase_seg and secure_erase_sector_alignment?
> 
> Hi Stefan,
> If I understand correctly, the Linux kernel uses the same "max
> segments" value for a discard and a secure erase command.
> 
> > unsigned int blk_recalc_rq_segments(struct request *rq)
> > {
> >     unsigned int nr_phys_segs = 0;
> >     unsigned int bytes = 0;
> >     struct req_iterator iter;
> >     struct bio_vec bv;
> >
> >
> >     if (!rq->bio)
> >         return 0;
> >
> >
> >     switch (bio_op(rq->bio)) {
> >     case REQ_OP_DISCARD:
> >     case REQ_OP_SECURE_ERASE:
> >         if (queue_max_discard_segments(rq->q) > 1) {
> >             struct bio *bio = rq->bio;
> >
> >
> >             for_each_bio(bio)
> >                 nr_phys_segs++;
> >             return nr_phys_segs;
> >         }
> >
> > ....
> 
> 
> > struct bio *__bio_split_to_limits(struct bio *bio, struct queue_limits *lim,
> >       unsigned int *nr_segs)
> > {
> >     struct bio_set *bs = &bio->bi_bdev->bd_disk->bio_split;
> >     struct bio *split;
> >
> >
> >     switch (bio_op(bio)) {
> >     case REQ_OP_DISCARD:
> >     case REQ_OP_SECURE_ERASE:
> >         split = bio_split_discard(bio, lim, nr_segs, bs);
> >
> >         break;
> >
> > ...
> 
> What do you suggest?
> 
> BTW, the same happens for the write zeros command implementation.
> max_write_zeroes_seg and write_zeroes_may_unmap are ignored in the Linux kernel.

How about calculating the minimum of the limits?

Stefan

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 183 bytes --]

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] virtio_blk: add SECURE ERASE command support
  2022-08-24 18:37     ` Stefan Hajnoczi
@ 2022-08-24 19:48       ` Alvaro Karsz
  2022-08-25 13:47         ` Stefan Hajnoczi
  0 siblings, 1 reply; 6+ messages in thread
From: Alvaro Karsz @ 2022-08-24 19:48 UTC (permalink / raw)
  To: Stefan Hajnoczi
  Cc: Jens Axboe, Paolo Bonzini, Michael S. Tsirkin, virtualization

> How about calculating the minimum of the limits?

Sounds reasonable.
Should I add it to this patch (as v2)?
Or maybe it can be a follow up patch, and it can include the write
zeros command as well.
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] virtio_blk: add SECURE ERASE command support
  2022-08-24 19:48       ` Alvaro Karsz
@ 2022-08-25 13:47         ` Stefan Hajnoczi
  2022-08-29  6:21           ` Alvaro Karsz
  0 siblings, 1 reply; 6+ messages in thread
From: Stefan Hajnoczi @ 2022-08-25 13:47 UTC (permalink / raw)
  To: Alvaro Karsz
  Cc: Jens Axboe, Paolo Bonzini, Michael S. Tsirkin, virtualization


[-- Attachment #1.1: Type: text/plain, Size: 360 bytes --]

On Wed, Aug 24, 2022 at 10:48:30PM +0300, Alvaro Karsz wrote:
> > How about calculating the minimum of the limits?
> 
> Sounds reasonable.
> Should I add it to this patch (as v2)?
> Or maybe it can be a follow up patch, and it can include the write
> zeros command as well.

If you can include it in a v2 series that would be nice.

Thanks,
Stefan

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 183 bytes --]

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] virtio_blk: add SECURE ERASE command support
  2022-08-25 13:47         ` Stefan Hajnoczi
@ 2022-08-29  6:21           ` Alvaro Karsz
  0 siblings, 0 replies; 6+ messages in thread
From: Alvaro Karsz @ 2022-08-29  6:21 UTC (permalink / raw)
  To: Stefan Hajnoczi
  Cc: Jens Axboe, Paolo Bonzini, Michael S. Tsirkin, virtualization

> If you can include it in a v2 series that would be nice.

Sure, I'll create a new version.
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-08-29  6:22 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20220822162055.634854-1-alvaro.karsz@solid-run.com>
2022-08-23 19:46 ` [PATCH] virtio_blk: add SECURE ERASE command support Stefan Hajnoczi
2022-08-24  6:45   ` Alvaro Karsz
2022-08-24 18:37     ` Stefan Hajnoczi
2022-08-24 19:48       ` Alvaro Karsz
2022-08-25 13:47         ` Stefan Hajnoczi
2022-08-29  6:21           ` Alvaro Karsz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).