summaryrefslogtreecommitdiff
path: root/libbcache.h
blob: c8d668eca9f884fc0a342344de3954cdc75d4e55 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#ifndef _LIBBCACHE_H
#define _LIBBCACHE_H

#include "util.h"
#include "stdbool.h"

struct dev_opts {
	int		fd;
	const char	*dev;
	u64		size; /* 512 byte sectors */
	unsigned	bucket_size;
	unsigned	tier;
	unsigned	replacement_policy;
	bool		discard;

	u64		first_bucket;
	u64		nbuckets;
};

void bcache_format(struct dev_opts *devs, size_t nr_devs,
		   unsigned block_size,
		   unsigned btree_node_size,
		   unsigned meta_csum_type,
		   unsigned data_csum_type,
		   unsigned compression_type,
		   const char *passphrase,
		   unsigned meta_replicas,
		   unsigned data_replicas,
		   unsigned on_error_action,
		   char *label,
		   uuid_le uuid);

void bcache_super_read(const char *, struct cache_sb *);

#endif /* _LIBBCACHE_H */