Commit 3d9a644c authored by Logan Gunthorpe's avatar Logan Gunthorpe Committed by Song Liu
Browse files

md/raid5: Un-nest struct raid5_percpu definition



Sparse reports many warnings of the form:
  drivers/md/raid5.c:1476:16: warning: dereference of noderef expression

This is because all struct raid5_percpu definitions get marked as
__percpu when really only the pointer in r5conf should have that
annotation.

Fix this by moving the defnition of raid5_precpu out of the definition
of struct r5conf.

Signed-off-by: default avatarLogan Gunthorpe <logang@deltatee.com>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarSong Liu <song@kernel.org>
parent 8fbcba6b
Loading
Loading
Loading
Loading
+11 −9
Original line number Diff line number Diff line
@@ -560,6 +560,16 @@ struct r5pending_data {
	struct bio_list bios;
};

struct raid5_percpu {
	struct page	*spare_page; /* Used when checking P/Q in raid6 */
	void		*scribble;  /* space for constructing buffer
				     * lists and performing address
				     * conversions
				     */
	int             scribble_obj_size;
	local_lock_t    lock;
};

struct r5conf {
	struct hlist_head	*stripe_hashtbl;
	/* only protect corresponding hash list and inactive_list */
@@ -635,15 +645,7 @@ struct r5conf {
					    */
	int			recovery_disabled;
	/* per cpu variables */
	struct raid5_percpu {
		struct page	*spare_page; /* Used when checking P/Q in raid6 */
		void		*scribble;  /* space for constructing buffer
					     * lists and performing address
					     * conversions
					     */
		int             scribble_obj_size;
		local_lock_t    lock;
	} __percpu *percpu;
	struct raid5_percpu __percpu *percpu;
	int scribble_disks;
	int scribble_sectors;
	struct hlist_node node;