Revert "f2fs: resync with upstream 3.4 branch (forced update)"
This reverts commit 6a1be380100e402aacca6a0a3ac829c059768d79.
diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
index 5ed4557..fa1e0c9 100644
--- a/fs/f2fs/node.c
+++ b/fs/f2fs/node.c
@@ -1231,12 +1231,12 @@
if (wbc->for_reclaim)
goto redirty_out;
- down_read(&sbi->node_write);
+ mutex_lock(&sbi->node_write);
set_page_writeback(page);
write_node_page(sbi, page, &fio, nid, ni.blk_addr, &new_addr);
set_node_addr(sbi, &ni, new_addr, is_fsync_dnode(page));
dec_page_count(sbi, F2FS_DIRTY_NODES);
- up_read(&sbi->node_write);
+ mutex_unlock(&sbi->node_write);
unlock_page(page);
return 0;
@@ -1548,7 +1548,7 @@
clear_node_page_dirty(page);
}
-void recover_inline_xattr(struct inode *inode, struct page *page)
+static void recover_inline_xattr(struct inode *inode, struct page *page)
{
struct f2fs_sb_info *sbi = F2FS_SB(inode->i_sb);
void *src_addr, *dst_addr;
@@ -1587,6 +1587,8 @@
nid_t new_xnid = nid_of_node(page);
struct node_info ni;
+ recover_inline_xattr(inode, page);
+
if (!f2fs_has_xattr_block(ofs_of_node(page)))
return false;