projects
/
powerpc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
PCI: allow multiple calls to pcim_pin_device()
[powerpc.git]
/
mm
/
shmem.c
diff --git
a/mm/shmem.c
b/mm/shmem.c
index
4bb28d2
..
b8c429a
100644
(file)
--- a/
mm/shmem.c
+++ b/
mm/shmem.c
@@
-175,12
+175,12
@@
static inline void shmem_unacct_blocks(unsigned long flags, long pages)
vm_unacct_memory(pages * VM_ACCT(PAGE_CACHE_SIZE));
}
vm_unacct_memory(pages * VM_ACCT(PAGE_CACHE_SIZE));
}
-static struct super_operations shmem_ops;
+static
const
struct super_operations shmem_ops;
static const struct address_space_operations shmem_aops;
static const struct file_operations shmem_file_operations;
static const struct address_space_operations shmem_aops;
static const struct file_operations shmem_file_operations;
-static struct inode_operations shmem_inode_operations;
-static struct inode_operations shmem_dir_inode_operations;
-static struct inode_operations shmem_special_inode_operations;
+static
const
struct inode_operations shmem_inode_operations;
+static
const
struct inode_operations shmem_dir_inode_operations;
+static
const
struct inode_operations shmem_special_inode_operations;
static struct vm_operations_struct shmem_vm_ops;
static struct backing_dev_info shmem_backing_dev_info __read_mostly = {
static struct vm_operations_struct shmem_vm_ops;
static struct backing_dev_info shmem_backing_dev_info __read_mostly = {
@@
-515,7
+515,12
@@
static void shmem_truncate_range(struct inode *inode, loff_t start, loff_t end)
size = SHMEM_NR_DIRECT;
nr_swaps_freed = shmem_free_swp(ptr+idx, ptr+size);
}
size = SHMEM_NR_DIRECT;
nr_swaps_freed = shmem_free_swp(ptr+idx, ptr+size);
}
- if (!topdir)
+
+ /*
+ * If there are no indirect blocks or we are punching a hole
+ * below indirect blocks, nothing to be done.
+ */
+ if (!topdir || (punch_hole && (limit <= SHMEM_NR_DIRECT)))
goto done2;
BUG_ON(limit <= SHMEM_NR_DIRECT);
goto done2;
BUG_ON(limit <= SHMEM_NR_DIRECT);
@@
-1223,7
+1228,8
@@
failed:
return error;
}
return error;
}
-struct page *shmem_nopage(struct vm_area_struct *vma, unsigned long address, int *type)
+static struct page *shmem_nopage(struct vm_area_struct *vma,
+ unsigned long address, int *type)
{
struct inode *inode = vma->vm_file->f_path.dentry->d_inode;
struct page *page = NULL;
{
struct inode *inode = vma->vm_file->f_path.dentry->d_inode;
struct page *page = NULL;
@@
-1330,7
+1336,7
@@
out_nomem:
return retval;
}
return retval;
}
-int shmem_mmap(struct file *file, struct vm_area_struct *vma)
+
static
int shmem_mmap(struct file *file, struct vm_area_struct *vma)
{
file_accessed(file);
vma->vm_ops = &shmem_vm_ops;
{
file_accessed(file);
vma->vm_ops = &shmem_vm_ops;
@@
-1405,8
+1411,8
@@
shmem_get_inode(struct super_block *sb, int mode, dev_t dev)
}
#ifdef CONFIG_TMPFS
}
#ifdef CONFIG_TMPFS
-static struct inode_operations shmem_symlink_inode_operations;
-static struct inode_operations shmem_symlink_inline_operations;
+static
const
struct inode_operations shmem_symlink_inode_operations;
+static
const
struct inode_operations shmem_symlink_inline_operations;
/*
* Normally tmpfs makes no use of shmem_prepare_write, but it
/*
* Normally tmpfs makes no use of shmem_prepare_write, but it
@@
-1899,12
+1905,12
@@
static void shmem_put_link(struct dentry *dentry, struct nameidata *nd, void *co
}
}
}
}
-static struct inode_operations shmem_symlink_inline_operations = {
+static
const
struct inode_operations shmem_symlink_inline_operations = {
.readlink = generic_readlink,
.follow_link = shmem_follow_link_inline,
};
.readlink = generic_readlink,
.follow_link = shmem_follow_link_inline,
};
-static struct inode_operations shmem_symlink_inode_operations = {
+static
const
struct inode_operations shmem_symlink_inode_operations = {
.truncate = shmem_truncate,
.readlink = generic_readlink,
.follow_link = shmem_follow_link,
.truncate = shmem_truncate,
.readlink = generic_readlink,
.follow_link = shmem_follow_link,
@@
-2311,7
+2317,7
@@
static void destroy_inodecache(void)
static const struct address_space_operations shmem_aops = {
.writepage = shmem_writepage,
static const struct address_space_operations shmem_aops = {
.writepage = shmem_writepage,
- .set_page_dirty = __set_page_dirty_no
buffers
,
+ .set_page_dirty = __set_page_dirty_no
_writeback
,
#ifdef CONFIG_TMPFS
.prepare_write = shmem_prepare_write,
.commit_write = simple_commit_write,
#ifdef CONFIG_TMPFS
.prepare_write = shmem_prepare_write,
.commit_write = simple_commit_write,
@@
-2330,7
+2336,7
@@
static const struct file_operations shmem_file_operations = {
#endif
};
#endif
};
-static struct inode_operations shmem_inode_operations = {
+static
const
struct inode_operations shmem_inode_operations = {
.truncate = shmem_truncate,
.setattr = shmem_notify_change,
.truncate_range = shmem_truncate_range,
.truncate = shmem_truncate,
.setattr = shmem_notify_change,
.truncate_range = shmem_truncate_range,
@@
-2344,7
+2350,7
@@
static struct inode_operations shmem_inode_operations = {
};
};
-static struct inode_operations shmem_dir_inode_operations = {
+static
const
struct inode_operations shmem_dir_inode_operations = {
#ifdef CONFIG_TMPFS
.create = shmem_create,
.lookup = simple_lookup,
#ifdef CONFIG_TMPFS
.create = shmem_create,
.lookup = simple_lookup,
@@
-2366,7
+2372,7
@@
static struct inode_operations shmem_dir_inode_operations = {
#endif
};
#endif
};
-static struct inode_operations shmem_special_inode_operations = {
+static
const
struct inode_operations shmem_special_inode_operations = {
#ifdef CONFIG_TMPFS_POSIX_ACL
.setattr = shmem_notify_change,
.setxattr = generic_setxattr,
#ifdef CONFIG_TMPFS_POSIX_ACL
.setattr = shmem_notify_change,
.setxattr = generic_setxattr,
@@
-2377,7
+2383,7
@@
static struct inode_operations shmem_special_inode_operations = {
#endif
};
#endif
};
-static struct super_operations shmem_ops = {
+static
const
struct super_operations shmem_ops = {
.alloc_inode = shmem_alloc_inode,
.destroy_inode = shmem_destroy_inode,
#ifdef CONFIG_TMPFS
.alloc_inode = shmem_alloc_inode,
.destroy_inode = shmem_destroy_inode,
#ifdef CONFIG_TMPFS