From: Jaegeuk Kim Date: Mon, 12 Aug 2013 07:04:53 +0000 (+0900) Subject: f2fs: should cover i_xattr_nid with its xattr node page lock X-Git-Tag: v3.12-rc1~127^2~17 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=479bd73ac425ff117efeea051077b4277baab52e;p=pandora-kernel.git f2fs: should cover i_xattr_nid with its xattr node page lock Previously, f2fs_setxattr assigns i_xattr_nid in the inode page inconsistently. The scenario is: = Thread 1 = = Thread 2 = = fi->i_xattr_nid = = on-disk nid = f2fs_setxattr 0 0 new_node_page X 0 sync_inode_page X X checkpoint X X -. grab_cache_page X X | --> allocate a new xattr node block or -ENOSPC <----------------' At this moment, the checkpoint stores inconsistent data where the inode has i_xattr_nid but actual xattr node block is not allocated yet. So, we should assign the real i_xattr_nid only after its xattr node block is allocated. Signed-off-by: Jaegeuk Kim --- Reading git-diff-tree failed