2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-17 09:43:59 +08:00
linux-next/fs/f2fs
Jaegeuk Kim 6a8f8ca582 f2fs: avoid race condition in handling wait_io
__submit_merged_bio    f2fs_write_end_io        f2fs_write_end_io
                       wait_io = X              wait_io = x
                       complete(X)              complete(X)
                       wait_io = NULL
wait_for_completion()
free(X)
                                                 spin_lock(X)
                                                 kernel panic

In order to avoid this, this patch removes the wait_io facility.
Instead, we can use wait_on_all_pages_writeback(sbi) to wait for end_ios.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2014-11-04 17:34:14 -08:00
..
acl.c f2fs: remove the redundant function cond_clear_inode_flag 2014-11-03 16:07:36 -08:00
acl.h f2fs: avoid deadlock on init_inode_metadata 2014-11-03 16:07:33 -08:00
checkpoint.c f2fs: avoid race condition in handling wait_io 2014-11-04 17:34:14 -08:00
data.c f2fs: avoid race condition in handling wait_io 2014-11-04 17:34:14 -08:00
debug.c f2fs: add stat info for inline_dentry inodes 2014-11-03 16:07:33 -08:00
dir.c f2fs: remove pointless bit testing in f2fs_delete_entry() 2014-11-03 16:07:38 -08:00
f2fs.h f2fs: avoid race condition in handling wait_io 2014-11-04 17:34:14 -08:00
file.c f2fs: revisit inline_data to avoid data races and potential bugs 2014-11-04 17:34:11 -08:00
gc.c f2fs: remove the seems unneeded argument 'type' from __get_victim 2014-11-03 16:07:35 -08:00
gc.h f2fs: fix typo 2014-08-19 10:01:33 -07:00
hash.c f2fs: fix wrong casting for dentry name 2014-08-29 00:26:50 -07:00
inline.c f2fs: revisit inline_data to avoid data races and potential bugs 2014-11-04 17:34:11 -08:00
inode.c f2fs: revisit inline_data to avoid data races and potential bugs 2014-11-04 17:34:11 -08:00
Kconfig f2fs: fix typo 2014-08-19 10:01:33 -07:00
Makefile f2fs: key functions to handle inline data 2013-12-26 20:40:09 +09:00
namei.c f2fs: revisit inline_data to avoid data races and potential bugs 2014-11-04 17:34:11 -08:00
node.c f2fs: refactor flush_nat_entries to remove costly reorganizing ops 2014-09-30 15:30:41 -07:00
node.h f2fs: introduce f2fs_change_bit to simplify the change bit logic 2014-11-03 16:07:36 -08:00
recovery.c f2fs: enable inline dir handling 2014-11-03 16:07:32 -08:00
segment.c f2fs: send discard commands in larger extent 2014-11-04 17:34:13 -08:00
segment.h f2fs: introduce f2fs_change_bit to simplify the change bit logic 2014-11-03 16:07:36 -08:00
super.c f2fs: set raw_super default to NULL to avoid compile warning 2014-11-03 16:07:36 -08:00
xattr.c f2fs: avoid deadlock on init_inode_metadata 2014-11-03 16:07:33 -08:00
xattr.h f2fs: avoid deadlock on init_inode_metadata 2014-11-03 16:07:33 -08:00