[f2fs-dev] [PATCH 3/3] f2fs:use enum dentrt_ptr type to replace constant use

From: Yuan Zhong
Date: Sat Mar 07 2015 - 05:10:30 EST


The function make_dentry_ptr has an argument 'int type'.
This argument is used to distinguish 'block dentry' and
'inline dentry'. We used 1 and 2 as the type. To make
code more readable, we use enum type to replace constant
use.

Signed-off-by: Yuan Zhong <yuan.mark.zhong@xxxxxxxxxxx>
---
fs/f2fs/dir.c | 8 ++++----
fs/f2fs/f2fs.h | 8 +++++++-
fs/f2fs/inline.c | 8 ++++----
3 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/fs/f2fs/dir.c b/fs/f2fs/dir.c
index 590aeef..c39a18f 100644
--- a/fs/f2fs/dir.c
+++ b/fs/f2fs/dir.c
@@ -99,7 +99,7 @@ static struct f2fs_dir_entry *find_in_block(struct page *dentry_page,

dentry_blk = (struct f2fs_dentry_block *)kmap(dentry_page);

- make_dentry_ptr(&d, (void *)dentry_blk, 1);
+ make_dentry_ptr(&d, (void *)dentry_blk, DENTRY_PTR_TYPE_BLOCK);
de = find_target_dentry(name, max_slots, &d);

if (de)
@@ -360,7 +360,7 @@ static int make_empty_dir(struct inode *inode,

dentry_blk = kmap_atomic(dentry_page);

- make_dentry_ptr(&d, (void *)dentry_blk, 1);
+ make_dentry_ptr(&d, (void *)dentry_blk, DENTRY_PTR_TYPE_BLOCK);
do_make_empty_dir(inode, parent, &d);

kunmap_atomic(dentry_blk);
@@ -571,7 +571,7 @@ add_dentry:
goto fail;
}

- make_dentry_ptr(&d, (void *)dentry_blk, 1);
+ make_dentry_ptr(&d, (void *)dentry_blk, DENTRY_PTR_TYPE_BLOCK);
f2fs_update_dentry(inode, &d, name, dentry_hash, bit_pos);

set_page_dirty(dentry_page);
@@ -782,7 +782,7 @@ static int f2fs_readdir(struct file *file, struct dir_context *ctx)

dentry_blk = kmap(dentry_page);

- make_dentry_ptr(&d, (void *)dentry_blk, 1);
+ make_dentry_ptr(&d, (void *)dentry_blk, DENTRY_PTR_TYPE_BLOCK);

if (f2fs_fill_dentries(ctx, &d, n * NR_DENTRY_IN_BLOCK))
goto stop;
diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
index 511d6cd..31b440e 100644
--- a/fs/f2fs/f2fs.h
+++ b/fs/f2fs/f2fs.h
@@ -236,10 +236,16 @@ struct f2fs_dentry_ptr {
int max;
};

+enum {
+ DENTRY_PTR_TYPE_BLOCK = 1,
+ DENTRY_PTR_TYPE_INLNE,
+ DENTRY_PTR_TYPE_MAX
+};
+
static inline void make_dentry_ptr(struct f2fs_dentry_ptr *d,
void *src, int type)
{
- if (type == 1) {
+ if (type == DENTRY_PTR_TYPE_BLOCK) {
struct f2fs_dentry_block *t = (struct f2fs_dentry_block *)src;
d->max = NR_DENTRY_IN_BLOCK;
d->bitmap = &t->dentry_bitmap;
diff --git a/fs/f2fs/inline.c b/fs/f2fs/inline.c
index 4ba9732..ee0984c 100644
--- a/fs/f2fs/inline.c
+++ b/fs/f2fs/inline.c
@@ -271,7 +271,7 @@ struct f2fs_dir_entry *find_in_inline_dir(struct inode *dir,

inline_dentry = inline_data_addr(ipage);

- make_dentry_ptr(&d, (void *)inline_dentry, 2);
+ make_dentry_ptr(&d, (void *)inline_dentry, DENTRY_PTR_TYPE_INLNE);
de = find_target_dentry(name, NULL, &d);

unlock_page(ipage);
@@ -315,7 +315,7 @@ int make_empty_inline_dir(struct inode *inode, struct inode *parent,

dentry_blk = inline_data_addr(ipage);

- make_dentry_ptr(&d, (void *)dentry_blk, 2);
+ make_dentry_ptr(&d, (void *)dentry_blk, DENTRY_PTR_TYPE_INLNE);
do_make_empty_dir(inode, parent, &d);

set_page_dirty(ipage);
@@ -417,7 +417,7 @@ int f2fs_add_inline_entry(struct inode *dir, const struct qstr *name,
f2fs_wait_on_page_writeback(ipage, NODE);

name_hash = f2fs_dentry_hash(name);
- make_dentry_ptr(&d, (void *)dentry_blk, 2);
+ make_dentry_ptr(&d, (void *)dentry_blk, DENTRY_PTR_TYPE_INLNE);
f2fs_update_dentry(inode, &d, name, name_hash, bit_pos);

set_page_dirty(ipage);
@@ -507,7 +507,7 @@ int f2fs_read_inline_dir(struct file *file, struct dir_context *ctx)

inline_dentry = inline_data_addr(ipage);

- make_dentry_ptr(&d, (void *)inline_dentry, 2);
+ make_dentry_ptr(&d, (void *)inline_dentry, DENTRY_PTR_TYPE_INLNE);

if (!f2fs_fill_dentries(ctx, &d, 0))
ctx->pos = NR_INLINE_DENTRY;
--
1.7.9.5