Re: [PATCH 3/9] bio-integrity: bio_integrity_advance must update integrity seed

2017-05-10 Thread Martin K. Petersen

Dmitry,

> SCSI drivers do care about bip_seed so we must update it accordingly.

Reviewed-by: Martin K. Petersen 

-- 
Martin K. Petersen  Oracle Linux Engineering


[PATCH 3/9] bio-integrity: bio_integrity_advance must update integrity seed

2017-05-10 Thread Dmitry Monakhov
SCSI drivers do care about bip_seed so we must update it accordingly.

Reviewed-by: Hannes Reinecke 
Reviewed-by: Christoph Hellwig 
Signed-off-by: Dmitry Monakhov 
---
 block/bio-integrity.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/block/bio-integrity.c b/block/bio-integrity.c
index b5009a8..82a6ffb 100644
--- a/block/bio-integrity.c
+++ b/block/bio-integrity.c
@@ -425,6 +425,7 @@ void bio_integrity_advance(struct bio *bio, unsigned int 
bytes_done)
struct blk_integrity *bi = bdev_get_integrity(bio->bi_bdev);
unsigned bytes = bio_integrity_bytes(bi, bytes_done >> 9);
 
+   bip->bip_iter.bi_sector += bytes_done >> 9;
bvec_iter_advance(bip->bip_vec, >bip_iter, bytes);
 }
 EXPORT_SYMBOL(bio_integrity_advance);
-- 
2.9.3



Re: [PATCH 3/9] bio-integrity: bio_integrity_advance must update integrity seed

2017-05-03 Thread Dmitry Monakhov
"Martin K. Petersen"  writes:

> Dmitry Monakhov  writes:
>
>> SCSI drivers do care about bip_seed so we must update it accordingly.
>
>> +bip->bip_iter.bi_sector += bytes_done >> 9;
>
> This needs to count protection intervals. Otherwise things will break
> for block sizes different from 512 bytes.
No,
AFAIU: bip->bip_iter.bi_sector is always equals to bio->bi_iter.bi_sector
at least bip_set_seed() and bip_get_seed() relays on that.
Only bip->bip_vec must be advanced in intervals (this behavior not
changed by the patch this patch).
>
> -- 
> Martin K. PetersenOracle Linux Engineering


Re: [PATCH 3/9] bio-integrity: bio_integrity_advance must update integrity seed

2017-04-19 Thread Martin K. Petersen
Dmitry Monakhov  writes:

> SCSI drivers do care about bip_seed so we must update it accordingly.

> + bip->bip_iter.bi_sector += bytes_done >> 9;

This needs to count protection intervals. Otherwise things will break
for block sizes different from 512 bytes.

-- 
Martin K. Petersen  Oracle Linux Engineering


Re: [PATCH 3/9] bio-integrity: bio_integrity_advance must update integrity seed

2017-04-06 Thread Christoph Hellwig
Looks good,

Reviewed-by: Christoph Hellwig 


Re: [PATCH 3/9] bio-integrity: bio_integrity_advance must update integrity seed

2017-04-05 Thread Hannes Reinecke
On 04/04/2017 08:56 PM, Dmitry Monakhov wrote:
> SCSI drivers do care about bip_seed so we must update it accordingly.
> 
> Signed-off-by: Dmitry Monakhov 
> ---
>  block/bio-integrity.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/block/bio-integrity.c b/block/bio-integrity.c
> index b5009a8..82a6ffb 100644
> --- a/block/bio-integrity.c
> +++ b/block/bio-integrity.c
> @@ -425,6 +425,7 @@ void bio_integrity_advance(struct bio *bio, unsigned int 
> bytes_done)
>   struct blk_integrity *bi = bdev_get_integrity(bio->bi_bdev);
>   unsigned bytes = bio_integrity_bytes(bi, bytes_done >> 9);
>  
> + bip->bip_iter.bi_sector += bytes_done >> 9;
>   bvec_iter_advance(bip->bip_vec, >bip_iter, bytes);
>  }
>  EXPORT_SYMBOL(bio_integrity_advance);
> 
Odd that we've missed that one...

Reviewed-by: Hannes Reinecke 

Cheers,

Hannes
-- 
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de   +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)


[PATCH 3/9] bio-integrity: bio_integrity_advance must update integrity seed

2017-04-04 Thread Dmitry Monakhov
SCSI drivers do care about bip_seed so we must update it accordingly.

Signed-off-by: Dmitry Monakhov 
---
 block/bio-integrity.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/block/bio-integrity.c b/block/bio-integrity.c
index b5009a8..82a6ffb 100644
--- a/block/bio-integrity.c
+++ b/block/bio-integrity.c
@@ -425,6 +425,7 @@ void bio_integrity_advance(struct bio *bio, unsigned int 
bytes_done)
struct blk_integrity *bi = bdev_get_integrity(bio->bi_bdev);
unsigned bytes = bio_integrity_bytes(bi, bytes_done >> 9);
 
+   bip->bip_iter.bi_sector += bytes_done >> 9;
bvec_iter_advance(bip->bip_vec, >bip_iter, bytes);
 }
 EXPORT_SYMBOL(bio_integrity_advance);
-- 
2.9.3