diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2019-07-12 20:28:24 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2019-07-12 20:28:24 -0400 |
commit | a641a88e5d6864f20b2608cb01165c756794e645 (patch) | |
tree | 5acf37ca592a87d705169174b51feb47bd253fa9 /fs/f2fs/debug.c | |
parent | 4ce9d181ebe53abbca5f450b8a2984b8c3a38f26 (diff) | |
parent | 2d008835ec2fcf6eef3285e41e62a5eabd1fe76b (diff) |
Merge tag 'f2fs-for-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs
Pull f2fs updates from Jaegeuk Kim:
"In this round, we've introduced native swap file support which can
exploit DIO, enhanced existing checkpoint=disable feature with
additional mount option to tune the triggering condition, and allowed
user to preallocate physical blocks in a pinned file which will be
useful to avoid f2fs fragmentation in append-only workloads. In
addition, we've fixed subtle quota corruption issue.
Enhancements:
- add swap file support which uses DIO
- allocate blocks for pinned file
- allow SSR and mount option to enhance checkpoint=disable
- enhance IPU IOs
- add more sanity checks such as memory boundary access
Bug fixes:
- quota corruption in very corner case of error-injected SPO case
- fix root_reserved on remount and some wrong counts
- add missing fsck flag
Some patches were also introduced to clean up ambiguous i_flags and
debugging messages codes"
* tag 'f2fs-for-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (33 commits)
f2fs: improve print log in f2fs_sanity_check_ckpt()
f2fs: avoid out-of-range memory access
f2fs: fix to avoid long latency during umount
f2fs: allow all the users to pin a file
f2fs: support swap file w/ DIO
f2fs: allocate blocks for pinned file
f2fs: fix is_idle() check for discard type
f2fs: add a rw_sem to cover quota flag changes
f2fs: set SBI_NEED_FSCK for xattr corruption case
f2fs: use generic EFSBADCRC/EFSCORRUPTED
f2fs: Use DIV_ROUND_UP() instead of open-coding
f2fs: print kernel message if filesystem is inconsistent
f2fs: introduce f2fs_<level> macros to wrap f2fs_printk()
f2fs: avoid get_valid_blocks() for cleanup
f2fs: ioctl for removing a range from F2FS
f2fs: only set project inherit bit for directory
f2fs: separate f2fs i_flags from fs_flags and ext4 i_flags
f2fs: replace ktype default_attrs with default_groups
f2fs: Add option to limit required GC for checkpoint=disable
f2fs: Fix accounting for unusable blocks
...
Diffstat (limited to 'fs/f2fs/debug.c')
-rw-r--r-- | fs/f2fs/debug.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/f2fs/debug.c b/fs/f2fs/debug.c index 99e9a5c37b71..7706049d23bf 100644 --- a/fs/f2fs/debug.c +++ b/fs/f2fs/debug.c | |||
@@ -27,8 +27,15 @@ static DEFINE_MUTEX(f2fs_stat_mutex); | |||
27 | static void update_general_status(struct f2fs_sb_info *sbi) | 27 | static void update_general_status(struct f2fs_sb_info *sbi) |
28 | { | 28 | { |
29 | struct f2fs_stat_info *si = F2FS_STAT(sbi); | 29 | struct f2fs_stat_info *si = F2FS_STAT(sbi); |
30 | struct f2fs_super_block *raw_super = F2FS_RAW_SUPER(sbi); | ||
30 | int i; | 31 | int i; |
31 | 32 | ||
33 | /* these will be changed if online resize is done */ | ||
34 | si->main_area_segs = le32_to_cpu(raw_super->segment_count_main); | ||
35 | si->main_area_sections = le32_to_cpu(raw_super->section_count); | ||
36 | si->main_area_zones = si->main_area_sections / | ||
37 | le32_to_cpu(raw_super->secs_per_zone); | ||
38 | |||
32 | /* validation check of the segment numbers */ | 39 | /* validation check of the segment numbers */ |
33 | si->hit_largest = atomic64_read(&sbi->read_hit_largest); | 40 | si->hit_largest = atomic64_read(&sbi->read_hit_largest); |
34 | si->hit_cached = atomic64_read(&sbi->read_hit_cached); | 41 | si->hit_cached = atomic64_read(&sbi->read_hit_cached); |