Whamcloud - gitweb
LU-2158 lvfs: move ldiskfs only functions to osd-ldiskfs
[fs/lustre-release.git] / lustre / include / lclient.h
index 9c56770..93169c7 100644 (file)
@@ -27,7 +27,7 @@
  * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
  * Use is subject to license terms.
  *
- * Copyright (c) 2011, 2012, Whamcloud, Inc.
+ * Copyright (c) 2011, 2012, Intel Corporation.
  */
 /*
  * This file is part of Lustre, http://www.lustre.org/
@@ -99,7 +99,6 @@ struct ccc_io {
 
         union {
                 struct {
-                        int                        cui_locks_released;
                         enum ccc_setattr_lock_type cui_local_lock;
                 } setattr;
         } u;
@@ -204,6 +203,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.
+        */
+       unsigned int            cob_discard_page_warned:1;
 };
 
 /**
@@ -423,15 +434,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 */