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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ¥Šwÿº{.nÇ+‰·¥Š{±ýûz÷¥þ)í…æèw*jg¬±¨¶‰šŽŠÝ¢jÿ¾«þG«?éÿ¢¸¢·¦j:+v‰¨ŠwèjØm¶Ÿÿþø¯ù®w¥þŠàþf£¢·hš?â?úÿ†Ù¥





[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux