patch-2_6_7-vs1_9_1_12
[linux-2.6.git] / include / linux / sunrpc / cache.h
index 18c776d..6c5f006 100644 (file)
@@ -97,7 +97,9 @@ struct cache_detail {
        struct proc_dir_entry   *flush_ent, *channel_ent, *content_ent;
 
        atomic_t                readers;                /* how many time is /chennel open */
-       time_t                  last_close;             /* it no readers, when did last close */
+       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);
 };
 
 
@@ -193,8 +195,11 @@ RTN *FNAME ARGS                                                                            \
                                        t2 = tmp; tmp = new; new = t2;                  \
                                }                                                       \
                                if (test_bit(CACHE_NEGATIVE,  &item->MEMBER.flags))     \
-                                        set_bit(CACHE_NEGATIVE, &tmp->MEMBER.flags);   \
-                               else {UPDATE;}                                          \
+                                       set_bit(CACHE_NEGATIVE, &tmp->MEMBER.flags);    \
+                               else {                                                  \
+                                       UPDATE;                                         \
+                                       clear_bit(CACHE_NEGATIVE, &tmp->MEMBER.flags);  \
+                               }                                                       \
                        }                                                               \
                        if (set||new) write_unlock(&(DETAIL)->hash_lock);               \
                        else read_unlock(&(DETAIL)->hash_lock);                         \