+/* An object for tracking log files which are stored locally--either the
+ * journal for filesystem consistency or log segments which have been fetched
+ * back from cloud storage. */
+struct _BlueSkyCacheFile {
+ GMutex *lock;
+ GCond *cond;
+ gint refcount;
+ int type; // Only one of CLOUDLOG_{JOURNAL,CLOUD}
+ int log_dir;
+ int log_seq;
+ char *filename; // Local filename, relateive to log directory
+ gint mapcount; // References to the mmaped data
+ const char *addr; // May be null if data is not mapped in memory
+ size_t len;
+ BlueSkyFS *fs;
+ BlueSkyLog *log;
+ gboolean fetching, ready;
+ int64_t atime; // Access time, for cache management
+};
+