NFSD: Clean up the idmapper warning...
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Sun, 9 Aug 2009 19:14:26 +0000 (15:14 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Sun, 9 Aug 2009 19:14:26 +0000 (15:14 -0400)
What part of 'internal use' is so hard to understand?

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
fs/nfsd/nfs4idmap.c
include/linux/sunrpc/cache.h
net/sunrpc/cache.c

index 5b39842..e9012ad 100644 (file)
@@ -175,10 +175,10 @@ idtoname_show(struct seq_file *m, struct cache_detail *cd, struct cache_head *h)
 }
 
 static void
-warn_no_idmapd(struct cache_detail *detail)
+warn_no_idmapd(struct cache_detail *detail, int has_died)
 {
        printk("nfsd: nfsv4 idmapping failing: has idmapd %s?\n",
-                       detail->last_close? "died" : "not been started");
+                       has_died ? "died" : "not been started");
 }
 
 
index 2d8b211..3d1fad2 100644 (file)
@@ -79,6 +79,8 @@ struct cache_detail {
        int                     (*cache_show)(struct seq_file *m,
                                              struct cache_detail *cd,
                                              struct cache_head *h);
+       void                    (*warn_no_listener)(struct cache_detail *cd,
+                                             int has_died);
 
        struct cache_head *     (*alloc)(void);
        int                     (*match)(struct cache_head *orig, struct cache_head *new);
@@ -102,7 +104,6 @@ struct cache_detail {
        atomic_t                readers;                /* how many time is /chennel open */
        time_t                  last_close;             /* if no readers, when did last close */
        time_t                  last_warn;              /* when we last warned about no readers */
-       void                    (*warn_no_listener)(struct cache_detail *cd);
 };
 
 
index ff0c230..8ede4a6 100644 (file)
@@ -1020,7 +1020,7 @@ static void warn_no_listener(struct cache_detail *detail)
        if (detail->last_warn != detail->last_close) {
                detail->last_warn = detail->last_close;
                if (detail->warn_no_listener)
-                       detail->warn_no_listener(detail);
+                       detail->warn_no_listener(detail, detail->last_close != 0);
        }
 }