|
@@ -202,6 +202,8 @@ int f2fs_write_inline_data(struct inode *inode, struct page *page)
|
|
{
|
|
{
|
|
void *src_addr, *dst_addr;
|
|
void *src_addr, *dst_addr;
|
|
struct dnode_of_data dn;
|
|
struct dnode_of_data dn;
|
|
|
|
+ struct address_space *mapping = page_mapping(page);
|
|
|
|
+ unsigned long flags;
|
|
int err;
|
|
int err;
|
|
|
|
|
|
set_new_dnode(&dn, inode, NULL, NULL, 0);
|
|
set_new_dnode(&dn, inode, NULL, NULL, 0);
|
|
@@ -223,6 +225,11 @@ int f2fs_write_inline_data(struct inode *inode, struct page *page)
|
|
kunmap_atomic(src_addr);
|
|
kunmap_atomic(src_addr);
|
|
set_page_dirty(dn.inode_page);
|
|
set_page_dirty(dn.inode_page);
|
|
|
|
|
|
|
|
+ spin_lock_irqsave(&mapping->tree_lock, flags);
|
|
|
|
+ radix_tree_tag_clear(&mapping->page_tree, page_index(page),
|
|
|
|
+ PAGECACHE_TAG_DIRTY);
|
|
|
|
+ spin_unlock_irqrestore(&mapping->tree_lock, flags);
|
|
|
|
+
|
|
set_inode_flag(inode, FI_APPEND_WRITE);
|
|
set_inode_flag(inode, FI_APPEND_WRITE);
|
|
set_inode_flag(inode, FI_DATA_EXIST);
|
|
set_inode_flag(inode, FI_DATA_EXIST);
|
|
|
|
|