+ g_print(" change_count = %"PRIu64", change_commit = %"PRIu64", "
+ "change_cloud = %"PRIu64"\n",
+ inode->change_count, inode->change_commit, inode->change_cloud);
+}
+
+static void cloudlog_dump(gpointer key, gpointer value, gpointer user_data)
+{
+ BlueSkyCloudLog *log = (BlueSkyCloudLog *)value;
+
+ for (int i = 0; i < sizeof(BlueSkyCloudID); i++) {
+ g_print("%02x", (uint8_t)(log->id.bytes[i]));
+ }
+ g_print(": refs=%d ty=%d inode=%"PRIu64" locs=%x log@(%d,%d) cloud@(%d,%d,%d)\n",
+ log->refcount,
+ log->type, log->inum,
+ log->location_flags | (log->data != NULL ? 0x100 : 0),
+ log->log_seq, log->log_offset, log->location.directory,
+ log->location.sequence, log->location.offset);
+}
+
+static void cache_dump(gpointer key, gpointer value, gpointer user_data)
+{
+ BlueSkyCacheFile *cache = (BlueSkyCacheFile *)value;
+
+ int64_t age = bluesky_get_current_time() - cache->atime;
+ g_print("%s addr=%p mapcount=%d refcount=%d atime_age=%f",
+ cache->filename, cache->addr, cache->mapcount, cache->refcount,
+ age / 1e6);
+ if (cache->fetching)
+ g_print(" (fetching)");
+ g_print("\n");