]> www.infradead.org Git - nvme.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)
committerSong Liu <song@kernel.org>
Sun, 3 Jul 2022 14:55:38 +0000 (07:55 -0700)
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>
drivers/md/raid5-cache.c

index ca57b5fac59958b185aac79c2433357b363e54c1..b2e6016934eea6cd9037533a3e91c6b2b1571128 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))