Re: [PATCH 3/9] bio-integrity: bio_integrity_advance must update integrity seed
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
SCSI drivers do care about bip_seed so we must update it accordingly. Reviewed-by: Hannes ReineckeReviewed-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
"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
Dmitry Monakhovwrites: > 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
Looks good, Reviewed-by: Christoph Hellwig
Re: [PATCH 3/9] bio-integrity: bio_integrity_advance must update integrity seed
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
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