]> git.hungrycats.org Git - linux/commit
bio-integrity: add "bip_max_vcnt" into struct bio_integrity_payload
authorGu Zheng <guz.fnst@cn.fujitsu.com>
Tue, 1 Jul 2014 16:36:47 +0000 (10:36 -0600)
committerJiri Slaby <jslaby@suse.cz>
Tue, 2 Sep 2014 09:41:56 +0000 (11:41 +0200)
commitc27a4fe151abf351665639eef0ee2fef7e6fb4f9
tree7e429e041c935365f4f00a37accfb97e05bd0c02
parentab73940ae61dd855de2965f0d728b803e9ff0546
bio-integrity: add "bip_max_vcnt" into struct bio_integrity_payload

commit cbcd1054a1fd2aa980fc11ff28e436fc4aaa2d54 upstream.

Commit 08778795 ("block: Fix nr_vecs for inline integrity vectors") from
Martin introduces the function bip_integrity_vecs(get the useful vectors)
to fix the issue about nr_vecs for inline integrity vectors that reported
by David Milburn.

But it seems that bip_integrity_vecs() will return the wrong number if the
bio is not based on any bio_set for some reason(bio->bi_pool == NULL),
because in that case, the bip_inline_vecs[0] is malloced directly.  So
here we add the bip_max_vcnt to record the count of vector slots, and
cleanup the function bip_integrity_vecs().

Signed-off-by: Gu Zheng <guz.fnst@cn.fujitsu.com>
Cc: Martin K. Petersen <martin.petersen@oracle.com>
Cc: Kent Overstreet <kmo@daterainc.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
fs/bio-integrity.c
include/linux/bio.h