* [PATCH 2/4] f2fs: remove unneeded memset when updating xattr
@ 2016-05-04 15:19 Chao Yu
2016-05-04 15:19 ` [PATCH 3/4] f2fs: reuse get_extent_info Chao Yu
2016-05-04 15:19 ` [PATCH 4/4] f2fs: shrink size of struct seg_entry Chao Yu
0 siblings, 2 replies; 3+ messages in thread
From: Chao Yu @ 2016-05-04 15:19 UTC (permalink / raw)
To: jaegeuk; +Cc: linux-f2fs-devel, linux-kernel, Chao Yu
From: Chao Yu <yuchao0@huawei.com>
Each of fields in struct f2fs_xattr_entry will be assigned later,
so previously we don't need to memset the struct.
Signed-off-by: Chao Yu <yuchao0@huawei.com>
---
fs/f2fs/xattr.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/fs/f2fs/xattr.c b/fs/f2fs/xattr.c
index 8ad5847..4be7a9d 100644
--- a/fs/f2fs/xattr.c
+++ b/fs/f2fs/xattr.c
@@ -528,7 +528,6 @@ static int __f2fs_setxattr(struct inode *inode, int index,
* Before we come here, old entry is removed.
* We just write new entry.
*/
- memset(last, 0, newsize);
last->e_name_index = index;
last->e_name_len = len;
memcpy(last->e_name, name, len);
--
2.7.2
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH 3/4] f2fs: reuse get_extent_info
2016-05-04 15:19 [PATCH 2/4] f2fs: remove unneeded memset when updating xattr Chao Yu
@ 2016-05-04 15:19 ` Chao Yu
2016-05-04 15:19 ` [PATCH 4/4] f2fs: shrink size of struct seg_entry Chao Yu
1 sibling, 0 replies; 3+ messages in thread
From: Chao Yu @ 2016-05-04 15:19 UTC (permalink / raw)
To: jaegeuk; +Cc: linux-f2fs-devel, linux-kernel, Chao Yu
From: Chao Yu <yuchao0@huawei.com>
Reuse get_extent_info for readability.
Signed-off-by: Chao Yu <yuchao0@huawei.com>
---
fs/f2fs/extent_cache.c | 3 +--
fs/f2fs/f2fs.h | 8 ++++----
2 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/fs/f2fs/extent_cache.c b/fs/f2fs/extent_cache.c
index c859bb0..5bfcdb9 100644
--- a/fs/f2fs/extent_cache.c
+++ b/fs/f2fs/extent_cache.c
@@ -196,8 +196,7 @@ bool f2fs_init_extent_tree(struct inode *inode, struct f2fs_extent *i_ext)
if (!i_ext || !i_ext->len)
return false;
- set_extent_info(&ei, le32_to_cpu(i_ext->fofs),
- le32_to_cpu(i_ext->blk), le32_to_cpu(i_ext->len));
+ get_extent_info(&ei, i_ext);
write_lock(&et->lock);
if (atomic_read(&et->node_cnt))
diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
index a87625f..99c593f 100644
--- a/fs/f2fs/f2fs.h
+++ b/fs/f2fs/f2fs.h
@@ -417,11 +417,11 @@ struct f2fs_inode_info {
};
static inline void get_extent_info(struct extent_info *ext,
- struct f2fs_extent i_ext)
+ struct f2fs_extent *i_ext)
{
- ext->fofs = le32_to_cpu(i_ext.fofs);
- ext->blk = le32_to_cpu(i_ext.blk);
- ext->len = le32_to_cpu(i_ext.len);
+ ext->fofs = le32_to_cpu(i_ext->fofs);
+ ext->blk = le32_to_cpu(i_ext->blk);
+ ext->len = le32_to_cpu(i_ext->len);
}
static inline void set_raw_extent(struct extent_info *ext,
--
2.7.2
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH 4/4] f2fs: shrink size of struct seg_entry
2016-05-04 15:19 [PATCH 2/4] f2fs: remove unneeded memset when updating xattr Chao Yu
2016-05-04 15:19 ` [PATCH 3/4] f2fs: reuse get_extent_info Chao Yu
@ 2016-05-04 15:19 ` Chao Yu
1 sibling, 0 replies; 3+ messages in thread
From: Chao Yu @ 2016-05-04 15:19 UTC (permalink / raw)
To: jaegeuk; +Cc: linux-f2fs-devel, linux-kernel, Chao Yu
From: Chao Yu <yuchao0@huawei.com>
Restructure struct seg_entry to eliminate holes in it, after that,
in 32-bits machine, it reduces size from 32 bytes to 24 bytes; in
64-bits machine, it reduces size from 56 bytes to 40 bytes.
Signed-off-by: Chao Yu <yuchao0@huawei.com>
---
fs/f2fs/segment.h | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/fs/f2fs/segment.h b/fs/f2fs/segment.h
index 975c33d..7a756ff 100644
--- a/fs/f2fs/segment.h
+++ b/fs/f2fs/segment.h
@@ -158,16 +158,17 @@ struct victim_sel_policy {
};
struct seg_entry {
- unsigned short valid_blocks; /* # of valid blocks */
+ unsigned int type:6; /* segment type like CURSEG_XXX_TYPE */
+ unsigned int valid_blocks:10; /* # of valid blocks */
+ unsigned int ckpt_valid_blocks:10; /* # of valid blocks last cp */
+ unsigned int padding:6; /* padding */
unsigned char *cur_valid_map; /* validity bitmap of blocks */
/*
* # of valid blocks and the validity bitmap stored in the the last
* checkpoint pack. This information is used by the SSR mode.
*/
- unsigned short ckpt_valid_blocks;
- unsigned char *ckpt_valid_map;
+ unsigned char *ckpt_valid_map; /* validity bitmap of blocks last cp */
unsigned char *discard_map;
- unsigned char type; /* segment type like CURSEG_XXX_TYPE */
unsigned long long mtime; /* modification time of the segment */
};
--
2.7.2
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-05-04 15:22 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-04 15:19 [PATCH 2/4] f2fs: remove unneeded memset when updating xattr Chao Yu
2016-05-04 15:19 ` [PATCH 3/4] f2fs: reuse get_extent_info Chao Yu
2016-05-04 15:19 ` [PATCH 4/4] f2fs: shrink size of struct seg_entry Chao Yu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox