diff options
author | Tejun Heo <tj@kernel.org> | 2010-02-02 00:39:01 -0500 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2010-02-16 21:17:38 -0500 |
commit | 003cb608a2533d0927a83bc4e07e46d7a622eda9 (patch) | |
tree | 19347ffcec1c09cda9c4fd01addd8797cf8e31c4 /fs | |
parent | 43cf38eb5cea91245502df3fcee4dbfc1c74dd1c (diff) |
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>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/ext4/ext4.h | 2 | ||||
-rw-r--r-- | fs/nfs/iostat.h | 4 | ||||
-rw-r--r-- | fs/xfs/xfs_mount.h | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index 874d169a193e..4cedc91ec59d 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h | |||
@@ -1014,7 +1014,7 @@ struct ext4_sb_info { | |||
1014 | atomic_t s_lock_busy; | 1014 | atomic_t s_lock_busy; |
1015 | 1015 | ||
1016 | /* locality groups */ | 1016 | /* locality groups */ |
1017 | struct ext4_locality_group *s_locality_groups; | 1017 | struct ext4_locality_group __percpu *s_locality_groups; |
1018 | 1018 | ||
1019 | /* for write statistics */ | 1019 | /* for write statistics */ |
1020 | unsigned long s_sectors_written_start; | 1020 | unsigned long s_sectors_written_start; |
diff --git a/fs/nfs/iostat.h b/fs/nfs/iostat.h index 46d779abafd3..1d8d5c813b01 100644 --- a/fs/nfs/iostat.h +++ b/fs/nfs/iostat.h | |||
@@ -57,12 +57,12 @@ static inline void nfs_add_fscache_stats(struct inode *inode, | |||
57 | } | 57 | } |
58 | #endif | 58 | #endif |
59 | 59 | ||
60 | static inline struct nfs_iostats *nfs_alloc_iostats(void) | 60 | static inline struct nfs_iostats __percpu *nfs_alloc_iostats(void) |
61 | { | 61 | { |
62 | return alloc_percpu(struct nfs_iostats); | 62 | return alloc_percpu(struct nfs_iostats); |
63 | } | 63 | } |
64 | 64 | ||
65 | static inline void nfs_free_iostats(struct nfs_iostats *stats) | 65 | static inline void nfs_free_iostats(struct nfs_iostats __percpu *stats) |
66 | { | 66 | { |
67 | if (stats != NULL) | 67 | if (stats != NULL) |
68 | free_percpu(stats); | 68 | free_percpu(stats); |
diff --git a/fs/xfs/xfs_mount.h b/fs/xfs/xfs_mount.h index 1df7e4502967..24c88870cdb2 100644 --- a/fs/xfs/xfs_mount.h +++ b/fs/xfs/xfs_mount.h | |||
@@ -243,7 +243,7 @@ typedef struct xfs_mount { | |||
243 | struct xfs_qmops *m_qm_ops; /* vector of XQM ops */ | 243 | struct xfs_qmops *m_qm_ops; /* vector of XQM ops */ |
244 | atomic_t m_active_trans; /* number trans frozen */ | 244 | atomic_t m_active_trans; /* number trans frozen */ |
245 | #ifdef HAVE_PERCPU_SB | 245 | #ifdef HAVE_PERCPU_SB |
246 | xfs_icsb_cnts_t *m_sb_cnts; /* per-cpu superblock counters */ | 246 | xfs_icsb_cnts_t __percpu *m_sb_cnts; /* per-cpu superblock counters */ |
247 | unsigned long m_icsb_counters; /* disabled per-cpu counters */ | 247 | unsigned long m_icsb_counters; /* disabled per-cpu counters */ |
248 | struct notifier_block m_icsb_notifier; /* hotplug cpu notifier */ | 248 | struct notifier_block m_icsb_notifier; /* hotplug cpu notifier */ |
249 | struct mutex m_icsb_mutex; /* balancer sync lock */ | 249 | struct mutex m_icsb_mutex; /* balancer sync lock */ |