From 896440d560de3bca6813e83792f431edf5073318 Mon Sep 17 00:00:00 2001 From: Josh Triplett Date: Mon, 2 Oct 2006 02:17:50 -0700 Subject: [PATCH] [PATCH] nfsd: add lock annotations to e_start and e_stop e_start acquires svc_export_cache.hash_lock, and e_stop releases it. Add lock annotations to these two functions so that sparse can check callers for lock pairing, and so that sparse will not complain about these functions since they intentionally use locks in this manner. Signed-off-by: Josh Triplett Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- fs/nfsd/export.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/nfsd/export.c b/fs/nfsd/export.c index eccd2c2eb60d..cfe141e5d759 100644 --- a/fs/nfsd/export.c +++ b/fs/nfsd/export.c @@ -1078,6 +1078,7 @@ exp_pseudoroot(struct auth_domain *clp, struct svc_fh *fhp, /* Iterator */ static void *e_start(struct seq_file *m, loff_t *pos) + __acquires(svc_export_cache.hash_lock) { loff_t n = *pos; unsigned hash, export; @@ -1131,6 +1132,7 @@ static void *e_next(struct seq_file *m, void *p, loff_t *pos) } static void e_stop(struct seq_file *m, void *p) + __releases(svc_export_cache.hash_lock) { read_unlock(&svc_export_cache.hash_lock); exp_readunlock(); -- 2.34.1