diff options
Diffstat (limited to 'mm/shmem.c')
-rw-r--r-- | mm/shmem.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/mm/shmem.c b/mm/shmem.c index b206a7a32e2a..98631c26c200 100644 --- a/mm/shmem.c +++ b/mm/shmem.c | |||
@@ -1633,8 +1633,8 @@ shmem_write_end(struct file *file, struct address_space *mapping, | |||
1633 | if (pos + copied > inode->i_size) | 1633 | if (pos + copied > inode->i_size) |
1634 | i_size_write(inode, pos + copied); | 1634 | i_size_write(inode, pos + copied); |
1635 | 1635 | ||
1636 | unlock_page(page); | ||
1637 | set_page_dirty(page); | 1636 | set_page_dirty(page); |
1637 | unlock_page(page); | ||
1638 | page_cache_release(page); | 1638 | page_cache_release(page); |
1639 | 1639 | ||
1640 | return copied; | 1640 | return copied; |
@@ -1971,13 +1971,13 @@ static int shmem_symlink(struct inode *dir, struct dentry *dentry, const char *s | |||
1971 | iput(inode); | 1971 | iput(inode); |
1972 | return error; | 1972 | return error; |
1973 | } | 1973 | } |
1974 | unlock_page(page); | ||
1975 | inode->i_mapping->a_ops = &shmem_aops; | 1974 | inode->i_mapping->a_ops = &shmem_aops; |
1976 | inode->i_op = &shmem_symlink_inode_operations; | 1975 | inode->i_op = &shmem_symlink_inode_operations; |
1977 | kaddr = kmap_atomic(page, KM_USER0); | 1976 | kaddr = kmap_atomic(page, KM_USER0); |
1978 | memcpy(kaddr, symname, len); | 1977 | memcpy(kaddr, symname, len); |
1979 | kunmap_atomic(kaddr, KM_USER0); | 1978 | kunmap_atomic(kaddr, KM_USER0); |
1980 | set_page_dirty(page); | 1979 | set_page_dirty(page); |
1980 | unlock_page(page); | ||
1981 | page_cache_release(page); | 1981 | page_cache_release(page); |
1982 | } | 1982 | } |
1983 | if (dir->i_mode & S_ISGID) | 1983 | if (dir->i_mode & S_ISGID) |
@@ -2420,6 +2420,7 @@ static const struct address_space_operations shmem_aops = { | |||
2420 | .write_end = shmem_write_end, | 2420 | .write_end = shmem_write_end, |
2421 | #endif | 2421 | #endif |
2422 | .migratepage = migrate_page, | 2422 | .migratepage = migrate_page, |
2423 | .error_remove_page = generic_error_remove_page, | ||
2423 | }; | 2424 | }; |
2424 | 2425 | ||
2425 | static const struct file_operations shmem_file_operations = { | 2426 | static const struct file_operations shmem_file_operations = { |