Whamcloud - gitweb
LU-1346 libcfs: replace libcfs wrappers with kernel API
[fs/lustre-release.git] / lustre / include / lclient.h
index 9c56770..96fa5fb 100644 (file)
@@ -204,6 +204,18 @@ struct ccc_object {
          * \see ll_vm_open(), ll_vm_close().
          */
         cfs_atomic_t            cob_mmap_cnt;
+
+       /**
+        * various flags
+        * cob_discard_page_warned
+        *     if pages belonging to this object are discarded when a client
+        * is evicted, some debug info will be printed, this flag will be set
+        * during processing the first discarded page, then avoid flooding
+        * debug message for lots of discarded pages.
+        *
+        * \see ll_dirty_page_discard_warn.
+        */
+       int                     cob_discard_page_warned:1;
 };
 
 /**
@@ -423,15 +435,16 @@ struct lov_stripe_md *ccc_inode_lsm_get(struct inode *inode);
 void ccc_inode_lsm_put(struct inode *inode, struct lov_stripe_md *lsm);
 
 /**
- * Data structures for LRU management on lustre client mount
+ * Data structure managing a client's cached clean pages. An LRU of
+ * pages is maintained, along with other statistics.
  */
-struct cl_client_lru {
-       cfs_atomic_t    ccl_users; /* how many users(OSCs) of this data */
-       cfs_atomic_t    ccl_page_left;
-       unsigned long   ccl_page_max;
-       cfs_list_t      ccl_list; /* entities for lru - actually osc list */
-       cfs_spinlock_t  ccl_lock; /* lock for list */
-       unsigned int    ccl_reclaim_count; /* statistics */
+struct cl_client_cache {
+       cfs_atomic_t    ccc_users;    /* # of users (OSCs) of this data */
+       cfs_list_t      ccc_lru;      /* LRU list of cached clean pages */
+       spinlock_t      ccc_lru_lock; /* lock for list */
+       cfs_atomic_t    ccc_lru_left; /* # of LRU entries available */
+       unsigned long   ccc_lru_max;  /* Max # of LRU entries possible */
+       unsigned int    ccc_lru_shrinkers; /* # of threads reclaiming */
 };
 
 #endif /*LCLIENT_H */