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 aa9481166aae..ccf446a9faa1 100644 --- a/mm/shmem.c +++ b/mm/shmem.c | |||
@@ -1634,8 +1634,8 @@ shmem_write_end(struct file *file, struct address_space *mapping, | |||
1634 | if (pos + copied > inode->i_size) | 1634 | if (pos + copied > inode->i_size) |
1635 | i_size_write(inode, pos + copied); | 1635 | i_size_write(inode, pos + copied); |
1636 | 1636 | ||
1637 | unlock_page(page); | ||
1638 | set_page_dirty(page); | 1637 | set_page_dirty(page); |
1638 | unlock_page(page); | ||
1639 | page_cache_release(page); | 1639 | page_cache_release(page); |
1640 | 1640 | ||
1641 | return copied; | 1641 | return copied; |
@@ -1972,13 +1972,13 @@ static int shmem_symlink(struct inode *dir, struct dentry *dentry, const char *s | |||
1972 | iput(inode); | 1972 | iput(inode); |
1973 | return error; | 1973 | return error; |
1974 | } | 1974 | } |
1975 | unlock_page(page); | ||
1976 | inode->i_mapping->a_ops = &shmem_aops; | 1975 | inode->i_mapping->a_ops = &shmem_aops; |
1977 | inode->i_op = &shmem_symlink_inode_operations; | 1976 | inode->i_op = &shmem_symlink_inode_operations; |
1978 | kaddr = kmap_atomic(page, KM_USER0); | 1977 | kaddr = kmap_atomic(page, KM_USER0); |
1979 | memcpy(kaddr, symname, len); | 1978 | memcpy(kaddr, symname, len); |
1980 | kunmap_atomic(kaddr, KM_USER0); | 1979 | kunmap_atomic(kaddr, KM_USER0); |
1981 | set_page_dirty(page); | 1980 | set_page_dirty(page); |
1981 | unlock_page(page); | ||
1982 | page_cache_release(page); | 1982 | page_cache_release(page); |
1983 | } | 1983 | } |
1984 | if (dir->i_mode & S_ISGID) | 1984 | if (dir->i_mode & S_ISGID) |
@@ -2421,6 +2421,7 @@ static const struct address_space_operations shmem_aops = { | |||
2421 | .write_end = shmem_write_end, | 2421 | .write_end = shmem_write_end, |
2422 | #endif | 2422 | #endif |
2423 | .migratepage = migrate_page, | 2423 | .migratepage = migrate_page, |
2424 | .error_remove_page = generic_error_remove_page, | ||
2424 | }; | 2425 | }; |
2425 | 2426 | ||
2426 | static const struct file_operations shmem_file_operations = { | 2427 | static const struct file_operations shmem_file_operations = { |