- struct list_head ft_chain;
- struct obd_export *ft_exp;
- struct lu_server_fld *ft_srv;
- __u64 ft_idx;
-};
-
-typedef int
-(*fld_hash_func_t) (struct lu_client_fld *, __u64);
-
-typedef struct lu_fld_target *
-(*fld_scan_func_t) (struct lu_client_fld *, __u64);
-
-struct lu_fld_hash {
- const char *fh_name;
- fld_hash_func_t fh_hash_func;
- fld_scan_func_t fh_scan_func;
-};
-
-struct fld_cache_entry {
- struct hlist_node fce_list;
- struct list_head fce_lru;
- mdsno_t fce_mds;
- seqno_t fce_seq;
- cfs_waitq_t fce_waitq;
- __u32 fce_inflight:1,
- fce_invalid:1;
-};
-
-struct fld_cache {
- /*
- * Cache guard, protects fci_hash mostly because others immutable after
- * init is finished.
- */
- spinlock_t fci_lock;
-
- /* Cache shrink threshold */
- int fci_threshold;
-
- /* Prefered number of cached entries */
- int fci_cache_size;
-
- /* Current number of cached entries. Protected by @fci_lock */
- int fci_cache_count;
-
- /* Hash table size (number of collision lists) */
- int fci_hash_size;
-
- /* Hash table mask */
- int fci_hash_mask;
-
- /* Hash table for all collision lists */
- struct hlist_head *fci_hash_table;
-
- /* Lru list */
- struct list_head fci_lru;
-
- /* Cache statistics. */
- struct fld_stats fci_stat;
-
- /* Cache name used for debug and messages. */
- char fci_name[80];