gfs2: sparse annotation of gl->gl_spin
PATCH 1/1 gfs2: sparse annotation of gl->gl_spin
fs/gfs2/glock.c:308:5: warning: context problem in 'do_promote': '_spin_unlock' expected different contextfs/gfs2/glock.c:308:5: context '*gl+28': wanted >= 1, got 0fs/gfs2/glock.c:529:2: warning: context problem in 'do_xmote': '_spin_unlock' expected different contextfs/gfs2/glock.c:529:2: context '*gl+28': wanted >= 1, got 0fs/gfs2/glock.c:925:3: warning: context problem in 'add_to_queue': '_spin_unlock' expected different contextfs/gfs2/glock.c:925:3: context '*gl+28': wanted >= 1, got 0
--- fs/gfs2/glock.c | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-)
fs/gfs2/glock.c +8 -0
@@ -293,6 +293,8 @@ static void gfs2_holder_wake(struct gfs2_holder *gh)*/ static int do_promote (struct gfs2_glock *gl) +__releases(&gl->gl_spin) +__acquires(&gl->gl_spin) {const struct gfs2_glock_operations *glops = gl->gl_ops;struct gfs2_holder *gh, *tmp;
@@ -511,6 +513,8 @@ static unsigned int gfs2_lm_lock(struct gfs2_sbd *sdp, void *lock,*/ static void do_xmote (struct gfs2_glock *gl,struct gfs2_holder *gh,unsigned int target) +__releases(&gl->gl_spin) +__acquires(&gl->gl_spin) {const struct gfs2_glock_operations *glops = gl->gl_ops;struct gfs2_sbd *sdp = gl->gl_sbd;
@@ -576,6 +580,8 @@ static inline struct gfs2_holder *find_first_holder(const struct gfs2_glock *gl)*/ static void run_queue (struct gfs2_glock *gl,const int nonblock) +__releases(&gl->gl_spin) +__acquires(&gl->gl_spin) {struct gfs2_holder *gh =NULL ;
@@ -877,6 +883,8 @@ void gfs2_print_dbg(struct seq_file *seq, const char *fmt, ...)*/ static inline void add_to_queue (struct gfs2_holder *gh) +__releases(&gl->gl_spin) +__acquires(&gl->gl_spin) {struct gfs2_glock *gl = gh->gh_gl;struct gfs2_sbd *sdp = gl->gl_sbd;
Signature · 1 line
1.6.0.3.723.g757e
Hi,
Now in the -nmw GFS2 git tree. Thanks,
Steve.
Quoted 52 lines · Harvey Harrison
fs/gfs2/glock.c:308:5: warning: context problem in 'do_promote': '_spin_unlock' expected different contextfs/gfs2/glock.c:308:5: context '*gl+28': wanted >= 1, got 0fs/gfs2/glock.c:529:2: warning: context problem in 'do_xmote': '_spin_unlock' expected different contextfs/gfs2/glock.c:529:2: context '*gl+28': wanted >= 1, got 0fs/gfs2/glock.c:925:3: warning: context problem in 'add_to_queue': '_spin_unlock' expected different contextfs/gfs2/glock.c:925:3: context '*gl+28': wanted >= 1, got 0Signed-off-by Harvey Harrison <[email protected]>--- fs/gfs2/glock.c | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-)fs/gfs2/glock.c +8
-0@@ -293,6 +293,8 @@ static void gfs2_holder_wake(struct gfs2_holder *gh)*/ static int do_promote (struct gfs2_glock *gl) +__releases(&gl->gl_spin) +__acquires(&gl->gl_spin) {const struct gfs2_glock_operations *glops = gl->gl_ops;struct gfs2_holder *gh, *tmp;@@ -511,6 +513,8 @@ static unsigned int gfs2_lm_lock(struct gfs2_sbd *sdp, void *lock,*/ static void do_xmote (struct gfs2_glock *gl,struct gfs2_holder *gh,unsigned int target) +__releases(&gl->gl_spin) +__acquires(&gl->gl_spin) {const struct gfs2_glock_operations *glops = gl->gl_ops;struct gfs2_sbd *sdp = gl->gl_sbd;@@ -576,6 +580,8 @@ static inline struct gfs2_holder *find_first_holder(const struct gfs2_glock *gl)*/ static void run_queue (struct gfs2_glock *gl,const int nonblock) +__releases(&gl->gl_spin) +__acquires(&gl->gl_spin) {struct gfs2_holder *gh =NULL ;@@ -877,6 +883,8 @@ void gfs2_print_dbg(struct seq_file *seq, const char *fmt, ...)*/ static inline void add_to_queue (struct gfs2_holder *gh) +__releases(&gl->gl_spin) +__acquires(&gl->gl_spin) {struct gfs2_glock *gl = gh->gh_gl;struct gfs2_sbd *sdp = gl->gl_sbd;