f2fs: updates on v4.16-rc1
Pull f2fs updates from Jaegeuk Kim:
"In this round, we've followed up to support some generic features such
as cgroup, block reservation, linking fscrypt_ops, delivering
write_hints, and some ioctls. And, we could fix some corner cases in
terms of power-cut recovery and subtle deadlocks.
Enhancements:
- bitmap operations to handle NAT blocks
- readahead to improve readdir speed
- switch to use fscrypt_*
- apply write hints for direct IO
- add reserve_root=%u,resuid=%u,resgid=%u to reserve blocks for root/uid/gid
- modify b_avail and b_free to consider root reserved blocks
- support cgroup writeback
- support FIEMAP_FLAG_XATTR for fibmap
- add F2FS_IOC_PRECACHE_EXTENTS to pre-cache extents
- add F2FS_IOC_{GET/SET}_PIN_FILE to pin LBAs for data blocks
- support inode creation time
Bug fixs:
- sysfile-based quota operations
- memory footprint accounting
- allow to write data on partial preallocation case
- fix deadlock case on fallocate
- fix to handle fill_super errors
- fix missing inode updates of fsync'ed file
- recover renamed file which was fsycn'ed before
- drop inmemory pages in corner error case
- keep last_disk_size correctly
- recover missing i_inline flags during roll-forward
Various clean-up patches were added as well"
Cherry-pick from origin/upstream-f2fs-stable-linux-3.18.y:
b85b2040 f2fs: support inode creation time
c72ef472 f2fs: rebuild sit page from sit info in mem
f368156e f2fs: stop issuing discard if fs is readonly
be823aa3 f2fs: clean up duplicated assignment in init_discard_policy
67ebfab1 f2fs: use GFP_F2FS_ZERO for cleanup
2ebcc5d8 f2fs: allow to recover node blocks given updated checkpoint
2ea7d6f1 f2fs: recover some i_inline flags
2e1f3aa5 f2fs: correct removexattr behavior for null valued extended attribute
c8330bdc f2fs: drop page cache after fs shutdown
ef83735b f2fs: stop gc/discard thread after fs shutdown
cb472c71 f2fs: hanlde error case in f2fs_ioc_shutdown
b66b08d9 f2fs: split need_inplace_update
af69483e f2fs: fix to update last_disk_size correctly
dc4b6954 f2fs: kill F2FS_INLINE_XATTR_ADDRS for cleanup
13240c90 f2fs: clean up error path of fill_super
2e5c39e5 f2fs: avoid hungtask when GC encrypted block if io_bits is set
a14cced5 f2fs: allow quota to use reserved blocks
859cc837 f2fs: fix to drop all inmem pages correctly
8975d2b9 f2fs: speed up defragment on sparse file
06e30f6f f2fs: support F2FS_IOC_PRECACHE_EXTENTS
f3d5ace5 f2fs: add an ioctl to disable GC for specific file
11228b15 f2fs: prevent newly created inode from being dirtied incorrectly
623e2841 f2fs: support FIEMAP_FLAG_XATTR
2075b0e8 f2fs: fix to cover f2fs_inline_data_fiemap with inode_lock
0ea602b1 f2fs: check node page again in write end io
d503f1e0 f2fs: fix to caclulate required free section correctly
e72c4237 f2fs: handle newly created page when revoking inmem pages
177018aa f2fs: add resgid and resuid to reserve root blocks
6ad1915c f2fs: implement cgroup writeback support
1ee182bc f2fs: remove unused pend_list_tag
e732db71 f2fs: avoid high cpu usage in discard thread
647763fa f2fs: make local functions static
3f81bf52 f2fs: add reserved blocks for root user
cb4ea095 f2fs: check segment type in __f2fs_replace_block
2a6f5454 f2fs: update inode info to inode page for new file
db2e6b82 f2fs: show precise # of blocks that user/root can use
add96ed3 f2fs: clean up unneeded declaration
babfbc08 f2fs: continue to do direct IO if we only preallocate partial blocks
f9289908 f2fs: enable quota at remount from r to w
cfee78c6 f2fs: skip stop_checkpoint for user data writes
29f0297f f2fs: fix missing error number for xattr operation
1e85f5d7 f2fs: recover directory operations by fsync
f1b68a50 f2fs: return error during fill_super
e913b190 f2fs: fix an error case of missing update inode page
62b6a5f6 f2fs: fix potential hangtask in f2fs_trace_pid
54c06e52 f2fs: no need return value in restore summary process
e88ab669 f2fs: use unlikely for release case
24601828 f2fs: don't return value in truncate_data_blocks_range
15f92902 f2fs: clean up f2fs_map_blocks
8dfee8c4 f2fs: clean up hash codes
5d81acf5 f2fs: fix error handling in fill_super
3acc2f31 f2fs: spread f2fs_k{m,z}alloc
8c72d9db f2fs: inject fault to kvmalloc
fc42fc2c f2fs: inject fault to kzalloc
c821080d f2fs: remove a redundant conditional expression
612e589b f2fs: apply write hints to select the type of segment for direct write
63a9fc80 f2fs: switch to fscrypt_prepare_setattr()
16c5bfa1 f2fs: switch to fscrypt_prepare_lookup()
5998a21b f2fs: switch to fscrypt_prepare_rename()
dd5ca5fe f2fs: switch to fscrypt_prepare_link()
09c91079 f2fs: switch to fscrypt_file_open()
08cae724 f2fs: remove repeated f2fs_bug_on
7357b452 f2fs: remove an excess variable
6f2915eb f2fs: fix lock dependency in between dio_rwsem & i_mmap_sem
8c3b1444 f2fs: remove unused parameter
35b94063 f2fs: still write data if preallocate only partial blocks
b6453fcb f2fs: do not preallocate blocks which has wrong buffer
bee58ad4 f2fs: introduce sysfs readdir_ra to readahead inode block in readdir
5b10dbde f2fs: fix concurrent problem for updating free bitmap
2638ff75 f2fs: remove unneeded memory footprint accounting
c569c0b1 f2fs: no need to read nat block if nat_block_bitmap is set
5321a23c f2fs: reserve nid resource for quota sysfile
Change-Id: I5f95446f4d51232e82f48b716e5796d871e2d9ee
Signed-off-by:
Jaegeuk Kim <jaegeuk@google.com>
Loading
Please register or sign in to comment