Maxim Patlasov <[email protected]> writes:
> The implementation of CBT (blk-cbt.c) RCU-protects q->cbt, not cbt->map[ixd]. > > In v2: > - fixed one more place with redundant rcu_dereference > > Signed-off-by: Maxim Patlasov <[email protected]> ACK. > --- > block/blk-cbt.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/block/blk-cbt.c b/block/blk-cbt.c > index 7a4303f..b66f513 100644 > --- a/block/blk-cbt.c > +++ b/block/blk-cbt.c > @@ -96,7 +96,7 @@ static int __blk_cbt_set(struct cbt_info *cbt, blkcnt_t > block, > unsigned long len = min_t(unsigned long, BITS_PER_PAGE - off, > count); > > - page = rcu_dereference(cbt->map[idx]); > + page = cbt->map[idx]; > if (page) { > spin_lock_page(page); > set_bits(page_address(page), off, len, set); > @@ -394,7 +394,7 @@ static void cbt_find_next_extent(struct cbt_info *cbt, > blkcnt_t block, struct cb > idx = block >> (PAGE_SHIFT + 3); > while (block < cbt->block_max) { > off = block & (BITS_PER_PAGE -1); > - page = rcu_dereference(cbt->map[idx]); > + page = cbt->map[idx]; > if (!page) { > if (found) > break;
signature.asc
Description: PGP signature
_______________________________________________ Devel mailing list [email protected] https://lists.openvz.org/mailman/listinfo/devel
