Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
f2fs: avoid double lock for cp_rwsem
The __f2fs_add_link is covered by cp_rwsem all the time. This calls init_inode_metadata, which conducts some acl operations including memory allocation with GFP_KERNEL previously. But, under memory pressure, f2fs_write_data_page can be called, which also grabs cp_rwsem too. In this case, this incurs a deadlock pointed by Chao. Thread kerneltoast#1 Thread kerneltoast#2 down_read down_write down_read -> here down_read should wait forever. Reviewed-by: Chao Yu <[email protected]> Signed-off-by: Jaegeuk Kim <[email protected]>
- Loading branch information