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-4.4.y:
5f9b3abb f2fs: support inode creation time
9fb0de17 f2fs: rebuild sit page from sit info in mem
1062a0c0 f2fs: stop issuing discard if fs is readonly
fa043fae f2fs: clean up duplicated assignment in init_discard_policy
b0071902 f2fs: use GFP_F2FS_ZERO for cleanup
35b11839 f2fs: allow to recover node blocks given updated checkpoint
e5650086 f2fs: recover some i_inline flags
64aa9569 f2fs: correct removexattr behavior for null valued extended attribute
70b3a923 f2fs: drop page cache after fs shutdown
8069a0e9 f2fs: stop gc/discard thread after fs shutdown
bb924f77 f2fs: hanlde error case in f2fs_ioc_shutdown
700b53f2 f2fs: split need_inplace_update
f31d5281 f2fs: fix to update last_disk_size correctly
eeb0118b f2fs: kill F2FS_INLINE_XATTR_ADDRS for cleanup
c1b74c96 f2fs: clean up error path of fill_super
d5efd57e f2fs: avoid hungtask when GC encrypted block if io_bits is set
c4027d08 f2fs: allow quota to use reserved blocks
18d267c2 f2fs: fix to drop all inmem pages correctly
4dca4753 f2fs: speed up defragment on sparse file
999f806a f2fs: support F2FS_IOC_PRECACHE_EXTENTS
84960fca f2fs: add an ioctl to disable GC for specific file
292c8e1c f2fs: prevent newly created inode from being dirtied incorrectly
58b1f5b0 f2fs: support FIEMAP_FLAG_XATTR
6afa9a94 f2fs: fix to cover f2fs_inline_data_fiemap with inode_lock
10f4a414 f2fs: check node page again in write end io
b203c58d f2fs: fix to caclulate required free section correctly
d49132d4 f2fs: handle newly created page when revoking inmem pages
2ce6b9d8 f2fs: add resgid and resuid to reserve root blocks
f53dcf67 f2fs: implement cgroup writeback support
1338f376 f2fs: remove unused pend_list_tag
d4f19f62 f2fs: avoid high cpu usage in discard thread
b78e9302 f2fs: make local functions static
62438ba8 f2fs: add reserved blocks for root user
06a36675 f2fs: check segment type in __f2fs_replace_block
4c6bc4be f2fs: update inode info to inode page for new file
591b3363 f2fs: show precise # of blocks that user/root can use
b242d7ed f2fs: clean up unneeded declaration
87b8168e f2fs: continue to do direct IO if we only preallocate partial blocks
2b4d859b f2fs: enable quota at remount from r to w
54bf13a0 f2fs: skip stop_checkpoint for user data writes
25ef3006 f2fs: fix missing error number for xattr operation
cff2c7fe f2fs: recover directory operations by fsync
e2bb618a f2fs: return error during fill_super
8a2c11d8 f2fs: fix an error case of missing update inode page
cd38d5ad f2fs: fix potential hangtask in f2fs_trace_pid
e81cafbe f2fs: no need return value in restore summary process
04d44000 f2fs: use unlikely for release case
925d0933 f2fs: don't return value in truncate_data_blocks_range
f7986c41 f2fs: clean up f2fs_map_blocks
e4f5e26c f2fs: clean up hash codes
1f994d47 f2fs: fix error handling in fill_super
e7db649b f2fs: spread f2fs_k{m,z}alloc
5d4e487b f2fs: inject fault to kvmalloc
8b33886c f2fs: inject fault to kzalloc
d9468079 f2fs: remove a redundant conditional expression
3bc01114 f2fs: apply write hints to select the type of segment for direct write
c80f0195 f2fs: switch to fscrypt_prepare_setattr()
bb8b8503 f2fs: switch to fscrypt_prepare_lookup()
9ab470ea f2fs: switch to fscrypt_prepare_rename()
aeaac517 f2fs: switch to fscrypt_prepare_link()
101c6a96 f2fs: switch to fscrypt_file_open()
6d025237 f2fs: remove repeated f2fs_bug_on
b01e03d7 f2fs: remove an excess variable
e1f9be2f f2fs: fix lock dependency in between dio_rwsem & i_mmap_sem
e5c7c860 f2fs: remove unused parameter
f130dbb9 f2fs: still write data if preallocate only partial blocks
47ee9b25 f2fs: introduce sysfs readdir_ra to readahead inode block in readdir
55e2f891 f2fs: fix concurrent problem for updating free bitmap
e1398f65 f2fs: remove unneeded memory footprint accounting
2d695611 f2fs: no need to read nat block if nat_block_bitmap is set
4dd2d073 f2fs: reserve nid resource for quota sysfile
Signed-off-by:
Jaegeuk Kim <jaegeuk@google.com>
Loading
Please register or sign in to comment