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 --- 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+{G{ayʇڙ,jfhz_(階ݢj"mG?&~iOzv^m ?I