projects
/
linux-2.6-microblaze.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[PATCH] vm: add per-zone writeout counter
[linux-2.6-microblaze.git]
/
mm
/
filemap_xip.c
diff --git
a/mm/filemap_xip.c
b/mm/filemap_xip.c
index
9cf687e
..
b4fd0d7
100644
(file)
--- a/
mm/filemap_xip.c
+++ b/
mm/filemap_xip.c
@@
-273,7
+273,7
@@
__xip_file_write(struct file *filp, const char __user *buf,
size_t count, loff_t pos, loff_t *ppos)
{
struct address_space * mapping = filp->f_mapping;
size_t count, loff_t pos, loff_t *ppos)
{
struct address_space * mapping = filp->f_mapping;
- struct address_space_operations *a_ops = mapping->a_ops;
+
const
struct address_space_operations *a_ops = mapping->a_ops;
struct inode *inode = mapping->host;
long status = 0;
struct page *page;
struct inode *inode = mapping->host;
long status = 0;
struct page *page;
@@
-338,7
+338,7
@@
__xip_file_write(struct file *filp, const char __user *buf,
*ppos = pos;
/*
* No need to use i_size_read() here, the i_size
*ppos = pos;
/*
* No need to use i_size_read() here, the i_size
- * cannot change under us because we hold i_
sem
.
+ * cannot change under us because we hold i_
mutex
.
*/
if (pos > inode->i_size) {
i_size_write(inode, pos);
*/
if (pos > inode->i_size) {
i_size_write(inode, pos);
@@
-358,7
+358,7
@@
xip_file_write(struct file *filp, const char __user *buf, size_t len,
loff_t pos;
ssize_t ret;
loff_t pos;
ssize_t ret;
-
down(&inode->i_sem
);
+
mutex_lock(&inode->i_mutex
);
if (!access_ok(VERIFY_READ, buf, len)) {
ret=-EFAULT;
if (!access_ok(VERIFY_READ, buf, len)) {
ret=-EFAULT;
@@
-383,14
+383,14
@@
xip_file_write(struct file *filp, const char __user *buf, size_t len,
if (ret)
goto out_backing;
if (ret)
goto out_backing;
-
inode_update_time(inode, 1
);
+
file_update_time(filp
);
ret = __xip_file_write (filp, buf, count, pos, ppos);
out_backing:
current->backing_dev_info = NULL;
out_up:
ret = __xip_file_write (filp, buf, count, pos, ppos);
out_backing:
current->backing_dev_info = NULL;
out_up:
-
up(&inode->i_sem
);
+
mutex_unlock(&inode->i_mutex
);
return ret;
}
EXPORT_SYMBOL_GPL(xip_file_write);
return ret;
}
EXPORT_SYMBOL_GPL(xip_file_write);