aboutsummaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
Diffstat (limited to 'mm')
-rw-r--r--mm/page-writeback.c7
-rw-r--r--mm/shmem.c4
2 files changed, 9 insertions, 2 deletions
diff --git a/mm/page-writeback.c b/mm/page-writeback.c
index dd73d29c15a8..bba82c414ba8 100644
--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
@@ -1149,6 +1149,13 @@ int redirty_page_for_writepage(struct writeback_control *wbc, struct page *page)
1149EXPORT_SYMBOL(redirty_page_for_writepage); 1149EXPORT_SYMBOL(redirty_page_for_writepage);
1150 1150
1151/* 1151/*
1152 * Dirty a page.
1153 *
1154 * For pages with a mapping this should be done under the page lock
1155 * for the benefit of asynchronous memory errors who prefer a consistent
1156 * dirty state. This rule can be broken in some special cases,
1157 * but should be better not to.
1158 *
1152 * If the mapping doesn't provide a set_page_dirty a_op, then 1159 * If the mapping doesn't provide a set_page_dirty a_op, then
1153 * just fall through and assume that it wants buffer_heads. 1160 * just fall through and assume that it wants buffer_heads.
1154 */ 1161 */
diff --git a/mm/shmem.c b/mm/shmem.c
index 5a0b3d4055f3..46936601e37f 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -1630,8 +1630,8 @@ shmem_write_end(struct file *file, struct address_space *mapping,
1630 if (pos + copied > inode->i_size) 1630 if (pos + copied > inode->i_size)
1631 i_size_write(inode, pos + copied); 1631 i_size_write(inode, pos + copied);
1632 1632
1633 unlock_page(page);
1634 set_page_dirty(page); 1633 set_page_dirty(page);
1634 unlock_page(page);
1635 page_cache_release(page); 1635 page_cache_release(page);
1636 1636
1637 return copied; 1637 return copied;
@@ -1968,13 +1968,13 @@ static int shmem_symlink(struct inode *dir, struct dentry *dentry, const char *s
1968 iput(inode); 1968 iput(inode);
1969 return error; 1969 return error;
1970 } 1970 }
1971 unlock_page(page);
1972 inode->i_mapping->a_ops = &shmem_aops; 1971 inode->i_mapping->a_ops = &shmem_aops;
1973 inode->i_op = &shmem_symlink_inode_operations; 1972 inode->i_op = &shmem_symlink_inode_operations;
1974 kaddr = kmap_atomic(page, KM_USER0); 1973 kaddr = kmap_atomic(page, KM_USER0);
1975 memcpy(kaddr, symname, len); 1974 memcpy(kaddr, symname, len);
1976 kunmap_atomic(kaddr, KM_USER0); 1975 kunmap_atomic(kaddr, KM_USER0);
1977 set_page_dirty(page); 1976 set_page_dirty(page);
1977 unlock_page(page);
1978 page_cache_release(page); 1978 page_cache_release(page);
1979 } 1979 }
1980 if (dir->i_mode & S_ISGID) 1980 if (dir->i_mode & S_ISGID)