[f2fs-dev] [PATCH 5/6] f2fs: remove the redundant function cond_clear_inode_flag
Use clear_inode_flag to replace the redundant cond_clear_inode_flag. Signed-off-by: Gu Zheng guz.f...@cn.fujitsu.com --- fs/f2fs/acl.c |4 ++-- fs/f2fs/f2fs.h |9 - 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/fs/f2fs/acl.c b/fs/f2fs/acl.c index 83b9b5a..e8d78fb 100644 --- a/fs/f2fs/acl.c +++ b/fs/f2fs/acl.c @@ -229,7 +229,7 @@ static int __f2fs_set_acl(struct inode *inode, int type, if (acl) { value = f2fs_acl_to_disk(acl, size); if (IS_ERR(value)) { - cond_clear_inode_flag(fi, FI_ACL_MODE); + clear_inode_flag(fi, FI_ACL_MODE); return (int)PTR_ERR(value); } } @@ -240,7 +240,7 @@ static int __f2fs_set_acl(struct inode *inode, int type, if (!error) set_cached_acl(inode, type, acl); - cond_clear_inode_flag(fi, FI_ACL_MODE); + clear_inode_flag(fi, FI_ACL_MODE); return error; } diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h index 0aef88f..d227dc6 100644 --- a/fs/f2fs/f2fs.h +++ b/fs/f2fs/f2fs.h @@ -1096,15 +1096,6 @@ static inline void set_acl_inode(struct f2fs_inode_info *fi, umode_t mode) set_inode_flag(fi, FI_ACL_MODE); } -static inline int cond_clear_inode_flag(struct f2fs_inode_info *fi, int flag) -{ - if (is_inode_flag_set(fi, FI_ACL_MODE)) { - clear_inode_flag(fi, FI_ACL_MODE); - return 1; - } - return 0; -} - static inline void get_inline_info(struct f2fs_inode_info *fi, struct f2fs_inode *ri) { -- 1.7.7 -- Comprehensive Server Monitoring with Site24x7. Monitor 10 servers for $9/Month. Get alerted through email, SMS, voice calls or mobile push notifications. Take corrective actions from your mobile device. http://p.sf.net/sfu/Zoho ___ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
[f2fs-dev] [PATCH 6/6] f2fs: set raw_super default to NULL to avoid compile warning
Set raw_super default to NULL to avoid the possibly used uninitialized warning, though we may never hit it in fact. Signed-off-by: Gu Zheng guz.f...@cn.fujitsu.com --- fs/f2fs/super.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c index 41d6f70..ed59c8e 100644 --- a/fs/f2fs/super.c +++ b/fs/f2fs/super.c @@ -922,7 +922,7 @@ retry: static int f2fs_fill_super(struct super_block *sb, void *data, int silent) { struct f2fs_sb_info *sbi; - struct f2fs_super_block *raw_super; + struct f2fs_super_block *raw_super = NULL; struct buffer_head *raw_super_buf; struct inode *root; long err = -EINVAL; -- 1.7.7 -- Comprehensive Server Monitoring with Site24x7. Monitor 10 servers for $9/Month. Get alerted through email, SMS, voice calls or mobile push notifications. Take corrective actions from your mobile device. http://p.sf.net/sfu/Zoho ___ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
[f2fs-dev] [PATCH 2/6] f2fs: use current_sit_addr to replace the open code
Signed-off-by: Gu Zheng guz.f...@cn.fujitsu.com --- fs/f2fs/segment.c | 12 +--- 1 files changed, 1 insertions(+), 11 deletions(-) diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c index 923cb76..6fb7446 100644 --- a/fs/f2fs/segment.c +++ b/fs/f2fs/segment.c @@ -1524,17 +1524,7 @@ int lookup_journal_in_cursum(struct f2fs_summary_block *sum, int type, static struct page *get_current_sit_page(struct f2fs_sb_info *sbi, unsigned int segno) { - struct sit_info *sit_i = SIT_I(sbi); - unsigned int offset = SIT_BLOCK_OFFSET(segno); - block_t blk_addr = sit_i-sit_base_addr + offset; - - check_seg_range(sbi, segno); - - /* calculate sit block address */ - if (f2fs_test_bit(offset, sit_i-sit_bitmap)) - blk_addr += sit_i-sit_blocks; - - return get_meta_page(sbi, blk_addr); + return get_meta_page(sbi, current_sit_addr(sbi, segno)); } static struct page *get_next_sit_page(struct f2fs_sb_info *sbi, -- 1.7.7 -- Comprehensive Server Monitoring with Site24x7. Monitor 10 servers for $9/Month. Get alerted through email, SMS, voice calls or mobile push notifications. Take corrective actions from your mobile device. http://p.sf.net/sfu/Zoho ___ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
[f2fs-dev] [PATCH 1/6] f2fs: remove the seems unneeded argument 'type' from __get_victim
Remove the unneeded argument 'type' from __get_victim, use NO_CHECK_TYPE directly when calling v_ops-get_victim(). Signed-off-by: Gu Zheng guz.f...@cn.fujitsu.com --- fs/f2fs/gc.c |8 +--- 1 files changed, 5 insertions(+), 3 deletions(-) diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c index 2a8f4ac..7151d7d 100644 --- a/fs/f2fs/gc.c +++ b/fs/f2fs/gc.c @@ -646,12 +646,14 @@ next_iput: } static int __get_victim(struct f2fs_sb_info *sbi, unsigned int *victim, - int gc_type, int type) + int gc_type) { struct sit_info *sit_i = SIT_I(sbi); int ret; + mutex_lock(sit_i-sentry_lock); - ret = DIRTY_I(sbi)-v_ops-get_victim(sbi, victim, gc_type, type, LFS); + ret = DIRTY_I(sbi)-v_ops-get_victim(sbi, victim, gc_type, + NO_CHECK_TYPE, LFS); mutex_unlock(sit_i-sentry_lock); return ret; } @@ -709,7 +711,7 @@ gc_more: write_checkpoint(sbi, cpc); } - if (!__get_victim(sbi, segno, gc_type, NO_CHECK_TYPE)) + if (!__get_victim(sbi, segno, gc_type)) goto stop; ret = 0; -- 1.7.7 -- Comprehensive Server Monitoring with Site24x7. Monitor 10 servers for $9/Month. Get alerted through email, SMS, voice calls or mobile push notifications. Take corrective actions from your mobile device. http://p.sf.net/sfu/Zoho ___ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
[f2fs-dev] [PATCH 3/6] f2fs: introduce f2fs_change_bit to simplify the change bit logic
Introduce f2fs_change_bit to simplify the change bit logic in function set_to_next_nat{sit}. Signed-off-by: Gu Zheng guz.f...@cn.fujitsu.com --- fs/f2fs/f2fs.h|9 + fs/f2fs/node.h|5 + fs/f2fs/segment.h |5 + 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h index 8171e80..3095a57 100644 --- a/fs/f2fs/f2fs.h +++ b/fs/f2fs/f2fs.h @@ -1044,6 +1044,15 @@ static inline int f2fs_clear_bit(unsigned int nr, char *addr) return ret; } +static inline void f2fs_change_bit(unsigned int nr, char *addr) +{ + int mask; + + addr += (nr 3); + mask = 1 (7 - (nr 0x07)); + *addr ^= mask; +} + /* used for f2fs_inode_info-flags */ enum { FI_NEW_INODE, /* indicate newly allocated inode */ diff --git a/fs/f2fs/node.h b/fs/f2fs/node.h index 8d5e6e0..acb71e5 100644 --- a/fs/f2fs/node.h +++ b/fs/f2fs/node.h @@ -192,10 +192,7 @@ static inline void set_to_next_nat(struct f2fs_nm_info *nm_i, nid_t start_nid) { unsigned int block_off = NAT_BLOCK_OFFSET(start_nid); - if (f2fs_test_bit(block_off, nm_i-nat_bitmap)) - f2fs_clear_bit(block_off, nm_i-nat_bitmap); - else - f2fs_set_bit(block_off, nm_i-nat_bitmap); + f2fs_change_bit(block_off, nm_i-nat_bitmap); } static inline void fill_node_footer(struct page *page, nid_t nid, diff --git a/fs/f2fs/segment.h b/fs/f2fs/segment.h index 2495bec..6723ccc 100644 --- a/fs/f2fs/segment.h +++ b/fs/f2fs/segment.h @@ -657,10 +657,7 @@ static inline void set_to_next_sit(struct sit_info *sit_i, unsigned int start) { unsigned int block_off = SIT_BLOCK_OFFSET(start); - if (f2fs_test_bit(block_off, sit_i-sit_bitmap)) - f2fs_clear_bit(block_off, sit_i-sit_bitmap); - else - f2fs_set_bit(block_off, sit_i-sit_bitmap); + f2fs_change_bit(block_off, sit_i-sit_bitmap); } static inline unsigned long long get_mtime(struct f2fs_sb_info *sbi) -- 1.7.7 -- Comprehensive Server Monitoring with Site24x7. Monitor 10 servers for $9/Month. Get alerted through email, SMS, voice calls or mobile push notifications. Take corrective actions from your mobile device. http://p.sf.net/sfu/Zoho ___ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel