percpu: add __percpu sparse annotations to fs
Add __percpu sparse annotations to fs. These annotations are to make sparse consider percpu variables to be in a different address space and warn if accessed without going through percpu accessors. This patch doesn't affect normal builds. Signed-off-by: Tejun Heo <tj@kernel.org> Cc: "Theodore Ts'o" <tytso@mit.edu> Cc: Trond Myklebust <Trond.Myklebust@netapp.com> Cc: Alex Elder <aelder@sgi.com> Cc: Christoph Hellwig <hch@infradead.org> Cc: Alexander Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
43cf38eb5c
commit
003cb608a2
@ -1014,7 +1014,7 @@ struct ext4_sb_info {
|
||||
atomic_t s_lock_busy;
|
||||
|
||||
/* locality groups */
|
||||
struct ext4_locality_group *s_locality_groups;
|
||||
struct ext4_locality_group __percpu *s_locality_groups;
|
||||
|
||||
/* for write statistics */
|
||||
unsigned long s_sectors_written_start;
|
||||
|
@ -57,12 +57,12 @@ static inline void nfs_add_fscache_stats(struct inode *inode,
|
||||
}
|
||||
#endif
|
||||
|
||||
static inline struct nfs_iostats *nfs_alloc_iostats(void)
|
||||
static inline struct nfs_iostats __percpu *nfs_alloc_iostats(void)
|
||||
{
|
||||
return alloc_percpu(struct nfs_iostats);
|
||||
}
|
||||
|
||||
static inline void nfs_free_iostats(struct nfs_iostats *stats)
|
||||
static inline void nfs_free_iostats(struct nfs_iostats __percpu *stats)
|
||||
{
|
||||
if (stats != NULL)
|
||||
free_percpu(stats);
|
||||
|
@ -243,7 +243,7 @@ typedef struct xfs_mount {
|
||||
struct xfs_qmops *m_qm_ops; /* vector of XQM ops */
|
||||
atomic_t m_active_trans; /* number trans frozen */
|
||||
#ifdef HAVE_PERCPU_SB
|
||||
xfs_icsb_cnts_t *m_sb_cnts; /* per-cpu superblock counters */
|
||||
xfs_icsb_cnts_t __percpu *m_sb_cnts; /* per-cpu superblock counters */
|
||||
unsigned long m_icsb_counters; /* disabled per-cpu counters */
|
||||
struct notifier_block m_icsb_notifier; /* hotplug cpu notifier */
|
||||
struct mutex m_icsb_mutex; /* balancer sync lock */
|
||||
|
@ -66,7 +66,7 @@ struct vfsmount {
|
||||
int mnt_pinned;
|
||||
int mnt_ghosts;
|
||||
#ifdef CONFIG_SMP
|
||||
int *mnt_writers;
|
||||
int __percpu *mnt_writers;
|
||||
#else
|
||||
int mnt_writers;
|
||||
#endif
|
||||
|
@ -105,7 +105,7 @@ struct nfs_server {
|
||||
struct rpc_clnt * client; /* RPC client handle */
|
||||
struct rpc_clnt * client_acl; /* ACL RPC client handle */
|
||||
struct nlm_host *nlm_host; /* NLM client handle */
|
||||
struct nfs_iostats * io_stats; /* I/O statistics */
|
||||
struct nfs_iostats __percpu *io_stats; /* I/O statistics */
|
||||
struct backing_dev_info backing_dev_info;
|
||||
atomic_long_t writeback; /* number of writeback pages */
|
||||
int flags; /* various flags */
|
||||
|
Loading…
Reference in New Issue
Block a user