From: Jaegeuk Kim Date: Fri, 19 Dec 2014 03:32:36 +0000 (-0800) Subject: f2fs: avoid double lock for cp_rwsem X-Git-Tag: fixes-v4.0-rc1~114^2~48 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dd802406e396c22dfb5aa0d16196f04d515be49e;p=pandora-kernel.git 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 #1 Thread #2 down_read down_write down_read -> here down_read should wait forever. Reviewed-by: Chao Yu Signed-off-by: Jaegeuk Kim --- Reading git-diff-tree failed