summaryrefslogtreecommitdiff
path: root/disk-io.h
diff options
context:
space:
mode:
Diffstat (limited to 'disk-io.h')
-rw-r--r--disk-io.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/disk-io.h b/disk-io.h
index 2729b757..b5dee2fa 100644
--- a/disk-io.h
+++ b/disk-io.h
@@ -1,5 +1,6 @@
#ifndef __DISKIO__
#define __DISKIO__
+#include "list.h"
struct tree_buffer {
u64 blocknr;
@@ -8,11 +9,16 @@ struct tree_buffer {
struct node node;
struct leaf leaf;
};
+ struct list_head dirty;
+ struct list_head cache;
};
struct tree_buffer *read_tree_block(struct ctree_root *root, u64 blocknr);
struct tree_buffer *find_tree_block(struct ctree_root *root, u64 blocknr);
int write_tree_block(struct ctree_root *root, struct tree_buffer *buf);
+int dirty_tree_block(struct ctree_root *root, struct tree_buffer *buf);
+int clean_tree_block(struct ctree_root *root, struct tree_buffer *buf);
+int commit_transaction(struct ctree_root *root);
struct ctree_root *open_ctree(char *filename, struct ctree_super_block *s);
int close_ctree(struct ctree_root *root);
void tree_block_release(struct ctree_root *root, struct tree_buffer *buf);