summaryrefslogtreecommitdiff
path: root/arch/sh
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk.kim@samsung.com>2013-08-12 16:04:53 +0900
committerJaegeuk Kim <jaegeuk.kim@samsung.com>2013-08-12 16:04:53 +0900
commit479bd73ac425ff117efeea051077b4277baab52e (patch)
treea078a20d6d657f4b77140392be5a6316c96110a3 /arch/sh
parent9c02740c0174932162531a28ba8593e82884a9d7 (diff)
downloadlinux-479bd73ac425ff117efeea051077b4277baab52e.tar.gz
linux-479bd73ac425ff117efeea051077b4277baab52e.tar.bz2
linux-479bd73ac425ff117efeea051077b4277baab52e.zip
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 <jaegeuk.kim@samsung.com>
Diffstat (limited to 'arch/sh')
0 files changed, 0 insertions, 0 deletions