]> git.baikalelectronics.ru Git - kernel.git/commitdiff
md/raid5-cache: Annotate pslot with __rcu notation
authorLogan Gunthorpe <logang@deltatee.com>
Wed, 8 Jun 2022 16:27:53 +0000 (10:27 -0600)
committerJens Axboe <axboe@kernel.dk>
Tue, 2 Aug 2022 23:14:32 +0000 (17:14 -0600)
radix_tree_lookup_slot() and radix_tree_replace_slot() API expect the
slot returned and looked up to be marked with __rcu. Otherwise
sparse warnings are generated:

  drivers/md/raid5-cache.c:2939:23: warning: incorrect type in
assignment (different address spaces)
  drivers/md/raid5-cache.c:2939:23:    expected void **pslot
  drivers/md/raid5-cache.c:2939:23:    got void [noderef] __rcu **

Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Song Liu <song@kernel.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/md/raid5-cache.c

index 1063dccd6877ebb0d38e09aff10e33f9b0403ed1..f4e1cc1ece43de71cac64281346f0f9386859dd4 100644 (file)
@@ -2637,7 +2637,7 @@ int r5c_try_caching_write(struct r5conf *conf,
        int i;
        struct r5dev *dev;
        int to_cache = 0;
-       void **pslot;
+       void __rcu **pslot;
        sector_t tree_index;
        int ret;
        uintptr_t refcount;
@@ -2804,7 +2804,7 @@ void r5c_finish_stripe_write_out(struct r5conf *conf,
        int i;
        int do_wakeup = 0;
        sector_t tree_index;
-       void **pslot;
+       void __rcu **pslot;
        uintptr_t refcount;
 
        if (!log || !test_bit(R5_InJournal, &sh->dev[sh->pd_idx].flags))