diff options
author | Jaegeuk Kim <jaegeuk.kim@samsung.com> | 2013-12-06 01:00:58 -0500 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk.kim@samsung.com> | 2013-12-22 20:18:06 -0500 |
commit | 6bacf52fb58aeb3e89d9a62970b85a5570aa8ace (patch) | |
tree | 422eb46c144b7ffbae193570a001de2eed490e09 | |
parent | cfb271d485d0ec31eb92b51f4fbe54bf6542e8e6 (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.c | 10 | ||||
-rw-r--r-- | fs/f2fs/data.c | 29 | ||||
-rw-r--r-- | fs/f2fs/file.c | 9 | ||||
-rw-r--r-- | fs/f2fs/gc.c | 3 | ||||
-rw-r--r-- | fs/f2fs/node.c | 28 | ||||
-rw-r--r-- | fs/f2fs/recovery.c | 2 | ||||
-rw-r--r-- | fs/f2fs/super.c | 14 | ||||
-rw-r--r-- | fs/f2fs/xattr.c | 2 |
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 | |||
538 | repeat: | 537 | repeat: |
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 | |||
123 | out: | 122 | out: |
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); |
697 | gc_more: | 696 | gc_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 | } |
1017 | page_hit: | 1017 | page_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 | } |