aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk.kim@samsung.com>2013-12-06 01:00:58 -0500
committerJaegeuk Kim <jaegeuk.kim@samsung.com>2013-12-22 20:18:06 -0500
commit6bacf52fb58aeb3e89d9a62970b85a5570aa8ace (patch)
tree422eb46c144b7ffbae193570a001de2eed490e09
parentcfb271d485d0ec31eb92b51f4fbe54bf6542e8e6 (diff)
f2fs: add unlikely() macro for compiler more aggressively
This patch adds unlikely() macro into the most of codes. The basic rule is to add that when: - checking unusual errors, - checking page mappings, - and the other unlikely conditions. Change log from v1: - Don't add unlikely for the NULL test and error test: advised by Andi Kleen. Cc: Chao Yu <chao2.yu@samsung.com> Cc: Andi Kleen <andi@firstfloor.org> Reviewed-by: Chao Yu <chao2.yu@samsung.com> Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
-rw-r--r--fs/f2fs/checkpoint.c10
-rw-r--r--fs/f2fs/data.c29
-rw-r--r--fs/f2fs/file.c9
-rw-r--r--fs/f2fs/gc.c3
-rw-r--r--fs/f2fs/node.c28
-rw-r--r--fs/f2fs/recovery.c2
-rw-r--r--fs/f2fs/super.c14
-rw-r--r--fs/f2fs/xattr.c2
8 files changed, 47 insertions, 50 deletions
diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c
index 6b2106685b7a..cf505eb843e8 100644
--- a/fs/f2fs/checkpoint.c
+++ b/fs/f2fs/checkpoint.c
@@ -66,7 +66,7 @@ repeat:
66 goto repeat; 66 goto repeat;
67 67
68 lock_page(page); 68 lock_page(page);
69 if (page->mapping != mapping) { 69 if (unlikely(page->mapping != mapping)) {
70 f2fs_put_page(page, 1); 70 f2fs_put_page(page, 1);
71 goto repeat; 71 goto repeat;
72 } 72 }
@@ -473,7 +473,7 @@ static int __add_dirty_inode(struct inode *inode, struct dir_inode_entry *new)
473 list_for_each(this, head) { 473 list_for_each(this, head) {
474 struct dir_inode_entry *entry; 474 struct dir_inode_entry *entry;
475 entry = list_entry(this, struct dir_inode_entry, list); 475 entry = list_entry(this, struct dir_inode_entry, list);
476 if (entry->inode == inode) 476 if (unlikely(entry->inode == inode))
477 return -EEXIST; 477 return -EEXIST;
478 } 478 }
479 list_add_tail(&new->list, head); 479 list_add_tail(&new->list, head);
@@ -783,7 +783,7 @@ static void do_checkpoint(struct f2fs_sb_info *sbi, bool is_umount)
783 /* Here, we only have one bio having CP pack */ 783 /* Here, we only have one bio having CP pack */
784 sync_meta_pages(sbi, META_FLUSH, LONG_MAX); 784 sync_meta_pages(sbi, META_FLUSH, LONG_MAX);
785 785
786 if (!is_set_ckpt_flags(ckpt, CP_ERROR_FLAG)) { 786 if (unlikely(!is_set_ckpt_flags(ckpt, CP_ERROR_FLAG))) {
787 clear_prefree_segments(sbi); 787 clear_prefree_segments(sbi);
788 F2FS_RESET_SB_DIRT(sbi); 788 F2FS_RESET_SB_DIRT(sbi);
789 } 789 }
@@ -840,11 +840,11 @@ int __init create_checkpoint_caches(void)
840{ 840{
841 orphan_entry_slab = f2fs_kmem_cache_create("f2fs_orphan_entry", 841 orphan_entry_slab = f2fs_kmem_cache_create("f2fs_orphan_entry",
842 sizeof(struct orphan_inode_entry), NULL); 842 sizeof(struct orphan_inode_entry), NULL);
843 if (unlikely(!orphan_entry_slab)) 843 if (!orphan_entry_slab)
844 return -ENOMEM; 844 return -ENOMEM;
845 inode_entry_slab = f2fs_kmem_cache_create("f2fs_dirty_dir_entry", 845 inode_entry_slab = f2fs_kmem_cache_create("f2fs_dirty_dir_entry",
846 sizeof(struct dir_inode_entry), NULL); 846 sizeof(struct dir_inode_entry), NULL);
847 if (unlikely(!inode_entry_slab)) { 847 if (!inode_entry_slab) {
848 kmem_cache_destroy(orphan_entry_slab); 848 kmem_cache_destroy(orphan_entry_slab);
849 return -ENOMEM; 849 return -ENOMEM;
850 } 850 }
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index 2ce5a9ef508b..5607393198df 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -49,11 +49,11 @@ static void f2fs_read_end_io(struct bio *bio, int err)
49 if (--bvec >= bio->bi_io_vec) 49 if (--bvec >= bio->bi_io_vec)
50 prefetchw(&bvec->bv_page->flags); 50 prefetchw(&bvec->bv_page->flags);
51 51
52 if (uptodate) { 52 if (unlikely(!uptodate)) {
53 SetPageUptodate(page);
54 } else {
55 ClearPageUptodate(page); 53 ClearPageUptodate(page);
56 SetPageError(page); 54 SetPageError(page);
55 } else {
56 SetPageUptodate(page);
57 } 57 }
58 unlock_page(page); 58 unlock_page(page);
59 } while (bvec >= bio->bi_io_vec); 59 } while (bvec >= bio->bi_io_vec);
@@ -73,7 +73,7 @@ static void f2fs_write_end_io(struct bio *bio, int err)
73 if (--bvec >= bio->bi_io_vec) 73 if (--bvec >= bio->bi_io_vec)
74 prefetchw(&bvec->bv_page->flags); 74 prefetchw(&bvec->bv_page->flags);
75 75
76 if (!uptodate) { 76 if (unlikely(!uptodate)) {
77 SetPageError(page); 77 SetPageError(page);
78 set_bit(AS_EIO, &page->mapping->flags); 78 set_bit(AS_EIO, &page->mapping->flags);
79 set_ckpt_flags(sbi->ckpt, CP_ERROR_FLAG); 79 set_ckpt_flags(sbi->ckpt, CP_ERROR_FLAG);
@@ -249,7 +249,7 @@ int reserve_new_block(struct dnode_of_data *dn)
249{ 249{
250 struct f2fs_sb_info *sbi = F2FS_SB(dn->inode->i_sb); 250 struct f2fs_sb_info *sbi = F2FS_SB(dn->inode->i_sb);
251 251
252 if (is_inode_flag_set(F2FS_I(dn->inode), FI_NO_ALLOC)) 252 if (unlikely(is_inode_flag_set(F2FS_I(dn->inode), FI_NO_ALLOC)))
253 return -EPERM; 253 return -EPERM;
254 if (unlikely(!inc_valid_block_count(sbi, dn->inode, 1))) 254 if (unlikely(!inc_valid_block_count(sbi, dn->inode, 1)))
255 return -ENOSPC; 255 return -ENOSPC;
@@ -424,7 +424,7 @@ struct page *find_data_page(struct inode *inode, pgoff_t index, bool sync)
424 return ERR_PTR(-ENOENT); 424 return ERR_PTR(-ENOENT);
425 425
426 /* By fallocate(), there is no cached page, but with NEW_ADDR */ 426 /* By fallocate(), there is no cached page, but with NEW_ADDR */
427 if (dn.data_blkaddr == NEW_ADDR) 427 if (unlikely(dn.data_blkaddr == NEW_ADDR))
428 return ERR_PTR(-EINVAL); 428 return ERR_PTR(-EINVAL);
429 429
430 page = grab_cache_page_write_begin(mapping, index, AOP_FLAG_NOFS); 430 page = grab_cache_page_write_begin(mapping, index, AOP_FLAG_NOFS);
@@ -443,7 +443,7 @@ struct page *find_data_page(struct inode *inode, pgoff_t index, bool sync)
443 443
444 if (sync) { 444 if (sync) {
445 wait_on_page_locked(page); 445 wait_on_page_locked(page);
446 if (!PageUptodate(page)) { 446 if (unlikely(!PageUptodate(page))) {
447 f2fs_put_page(page, 0); 447 f2fs_put_page(page, 0);
448 return ERR_PTR(-EIO); 448 return ERR_PTR(-EIO);
449 } 449 }
@@ -477,7 +477,7 @@ repeat:
477 } 477 }
478 f2fs_put_dnode(&dn); 478 f2fs_put_dnode(&dn);
479 479
480 if (dn.data_blkaddr == NULL_ADDR) { 480 if (unlikely(dn.data_blkaddr == NULL_ADDR)) {
481 f2fs_put_page(page, 1); 481 f2fs_put_page(page, 1);
482 return ERR_PTR(-ENOENT); 482 return ERR_PTR(-ENOENT);
483 } 483 }
@@ -502,11 +502,11 @@ repeat:
502 return ERR_PTR(err); 502 return ERR_PTR(err);
503 503
504 lock_page(page); 504 lock_page(page);
505 if (!PageUptodate(page)) { 505 if (unlikely(!PageUptodate(page))) {
506 f2fs_put_page(page, 1); 506 f2fs_put_page(page, 1);
507 return ERR_PTR(-EIO); 507 return ERR_PTR(-EIO);
508 } 508 }
509 if (page->mapping != mapping) { 509 if (unlikely(page->mapping != mapping)) {
510 f2fs_put_page(page, 1); 510 f2fs_put_page(page, 1);
511 goto repeat; 511 goto repeat;
512 } 512 }
@@ -534,7 +534,6 @@ struct page *get_new_data_page(struct inode *inode,
534 err = f2fs_reserve_block(&dn, index); 534 err = f2fs_reserve_block(&dn, index);
535 if (err) 535 if (err)
536 return ERR_PTR(err); 536 return ERR_PTR(err);
537
538repeat: 537repeat:
539 page = grab_cache_page(mapping, index); 538 page = grab_cache_page(mapping, index);
540 if (!page) 539 if (!page)
@@ -552,11 +551,11 @@ repeat:
552 if (err) 551 if (err)
553 return ERR_PTR(err); 552 return ERR_PTR(err);
554 lock_page(page); 553 lock_page(page);
555 if (!PageUptodate(page)) { 554 if (unlikely(!PageUptodate(page))) {
556 f2fs_put_page(page, 1); 555 f2fs_put_page(page, 1);
557 return ERR_PTR(-EIO); 556 return ERR_PTR(-EIO);
558 } 557 }
559 if (page->mapping != mapping) { 558 if (unlikely(page->mapping != mapping)) {
560 f2fs_put_page(page, 1); 559 f2fs_put_page(page, 1);
561 goto repeat; 560 goto repeat;
562 } 561 }
@@ -841,11 +840,11 @@ repeat:
841 if (err) 840 if (err)
842 return err; 841 return err;
843 lock_page(page); 842 lock_page(page);
844 if (!PageUptodate(page)) { 843 if (unlikely(!PageUptodate(page))) {
845 f2fs_put_page(page, 1); 844 f2fs_put_page(page, 1);
846 return -EIO; 845 return -EIO;
847 } 846 }
848 if (page->mapping != mapping) { 847 if (unlikely(page->mapping != mapping)) {
849 f2fs_put_page(page, 1); 848 f2fs_put_page(page, 1);
850 goto repeat; 849 goto repeat;
851 } 850 }
diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
index 2b47adcd852a..5accc964368d 100644
--- a/fs/f2fs/file.c
+++ b/fs/f2fs/file.c
@@ -50,9 +50,9 @@ static int f2fs_vm_page_mkwrite(struct vm_area_struct *vma,
50 50
51 file_update_time(vma->vm_file); 51 file_update_time(vma->vm_file);
52 lock_page(page); 52 lock_page(page);
53 if (page->mapping != inode->i_mapping || 53 if (unlikely(page->mapping != inode->i_mapping ||
54 page_offset(page) > i_size_read(inode) || 54 page_offset(page) > i_size_read(inode) ||
55 !PageUptodate(page)) { 55 !PageUptodate(page))) {
56 unlock_page(page); 56 unlock_page(page);
57 err = -EFAULT; 57 err = -EFAULT;
58 goto out; 58 goto out;
@@ -120,7 +120,7 @@ int f2fs_sync_file(struct file *file, loff_t start, loff_t end, int datasync)
120 .for_reclaim = 0, 120 .for_reclaim = 0,
121 }; 121 };
122 122
123 if (f2fs_readonly(inode->i_sb)) 123 if (unlikely(f2fs_readonly(inode->i_sb)))
124 return 0; 124 return 0;
125 125
126 trace_f2fs_sync_file_enter(inode); 126 trace_f2fs_sync_file_enter(inode);
@@ -241,7 +241,7 @@ static void truncate_partial_data_page(struct inode *inode, u64 from)
241 return; 241 return;
242 242
243 lock_page(page); 243 lock_page(page);
244 if (page->mapping != inode->i_mapping) { 244 if (unlikely(page->mapping != inode->i_mapping)) {
245 f2fs_put_page(page, 1); 245 f2fs_put_page(page, 1);
246 return; 246 return;
247 } 247 }
@@ -516,7 +516,6 @@ static int expand_inode_data(struct inode *inode, loff_t offset,
516 if (ret) 516 if (ret)
517 break; 517 break;
518 518
519
520 if (pg_start == pg_end) 519 if (pg_start == pg_end)
521 new_size = offset + len; 520 new_size = offset + len;
522 else if (index == pg_start && off_start) 521 else if (index == pg_start && off_start)
diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c
index 2886aef35d59..29ceb9d71c8c 100644
--- a/fs/f2fs/gc.c
+++ b/fs/f2fs/gc.c
@@ -119,7 +119,6 @@ int start_gc_thread(struct f2fs_sb_info *sbi)
119 kfree(gc_th); 119 kfree(gc_th);
120 sbi->gc_thread = NULL; 120 sbi->gc_thread = NULL;
121 } 121 }
122
123out: 122out:
124 return err; 123 return err;
125} 124}
@@ -695,7 +694,7 @@ int f2fs_gc(struct f2fs_sb_info *sbi)
695 694
696 INIT_LIST_HEAD(&ilist); 695 INIT_LIST_HEAD(&ilist);
697gc_more: 696gc_more:
698 if (!(sbi->sb->s_flags & MS_ACTIVE)) 697 if (unlikely(!(sbi->sb->s_flags & MS_ACTIVE)))
699 goto stop; 698 goto stop;
700 699
701 if (gc_type == BG_GC && has_not_enough_free_secs(sbi, nfree)) { 700 if (gc_type == BG_GC && has_not_enough_free_secs(sbi, nfree)) {
diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
index 2e41636be476..6c6ef772cf01 100644
--- a/fs/f2fs/node.c
+++ b/fs/f2fs/node.c
@@ -750,7 +750,7 @@ skip_partial:
750 if (offset[1] == 0 && 750 if (offset[1] == 0 &&
751 rn->i.i_nid[offset[0] - NODE_DIR1_BLOCK]) { 751 rn->i.i_nid[offset[0] - NODE_DIR1_BLOCK]) {
752 lock_page(page); 752 lock_page(page);
753 if (page->mapping != node_mapping) { 753 if (unlikely(page->mapping != node_mapping)) {
754 f2fs_put_page(page, 1); 754 f2fs_put_page(page, 1);
755 goto restart; 755 goto restart;
756 } 756 }
@@ -841,14 +841,14 @@ struct page *new_node_page(struct dnode_of_data *dn,
841 struct page *page; 841 struct page *page;
842 int err; 842 int err;
843 843
844 if (is_inode_flag_set(F2FS_I(dn->inode), FI_NO_ALLOC)) 844 if (unlikely(is_inode_flag_set(F2FS_I(dn->inode), FI_NO_ALLOC)))
845 return ERR_PTR(-EPERM); 845 return ERR_PTR(-EPERM);
846 846
847 page = grab_cache_page(mapping, dn->nid); 847 page = grab_cache_page(mapping, dn->nid);
848 if (!page) 848 if (!page)
849 return ERR_PTR(-ENOMEM); 849 return ERR_PTR(-ENOMEM);
850 850
851 if (!inc_valid_node_count(sbi, dn->inode)) { 851 if (unlikely(!inc_valid_node_count(sbi, dn->inode))) {
852 err = -ENOSPC; 852 err = -ENOSPC;
853 goto fail; 853 goto fail;
854 } 854 }
@@ -898,7 +898,7 @@ static int read_node_page(struct page *page, int rw)
898 898
899 get_node_info(sbi, page->index, &ni); 899 get_node_info(sbi, page->index, &ni);
900 900
901 if (ni.blk_addr == NULL_ADDR) { 901 if (unlikely(ni.blk_addr == NULL_ADDR)) {
902 f2fs_put_page(page, 1); 902 f2fs_put_page(page, 1);
903 return -ENOENT; 903 return -ENOENT;
904 } 904 }
@@ -953,11 +953,11 @@ repeat:
953 goto got_it; 953 goto got_it;
954 954
955 lock_page(page); 955 lock_page(page);
956 if (!PageUptodate(page)) { 956 if (unlikely(!PageUptodate(page))) {
957 f2fs_put_page(page, 1); 957 f2fs_put_page(page, 1);
958 return ERR_PTR(-EIO); 958 return ERR_PTR(-EIO);
959 } 959 }
960 if (page->mapping != mapping) { 960 if (unlikely(page->mapping != mapping)) {
961 f2fs_put_page(page, 1); 961 f2fs_put_page(page, 1);
962 goto repeat; 962 goto repeat;
963 } 963 }
@@ -1010,12 +1010,12 @@ repeat:
1010 blk_finish_plug(&plug); 1010 blk_finish_plug(&plug);
1011 1011
1012 lock_page(page); 1012 lock_page(page);
1013 if (page->mapping != mapping) { 1013 if (unlikely(page->mapping != mapping)) {
1014 f2fs_put_page(page, 1); 1014 f2fs_put_page(page, 1);
1015 goto repeat; 1015 goto repeat;
1016 } 1016 }
1017page_hit: 1017page_hit:
1018 if (!PageUptodate(page)) { 1018 if (unlikely(!PageUptodate(page))) {
1019 f2fs_put_page(page, 1); 1019 f2fs_put_page(page, 1);
1020 return ERR_PTR(-EIO); 1020 return ERR_PTR(-EIO);
1021 } 1021 }
@@ -1173,9 +1173,9 @@ int wait_on_node_pages_writeback(struct f2fs_sb_info *sbi, nid_t ino)
1173 cond_resched(); 1173 cond_resched();
1174 } 1174 }
1175 1175
1176 if (test_and_clear_bit(AS_ENOSPC, &mapping->flags)) 1176 if (unlikely(test_and_clear_bit(AS_ENOSPC, &mapping->flags)))
1177 ret2 = -ENOSPC; 1177 ret2 = -ENOSPC;
1178 if (test_and_clear_bit(AS_EIO, &mapping->flags)) 1178 if (unlikely(test_and_clear_bit(AS_EIO, &mapping->flags)))
1179 ret2 = -EIO; 1179 ret2 = -EIO;
1180 if (!ret) 1180 if (!ret)
1181 ret = ret2; 1181 ret = ret2;
@@ -1202,7 +1202,7 @@ static int f2fs_write_node_page(struct page *page,
1202 get_node_info(sbi, nid, &ni); 1202 get_node_info(sbi, nid, &ni);
1203 1203
1204 /* This page is already truncated */ 1204 /* This page is already truncated */
1205 if (ni.blk_addr == NULL_ADDR) { 1205 if (unlikely(ni.blk_addr == NULL_ADDR)) {
1206 dec_page_count(sbi, F2FS_DIRTY_NODES); 1206 dec_page_count(sbi, F2FS_DIRTY_NODES);
1207 unlock_page(page); 1207 unlock_page(page);
1208 return 0; 1208 return 0;
@@ -1627,14 +1627,14 @@ int restore_node_summary(struct f2fs_sb_info *sbi,
1627 list_for_each_entry_safe(page, tmp, &page_list, lru) { 1627 list_for_each_entry_safe(page, tmp, &page_list, lru) {
1628 1628
1629 lock_page(page); 1629 lock_page(page);
1630 if(PageUptodate(page)) { 1630 if (unlikely(!PageUptodate(page))) {
1631 err = -EIO;
1632 } else {
1631 rn = F2FS_NODE(page); 1633 rn = F2FS_NODE(page);
1632 sum_entry->nid = rn->footer.nid; 1634 sum_entry->nid = rn->footer.nid;
1633 sum_entry->version = 0; 1635 sum_entry->version = 0;
1634 sum_entry->ofs_in_node = 0; 1636 sum_entry->ofs_in_node = 0;
1635 sum_entry++; 1637 sum_entry++;
1636 } else {
1637 err = -EIO;
1638 } 1638 }
1639 1639
1640 list_del(&page->lru); 1640 list_del(&page->lru);
diff --git a/fs/f2fs/recovery.c b/fs/f2fs/recovery.c
index d07546575879..a3f4542160cf 100644
--- a/fs/f2fs/recovery.c
+++ b/fs/f2fs/recovery.c
@@ -430,7 +430,7 @@ int recover_fsync_data(struct f2fs_sb_info *sbi)
430 430
431 fsync_entry_slab = f2fs_kmem_cache_create("f2fs_fsync_inode_entry", 431 fsync_entry_slab = f2fs_kmem_cache_create("f2fs_fsync_inode_entry",
432 sizeof(struct fsync_inode_entry), NULL); 432 sizeof(struct fsync_inode_entry), NULL);
433 if (unlikely(!fsync_entry_slab)) 433 if (!fsync_entry_slab)
434 return -ENOMEM; 434 return -ENOMEM;
435 435
436 INIT_LIST_HEAD(&inode_list); 436 INIT_LIST_HEAD(&inode_list);
diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index 22b07c33662f..68df44afd14b 100644
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -626,7 +626,7 @@ static struct inode *f2fs_nfs_get_inode(struct super_block *sb,
626 struct f2fs_sb_info *sbi = F2FS_SB(sb); 626 struct f2fs_sb_info *sbi = F2FS_SB(sb);
627 struct inode *inode; 627 struct inode *inode;
628 628
629 if (ino < F2FS_ROOT_INO(sbi)) 629 if (unlikely(ino < F2FS_ROOT_INO(sbi)))
630 return ERR_PTR(-ESTALE); 630 return ERR_PTR(-ESTALE);
631 631
632 /* 632 /*
@@ -637,7 +637,7 @@ static struct inode *f2fs_nfs_get_inode(struct super_block *sb,
637 inode = f2fs_iget(sb, ino); 637 inode = f2fs_iget(sb, ino);
638 if (IS_ERR(inode)) 638 if (IS_ERR(inode))
639 return ERR_CAST(inode); 639 return ERR_CAST(inode);
640 if (generation && inode->i_generation != generation) { 640 if (unlikely(generation && inode->i_generation != generation)) {
641 /* we didn't find the right inode.. */ 641 /* we didn't find the right inode.. */
642 iput(inode); 642 iput(inode);
643 return ERR_PTR(-ESTALE); 643 return ERR_PTR(-ESTALE);
@@ -740,10 +740,10 @@ static int sanity_check_ckpt(struct f2fs_sb_info *sbi)
740 fsmeta += le32_to_cpu(ckpt->rsvd_segment_count); 740 fsmeta += le32_to_cpu(ckpt->rsvd_segment_count);
741 fsmeta += le32_to_cpu(raw_super->segment_count_ssa); 741 fsmeta += le32_to_cpu(raw_super->segment_count_ssa);
742 742
743 if (fsmeta >= total) 743 if (unlikely(fsmeta >= total))
744 return 1; 744 return 1;
745 745
746 if (is_set_ckpt_flags(ckpt, CP_ERROR_FLAG)) { 746 if (unlikely(is_set_ckpt_flags(ckpt, CP_ERROR_FLAG))) {
747 f2fs_msg(sbi->sb, KERN_ERR, "A bug case: need to run fsck"); 747 f2fs_msg(sbi->sb, KERN_ERR, "A bug case: need to run fsck");
748 return 1; 748 return 1;
749 } 749 }
@@ -808,7 +808,7 @@ retry:
808 brelse(*raw_super_buf); 808 brelse(*raw_super_buf);
809 f2fs_msg(sb, KERN_ERR, "Can't find a valid F2FS filesystem " 809 f2fs_msg(sb, KERN_ERR, "Can't find a valid F2FS filesystem "
810 "in %dth superblock", block + 1); 810 "in %dth superblock", block + 1);
811 if(block == 0) { 811 if (block == 0) {
812 block++; 812 block++;
813 goto retry; 813 goto retry;
814 } else { 814 } else {
@@ -834,7 +834,7 @@ static int f2fs_fill_super(struct super_block *sb, void *data, int silent)
834 return -ENOMEM; 834 return -ENOMEM;
835 835
836 /* set a block size */ 836 /* set a block size */
837 if (!sb_set_blocksize(sb, F2FS_BLKSIZE)) { 837 if (unlikely(!sb_set_blocksize(sb, F2FS_BLKSIZE))) {
838 f2fs_msg(sb, KERN_ERR, "unable to set blocksize"); 838 f2fs_msg(sb, KERN_ERR, "unable to set blocksize");
839 goto free_sbi; 839 goto free_sbi;
840 } 840 }
@@ -1066,7 +1066,7 @@ static int __init init_inodecache(void)
1066{ 1066{
1067 f2fs_inode_cachep = f2fs_kmem_cache_create("f2fs_inode_cache", 1067 f2fs_inode_cachep = f2fs_kmem_cache_create("f2fs_inode_cache",
1068 sizeof(struct f2fs_inode_info), NULL); 1068 sizeof(struct f2fs_inode_info), NULL);
1069 if (f2fs_inode_cachep == NULL) 1069 if (!f2fs_inode_cachep)
1070 return -ENOMEM; 1070 return -ENOMEM;
1071 return 0; 1071 return 0;
1072} 1072}
diff --git a/fs/f2fs/xattr.c b/fs/f2fs/xattr.c
index aa7a3f139fe5..b0fb8a27f3da 100644
--- a/fs/f2fs/xattr.c
+++ b/fs/f2fs/xattr.c
@@ -522,7 +522,7 @@ static int __f2fs_setxattr(struct inode *inode, int name_index,
522 if (found) 522 if (found)
523 free = free + ENTRY_SIZE(here); 523 free = free + ENTRY_SIZE(here);
524 524
525 if (free < newsize) { 525 if (unlikely(free < newsize)) {
526 error = -ENOSPC; 526 error = -ENOSPC;
527 goto exit; 527 goto exit;
528 } 528 }