aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Phillips <daniel@tux3.org>2014-04-27 18:14:35 +0900
committerDaniel Phillips <daniel@tux3.org>2014-04-27 18:14:35 +0900
commit5e25f1d866bf1c0ee3e57c4a4ff4421d80d4a1b5 (patch)
tree27dc64d2c55d28a5ba7ccbf2650e88758c1ab98d
parent2e5ca8cd04f871a6e36df806f04dee3bc95d54ed (diff)
downloadlinux-tux3-5e25f1d866bf1c0ee3e57c4a4ff4421d80d4a1b5.tar.gz
tux3: Respell dleaf2 as dleaf
Signed-off-by: Daniel Phillips <d.phillips@partner.samsung.com> Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
-rw-r--r--fs/tux3/dleaf.c138
-rw-r--r--fs/tux3/dleaf.h8
-rw-r--r--fs/tux3/filemap.c2
-rw-r--r--fs/tux3/iattr.c2
-rw-r--r--fs/tux3/inode.c2
-rw-r--r--fs/tux3/tux3.h13
6 files changed, 78 insertions, 87 deletions
diff --git a/fs/tux3/dleaf.c b/fs/tux3/dleaf.c
index cbd32bf2ee60ae..ec6a695e97b619 100644
--- a/fs/tux3/dleaf.c
+++ b/fs/tux3/dleaf.c
@@ -51,8 +51,8 @@ struct uptag {
#define ADDR_BITS 48
#define ADDR_MASK ((1ULL << ADDR_BITS) - 1)
-struct dleaf2 {
- __be16 magic; /* dleaf2 magic */
+struct dleaf {
+ __be16 magic; /* dleaf magic */
__be16 count; /* count of diskextent2 */
// struct uptag tag;
__be32 __unused;
@@ -94,27 +94,27 @@ static inline void put_extent(struct diskextent2 *dex, u32 version,
dex->verlo_physical = cpu_to_be64(verlo << ADDR_BITS | physical);
}
-static void dleaf2_btree_init(struct btree *btree)
+static void dleaf_btree_init(struct btree *btree)
{
struct sb *sb = btree->sb;
- unsigned datasize = sb->blocksize - sizeof(struct dleaf2);
+ unsigned datasize = sb->blocksize - sizeof(struct dleaf);
btree->entries_per_leaf = datasize / sizeof(struct diskextent2);
}
-static int dleaf2_init(struct btree *btree, void *leaf)
+static int dleaf_init(struct btree *btree, void *leaf)
{
- struct dleaf2 *dleaf = leaf;
- *dleaf = (struct dleaf2){
- .magic = cpu_to_be16(TUX3_MAGIC_DLEAF2),
+ struct dleaf *dleaf = leaf;
+ *dleaf = (struct dleaf){
+ .magic = cpu_to_be16(TUX3_MAGIC_DLEAF),
.count = 0,
};
return 0;
}
-static int dleaf2_sniff(struct btree *btree, void *leaf)
+static int dleaf_sniff(struct btree *btree, void *leaf)
{
- struct dleaf2 *dleaf = leaf;
- if (dleaf->magic != cpu_to_be16(TUX3_MAGIC_DLEAF2))
+ struct dleaf *dleaf = leaf;
+ if (dleaf->magic != cpu_to_be16(TUX3_MAGIC_DLEAF))
return -1;
if (dleaf->count) {
/* Last should be sentinel */
@@ -126,18 +126,18 @@ static int dleaf2_sniff(struct btree *btree, void *leaf)
return 0;
}
-static int dleaf2_can_free(struct btree *btree, void *leaf)
+static int dleaf_can_free(struct btree *btree, void *leaf)
{
- struct dleaf2 *dleaf = leaf;
+ struct dleaf *dleaf = leaf;
unsigned count = be16_to_cpu(dleaf->count);
- assert(!dleaf2_sniff(btree, dleaf));
+ assert(!dleaf_sniff(btree, dleaf));
if (count > 1)
return 0;
return 1;
}
-static void __dleaf2_dump(struct btree *btree, struct dleaf2 *dleaf,
+static void __dleaf_dump(struct btree *btree, struct dleaf *dleaf,
const char *prefix)
{
if (!tux3_trace)
@@ -154,15 +154,15 @@ static void __dleaf2_dump(struct btree *btree, struct dleaf2 *dleaf,
}
}
-static void dleaf2_dump(struct btree *btree, void *leaf)
+static void dleaf_dump(struct btree *btree, void *leaf)
{
- struct dleaf2 *dleaf = leaf;
- __dleaf2_dump(btree, dleaf, "");
+ struct dleaf *dleaf = leaf;
+ __dleaf_dump(btree, dleaf, "");
}
/* Lookup logical address in diskextent2 <= index */
static struct diskextent2 *
-__dleaf2_lookup_index(struct btree *btree, struct dleaf2 *dleaf,
+__dleaf_lookup_index(struct btree *btree, struct dleaf *dleaf,
struct diskextent2 *start, struct diskextent2 *limit,
tuxkey_t index)
{
@@ -190,21 +190,21 @@ __dleaf2_lookup_index(struct btree *btree, struct dleaf2 *dleaf,
}
static struct diskextent2 *
-dleaf2_lookup_index(struct btree *btree, struct dleaf2 *dleaf, tuxkey_t index)
+dleaf_lookup_index(struct btree *btree, struct dleaf *dleaf, tuxkey_t index)
{
struct diskextent2 *start = dleaf->table;
struct diskextent2 *limit = start + be16_to_cpu(dleaf->count);
- return __dleaf2_lookup_index(btree, dleaf, start, limit, index);
+ return __dleaf_lookup_index(btree, dleaf, start, limit, index);
}
/*
* Split diskextent2, and return split key.
*/
-static tuxkey_t dleaf2_split(struct btree *btree, tuxkey_t hint,
+static tuxkey_t dleaf_split(struct btree *btree, tuxkey_t hint,
void *vfrom, void *vinto)
{
- struct dleaf2 *from = vfrom, *into = vinto;
+ struct dleaf *from = vfrom, *into = vinto;
struct diskextent2 *dex;
struct extent ex;
unsigned split_at, count = be16_to_cpu(from->count);
@@ -216,7 +216,7 @@ static tuxkey_t dleaf2_split(struct btree *btree, tuxkey_t hint,
* Honor hint key, then copy and set new sentinel.
*/
- dex = dleaf2_lookup_index(btree, from, hint);
+ dex = dleaf_lookup_index(btree, from, hint);
if (dex == from->table + count) {
#if 1
get_extent(dex - 1, &ex);
@@ -249,9 +249,9 @@ static tuxkey_t dleaf2_split(struct btree *btree, tuxkey_t hint,
* 0 - couldn't merge
* 1 - merged
*/
-static int dleaf2_merge(struct btree *btree, void *vinto, void *vfrom)
+static int dleaf_merge(struct btree *btree, void *vinto, void *vfrom)
{
- struct dleaf2 *into = vinto, *from = vfrom;
+ struct dleaf *into = vinto, *from = vfrom;
struct extent into_ex, from_ex;
unsigned into_count, from_count;
int can_merge, from_size;
@@ -311,10 +311,10 @@ static int dleaf2_merge(struct btree *btree, void *vinto, void *vfrom)
* 1 - modified
* 0 - not modified
*/
-static int dleaf2_chop(struct btree *btree, tuxkey_t start, u64 len, void *leaf)
+static int dleaf_chop(struct btree *btree, tuxkey_t start, u64 len, void *leaf)
{
struct sb *sb = btree->sb;
- struct dleaf2 *dleaf = leaf;
+ struct dleaf *dleaf = leaf;
struct diskextent2 *dex, *dex_limit;
struct extent ex;
block_t block;
@@ -328,7 +328,7 @@ static int dleaf2_chop(struct btree *btree, tuxkey_t start, u64 len, void *leaf)
dex_limit = dleaf->table + be16_to_cpu(dleaf->count);
/* Lookup the extent is including index */
- dex = dleaf2_lookup_index(btree, dleaf, start);
+ dex = dleaf_lookup_index(btree, dleaf, start);
if (dex >= dex_limit - 1)
return 0;
@@ -385,9 +385,9 @@ static int dleaf2_chop(struct btree *btree, tuxkey_t start, u64 len, void *leaf)
}
/* Read extents */
-static unsigned __dleaf2_read(struct btree *btree, tuxkey_t key_bottom,
+static unsigned __dleaf_read(struct btree *btree, tuxkey_t key_bottom,
tuxkey_t key_limit,
- struct dleaf2 *dleaf, struct btree_key_range *key,
+ struct dleaf *dleaf, struct btree_key_range *key,
int stop_at_hole)
{
struct dleaf_req *rq = container_of(key, struct dleaf_req, key);
@@ -403,7 +403,7 @@ static unsigned __dleaf2_read(struct btree *btree, tuxkey_t key_bottom,
dex_limit = dleaf->table + be16_to_cpu(dleaf->count);
/* Lookup the extent is including index */
- dex = dleaf2_lookup_index(btree, dleaf, key_start);
+ dex = dleaf_lookup_index(btree, dleaf, key_start);
if (dex >= dex_limit - 1) {
/* If sentinel, fill by bottom key */
goto fill_seg;
@@ -461,26 +461,26 @@ fill_seg:
}
/* Read extents */
-static int dleaf2_read(struct btree *btree, tuxkey_t key_bottom,
+static int dleaf_read(struct btree *btree, tuxkey_t key_bottom,
tuxkey_t key_limit,
void *leaf, struct btree_key_range *key)
{
- struct dleaf2 *dleaf = leaf;
+ struct dleaf *dleaf = leaf;
unsigned len;
- len = __dleaf2_read(btree, key_bottom, key_limit, dleaf, key, 0);
+ len = __dleaf_read(btree, key_bottom, key_limit, dleaf, key, 0);
key->start += len;
key->len -= len;
return 0;
}
-static int dleaf2_pre_write(struct btree *btree, tuxkey_t key_bottom,
+static int dleaf_pre_write(struct btree *btree, tuxkey_t key_bottom,
tuxkey_t key_limit, void *leaf,
struct btree_key_range *key)
{
struct dleaf_req *rq = container_of(key, struct dleaf_req, key);
- struct dleaf2 *dleaf = leaf;
+ struct dleaf *dleaf = leaf;
/*
* If overwrite mode, read exists segments. Then, if there are
@@ -490,7 +490,7 @@ static int dleaf2_pre_write(struct btree *btree, tuxkey_t key_bottom,
unsigned len;
int last, hole_len;
- len = __dleaf2_read(btree, key_bottom, key_limit, dleaf, key,1);
+ len = __dleaf_read(btree, key_bottom, key_limit, dleaf, key,1);
last = rq->seg_cnt;
/* Remove hole from seg[] */
@@ -514,8 +514,8 @@ static int dleaf2_pre_write(struct btree *btree, tuxkey_t key_bottom,
}
-/* Resize dleaf2 from head */
-static void dleaf2_resize(struct dleaf2 *dleaf, struct diskextent2 *head,
+/* Resize dleaf from head */
+static void dleaf_resize(struct dleaf *dleaf, struct diskextent2 *head,
int diff)
{
void *limit = dleaf->table + be16_to_cpu(dleaf->count);
@@ -528,7 +528,7 @@ static void dleaf2_resize(struct dleaf2 *dleaf, struct diskextent2 *head,
}
/* Initialize sentinel by bottom key */
-static inline void dleaf2_init_sentinel(struct sb *sb, struct dleaf2 *dleaf,
+static inline void dleaf_init_sentinel(struct sb *sb, struct dleaf *dleaf,
tuxkey_t key_bottom)
{
if (!dleaf->count) {
@@ -538,7 +538,7 @@ static inline void dleaf2_init_sentinel(struct sb *sb, struct dleaf2 *dleaf,
}
/* Return split key of center for split hint */
-static tuxkey_t dleaf2_split_at_center(struct dleaf2 *dleaf)
+static tuxkey_t dleaf_split_at_center(struct dleaf *dleaf)
{
struct extent ex;
get_extent(dleaf->table + be16_to_cpu(dleaf->count) / 2, &ex);
@@ -563,7 +563,7 @@ struct dex_info {
int need_sentinel; /* segments needs new sentinel? */
};
-static void find_start_dex(struct btree *btree, struct dleaf2 *dleaf,
+static void find_start_dex(struct btree *btree, struct dleaf *dleaf,
block_t key_start, struct dex_info *info)
{
struct diskextent2 *dex_limit;
@@ -574,7 +574,7 @@ static void find_start_dex(struct btree *btree, struct dleaf2 *dleaf,
info->start_count = 0;
/* Lookup the dex for start of seg[]. */
- info->start_dex = dleaf2_lookup_index(btree, dleaf, key_start);
+ info->start_dex = dleaf_lookup_index(btree, dleaf, key_start);
if (info->start_dex < dex_limit - 1) {
struct extent ex;
@@ -593,7 +593,7 @@ static void find_start_dex(struct btree *btree, struct dleaf2 *dleaf,
}
}
-static void find_end_dex(struct btree *btree, struct dleaf2 *dleaf,
+static void find_end_dex(struct btree *btree, struct dleaf *dleaf,
block_t key_end, struct dex_info *info)
{
struct diskextent2 *limit, *dex_limit;
@@ -614,7 +614,7 @@ static void find_end_dex(struct btree *btree, struct dleaf2 *dleaf,
}
/* Lookup the dex for end of seg[]. */
- info->end_dex = __dleaf2_lookup_index(btree, dleaf, info->start_dex,
+ info->end_dex = __dleaf_lookup_index(btree, dleaf, info->start_dex,
limit, key_end);
if (info->end_dex < dex_limit - 1) {
struct extent ex;
@@ -636,7 +636,7 @@ static void find_end_dex(struct btree *btree, struct dleaf2 *dleaf,
assert(info->start_dex <= info->end_dex);
/*
- * Calculate dleaf2 space informations
+ * Calculate dleaf space informations
*/
/* Number of dex can be overwritten */
info->overwrite_cnt = info->end_dex - info->start_dex;
@@ -651,14 +651,14 @@ static void find_end_dex(struct btree *btree, struct dleaf2 *dleaf,
/*
* Write extents.
*/
-static int dleaf2_write(struct btree *btree, tuxkey_t key_bottom,
+static int dleaf_write(struct btree *btree, tuxkey_t key_bottom,
tuxkey_t key_limit,
void *leaf, struct btree_key_range *key,
tuxkey_t *split_hint)
{
struct dleaf_req *rq = container_of(key, struct dleaf_req, key);
struct sb *sb = btree->sb;
- struct dleaf2 *dleaf = leaf;
+ struct dleaf *dleaf = leaf;
struct diskextent2 *dex;
struct extent ex;
struct dex_info info;
@@ -666,15 +666,15 @@ static int dleaf2_write(struct btree *btree, tuxkey_t key_bottom,
int err, diff, seg_cnt, space;
/*
- * Strategy: check free space in dleaf2, then allocate
- * segments, and write segments to dleaf2. If there is no
- * space in dleaf2, shrink segments to fit space of dleaf2,
+ * Strategy: check free space in dleaf, then allocate
+ * segments, and write segments to dleaf. If there is no
+ * space in dleaf, shrink segments to fit space of dleaf,
* and split.
*
* FIXME: should try to merge at start and new last extents.
*/
- dleaf2_init_sentinel(sb, dleaf, key_bottom);
+ dleaf_init_sentinel(sb, dleaf, key_bottom);
/* Get the info of dex for start of seg[]. */
find_start_dex(btree, dleaf, key->start, &info);
@@ -716,7 +716,7 @@ static int dleaf2_write(struct btree *btree, tuxkey_t key_bottom,
/* Re-calculate end of seg[] can be allocated */
find_end_dex(btree, dleaf, key->start + alloc_len, &info);
- /* Shrink segments to fit to space of dleaf2 */
+ /* Shrink segments to fit to space of dleaf */
while (info.dleaf_count + seg_cnt > btree->entries_per_leaf) {
seg_cnt--;
alloc_len -= rq->seg[rq->seg_idx + seg_cnt].count;
@@ -773,7 +773,7 @@ static int dleaf2_write(struct btree *btree, tuxkey_t key_bottom,
/*
* Expand/shrink space for segs
*/
- dleaf2_resize(dleaf, info.end_dex, diff);
+ dleaf_resize(dleaf, info.end_dex, diff);
assert(info.dleaf_count + seg_cnt == be16_to_cpu(dleaf->count));
assert(info.dleaf_count + seg_cnt <= btree->entries_per_leaf);
@@ -825,21 +825,21 @@ need_split:
}
/* FIXME: use better split position */
- *split_hint = dleaf2_split_at_center(dleaf);
+ *split_hint = dleaf_split_at_center(dleaf);
return BTREE_DO_SPLIT;
}
-struct btree_ops dtree2_ops = {
- .btree_init = dleaf2_btree_init,
- .leaf_init = dleaf2_init,
- .leaf_split = dleaf2_split,
- .leaf_merge = dleaf2_merge,
- .leaf_chop = dleaf2_chop,
- .leaf_pre_write = dleaf2_pre_write,
- .leaf_write = dleaf2_write,
- .leaf_read = dleaf2_read,
-
- .leaf_sniff = dleaf2_sniff,
- .leaf_can_free = dleaf2_can_free,
- .leaf_dump = dleaf2_dump,
+struct btree_ops dtree_ops = {
+ .btree_init = dleaf_btree_init,
+ .leaf_init = dleaf_init,
+ .leaf_split = dleaf_split,
+ .leaf_merge = dleaf_merge,
+ .leaf_chop = dleaf_chop,
+ .leaf_pre_write = dleaf_pre_write,
+ .leaf_write = dleaf_write,
+ .leaf_read = dleaf_read,
+
+ .leaf_sniff = dleaf_sniff,
+ .leaf_can_free = dleaf_can_free,
+ .leaf_dump = dleaf_dump,
};
diff --git a/fs/tux3/dleaf.h b/fs/tux3/dleaf.h
index ffbc2fa877d849..48501dccc23df9 100644
--- a/fs/tux3/dleaf.h
+++ b/fs/tux3/dleaf.h
@@ -1,5 +1,5 @@
-#ifndef TUX3_DLEAF2_H
-#define TUX3_DLEAF2_H
+#ifndef TUX3_DLEAF_H
+#define TUX3_DLEAF_H
struct dleaf_req {
struct btree_key_range key; /* index and count */
@@ -8,7 +8,7 @@ struct dleaf_req {
int seg_max; /* Max size of seg[] */
struct block_segment *seg; /* Pointer to seg[] */
- int seg_idx; /* use by dleaf2_write() internally */
+ int seg_idx; /* use by dleaf_write() internally */
int overwrite;
/* Callback to allocate blocks to ->seg for write */
@@ -27,4 +27,4 @@ static inline unsigned seg_total_count(struct block_segment *seg, int nr_segs)
return total;
}
-#endif /* !TUX3_DLEAF2_H */
+#endif /* !TUX3_DLEAF_H */
diff --git a/fs/tux3/filemap.c b/fs/tux3/filemap.c
index 34407ba0fb0ea8..4ba2b4dfe8c07a 100644
--- a/fs/tux3/filemap.c
+++ b/fs/tux3/filemap.c
@@ -155,7 +155,7 @@ static int seg_alloc(struct btree *btree, struct dleaf_req *rq, int new_cnt)
return 0;
}
-/* map_region() by using dleaf2 */
+/* map_region() by using dleaf */
static int map_region2(struct inode *inode, block_t start, unsigned count,
struct block_segment seg[], unsigned seg_max,
enum map_mode mode)
diff --git a/fs/tux3/iattr.c b/fs/tux3/iattr.c
index 1a8778196e9cf0..2419414d0dc1ea 100644
--- a/fs/tux3/iattr.c
+++ b/fs/tux3/iattr.c
@@ -256,7 +256,7 @@ static void *decode_attrs(struct inode *inode, void *attrs, unsigned size)
}
/* We don't use ->present for btree root */
- init_btree(&tuxnode->btree, sb, btree_root, dtree_ops());
+ init_btree(&tuxnode->btree, sb, btree_root, &dtree_ops);
return attrs;
}
diff --git a/fs/tux3/inode.c b/fs/tux3/inode.c
index 3e3f9d17253305..f33aa6151dfe50 100644
--- a/fs/tux3/inode.c
+++ b/fs/tux3/inode.c
@@ -247,7 +247,7 @@ static int alloc_inum(struct inode *inode, inum_t goal)
/* If goal marked as deferred inums, retry from itree */
}
- init_btree(&tux_inode(inode)->btree, sb, no_root, dtree_ops());
+ init_btree(&tux_inode(inode)->btree, sb, no_root, &dtree_ops);
/* Final initialization of inode */
tux_set_inum(inode, goal);
diff --git a/fs/tux3/tux3.h b/fs/tux3/tux3.h
index 4a5aaf091d9d33..de4e0c0114d75e 100644
--- a/fs/tux3/tux3.h
+++ b/fs/tux3/tux3.h
@@ -104,8 +104,7 @@ static inline void *decode48(void *at, u64 *val)
#define TUX3_MAGIC_LOG 0x10ad
#define TUX3_MAGIC_BNODE 0xb4de
-#define TUX3_MAGIC_DLEAF 0x1eaf
-#define TUX3_MAGIC_DLEAF2 0xbeaf
+#define TUX3_MAGIC_DLEAF 0xbeaf
#define TUX3_MAGIC_ILEAF 0x90de
#define TUX3_MAGIC_OLEAF 0x6eaf
@@ -115,7 +114,6 @@ static inline void *decode48(void *at, u64 *val)
/* Maximum number of block address ("0" - "((1 << 48) - 1)") */
#define MAX_BLOCKS_BITS 48
#define MAX_BLOCKS ((block_t)1 << MAX_BLOCKS_BITS)
-#define MAX_EXTENT (1 << 6)
#define SB_LOC (1 << 12)
#define SB_LEN (1 << 12) /* this is maximum blocksize */
@@ -795,14 +793,7 @@ int tux_readdir(struct file *file, struct dir_context *ctx);
int tux_dir_is_empty(struct inode *dir);
/* dleaf.c */
-#include "dleaf.h"
-
-/* dleaf2.c */
-extern struct btree_ops dtree2_ops;
-static inline struct btree_ops *dtree_ops(void)
-{
- return &dtree2_ops;
-}
+extern struct btree_ops dtree_ops;
/* filemap.c */
int tux3_filemap_overwrite_io(int rw, struct bufvec *bufvec);