diff options
author | Chao Yu <chao2.yu@samsung.com> | 2015-02-16 16:17:20 +0800 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2015-03-03 09:58:44 -0800 |
commit | 3b4d732a568432039af71809f9cad69565f00bed (patch) | |
tree | 657157f3d3b9d53351b76f253a1a6bf47ecd1ba9 /fs/f2fs/inline.c | |
parent | 1753396a0a1c574969dc0c4b369ac4ac3d299245 (diff) | |
download | linux-3b4d732a568432039af71809f9cad69565f00bed.tar.gz linux-3b4d732a568432039af71809f9cad69565f00bed.tar.bz2 linux-3b4d732a568432039af71809f9cad69565f00bed.zip |
f2fs: introduce f2fs_update_dentry to clean up duplicated codes
This patch introduces f2fs_update_dentry to remove redundant code in
f2fs_add_inline_entry and __f2fs_add_link.
Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/inline.c')
-rw-r--r-- | fs/f2fs/inline.c | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/fs/f2fs/inline.c b/fs/f2fs/inline.c index 1484c00133cd..82b74415b623 100644 --- a/fs/f2fs/inline.c +++ b/fs/f2fs/inline.c @@ -386,15 +386,12 @@ int f2fs_add_inline_entry(struct inode *dir, const struct qstr *name, struct page *ipage; unsigned int bit_pos; f2fs_hash_t name_hash; - struct f2fs_dir_entry *de; size_t namelen = name->len; struct f2fs_inline_dentry *dentry_blk = NULL; + struct f2fs_dentry_ptr d; int slots = GET_DENTRY_SLOTS(namelen); struct page *page; int err = 0; - int i; - - name_hash = f2fs_dentry_hash(name); ipage = get_node_page(sbi, dir->i_ino); if (IS_ERR(ipage)) @@ -418,14 +415,11 @@ int f2fs_add_inline_entry(struct inode *dir, const struct qstr *name, } f2fs_wait_on_page_writeback(ipage, NODE); - de = &dentry_blk->dentry[bit_pos]; - de->hash_code = name_hash; - de->name_len = cpu_to_le16(namelen); - memcpy(dentry_blk->filename[bit_pos], name->name, name->len); - de->ino = cpu_to_le32(inode->i_ino); - set_de_type(de, inode); - for (i = 0; i < slots; i++) - test_and_set_bit_le(bit_pos + i, &dentry_blk->dentry_bitmap); + + name_hash = f2fs_dentry_hash(name); + make_dentry_ptr(&d, (void *)dentry_blk, 2); + f2fs_update_dentry(inode, &d, name, name_hash, bit_pos); + set_page_dirty(ipage); /* we don't need to mark_inode_dirty now */ |