diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-12-10 18:41:28 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-12-10 18:41:28 -0500 |
commit | 4b0a268eeccae14d42ff5fb9f19b612913c0007c (patch) | |
tree | f8a9e9345b50b437b205421d8c7898c7ccaafdf4 /fs/f2fs/segment.h | |
parent | a6b849578ef3e0b131b1ea4063473a4f935a65e9 (diff) | |
parent | 635aee1fefef921ae4124b127fced62ea6008839 (diff) |
Merge tag 'for-f2fs-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs
Pull f2fs updates from Jaegeuk Kim:
"This patch-set includes lots of bug fixes based on clean-ups and
refactored codes. And inline_dir was introduced and two minor mount
options were added. Details from signed tag:
This series includes the following enhancement with refactored flows.
- fix inmemory page operations
- fix wrong inline_data & inline_dir logics
- enhance memory and IO control under memory pressure
- consider preemption on radix_tree operation
- fix memory leaks and deadlocks
But also, there are a couple of new features:
- support inline_dir to store dentries inside inode page
- add -o fastboot to reduce booting time
- implement -o dirsync
And a lot of clean-ups and minor bug fixes as well"
* tag 'for-f2fs-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (88 commits)
f2fs: avoid to ra unneeded blocks in recover flow
f2fs: introduce is_valid_blkaddr to cleanup codes in ra_meta_pages
f2fs: fix to enable readahead for SSA/CP blocks
f2fs: use atomic for counting inode with inline_{dir,inode} flag
f2fs: cleanup path to need cp at fsync
f2fs: check if inode state is dirty at fsync
f2fs: count the number of inmemory pages
f2fs: release inmemory pages when the file was closed
f2fs: set page private for inmemory pages for truncation
f2fs: count inline_xx in do_read_inode
f2fs: do retry operations with cond_resched
f2fs: call radix_tree_preload before radix_tree_insert
f2fs: use rw_semaphore for nat entry lock
f2fs: fix missing kmem_cache_free
f2fs: more fast lookup for gc_inode list
f2fs: cleanup redundant macro
f2fs: fix to return correct error number in f2fs_write_begin
f2fs: cleanup if-statement of phase in gc_data_segment
f2fs: fix to recover converted inline_data
f2fs: make clean the page before writing
...
Diffstat (limited to 'fs/f2fs/segment.h')
-rw-r--r-- | fs/f2fs/segment.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/f2fs/segment.h b/fs/f2fs/segment.h index 2495bec1c621..7f327c0ba4e3 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) | |||
657 | { | 657 | { |
658 | unsigned int block_off = SIT_BLOCK_OFFSET(start); | 658 | unsigned int block_off = SIT_BLOCK_OFFSET(start); |
659 | 659 | ||
660 | if (f2fs_test_bit(block_off, sit_i->sit_bitmap)) | 660 | f2fs_change_bit(block_off, sit_i->sit_bitmap); |
661 | f2fs_clear_bit(block_off, sit_i->sit_bitmap); | ||
662 | else | ||
663 | f2fs_set_bit(block_off, sit_i->sit_bitmap); | ||
664 | } | 661 | } |
665 | 662 | ||
666 | static inline unsigned long long get_mtime(struct f2fs_sb_info *sbi) | 663 | static inline unsigned long long get_mtime(struct f2fs_sb_info *sbi) |
@@ -714,6 +711,9 @@ static inline unsigned int max_hw_blocks(struct f2fs_sb_info *sbi) | |||
714 | */ | 711 | */ |
715 | static inline int nr_pages_to_skip(struct f2fs_sb_info *sbi, int type) | 712 | static inline int nr_pages_to_skip(struct f2fs_sb_info *sbi, int type) |
716 | { | 713 | { |
714 | if (sbi->sb->s_bdi->dirty_exceeded) | ||
715 | return 0; | ||
716 | |||
717 | if (type == DATA) | 717 | if (type == DATA) |
718 | return sbi->blocks_per_seg; | 718 | return sbi->blocks_per_seg; |
719 | else if (type == NODE) | 719 | else if (type == NODE) |