提交 5a2aa873 编写于 作者: M Martin K. Petersen 提交者: Jens Axboe

block: Make protection interval calculation generic

Now that the protection interval has been detached from the sector size
we need to be able to handle sizes that are different from 4K and
512. Make the interval calculation generic.
Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
Reviewed-by: NChristoph Hellwig <hch@lst.de>
Reviewed-by: NSagi Grimberg <sagig@mellanox.com>
Signed-off-by: NJens Axboe <axboe@fb.com>
上级 3be91c4a
...@@ -197,11 +197,7 @@ EXPORT_SYMBOL(bio_integrity_enabled); ...@@ -197,11 +197,7 @@ EXPORT_SYMBOL(bio_integrity_enabled);
static inline unsigned int bio_integrity_intervals(struct blk_integrity *bi, static inline unsigned int bio_integrity_intervals(struct blk_integrity *bi,
unsigned int sectors) unsigned int sectors)
{ {
/* At this point there are only 512b or 4096b DIF/EPP devices */ return sectors >> (ilog2(bi->interval) - 9);
if (bi->interval == 4096)
return sectors >>= 3;
return sectors;
} }
static inline unsigned int bio_integrity_bytes(struct blk_integrity *bi, static inline unsigned int bio_integrity_bytes(struct blk_integrity *bi,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册