+static void writeback_complete(gpointer a, gpointer i)
+{
+ BlueSkyInode *inode = (BlueSkyInode *)i;
+
+ g_log("bluesky/flushd", G_LOG_LEVEL_DEBUG,
+ "Writeback for inode %"PRIu64" complete", inode->inum);
+
+ g_mutex_lock(inode->lock);
+
+ inode->change_commit = inode->change_pending;
+ if (inode->change_count == inode->change_commit) {
+ /* If inode is no longer dirty... */
+ inode->change_time = 0;
+ inode->change_pending = 0;
+ }
+
+ g_mutex_unlock(inode->lock);
+}
+
+/* Drop cached data for a given inode, if it is clean. inode must be locked. */
+static void drop_caches(BlueSkyInode *inode)
+{
+ if (inode->type == BLUESKY_REGULAR)
+ bluesky_file_drop_cached(inode);
+}
+
+static void flushd_inode(gpointer value, gpointer user_data)