From: Christoph Hellwig Same as with already do with the file operations: keep them in .rodata and prevents people from doing runtime patching. Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton --- drivers/block/loop.c | 4 ++-- drivers/block/rd.c | 2 +- fs/9p/v9fs_vfs.h | 2 +- fs/9p/vfs_addr.c | 2 +- fs/adfs/inode.c | 2 +- fs/affs/affs.h | 6 +++--- fs/affs/file.c | 4 ++-- fs/affs/symlink.c | 2 +- fs/afs/file.c | 2 +- fs/afs/internal.h | 2 +- fs/befs/linuxvfs.c | 2 +- fs/bfs/bfs.h | 2 +- fs/bfs/file.c | 2 +- fs/block_dev.c | 2 +- fs/buffer.c | 2 +- fs/cifs/cifsfs.h | 4 ++-- fs/cifs/file.c | 4 ++-- fs/coda/symlink.c | 2 +- fs/configfs/inode.c | 2 +- fs/cramfs/inode.c | 4 ++-- fs/efs/inode.c | 2 +- fs/efs/symlink.c | 2 +- fs/ext2/ext2.h | 6 +++--- fs/ext2/inode.c | 6 +++--- fs/ext3/inode.c | 6 +++--- fs/fat/inode.c | 2 +- fs/freevxfs/vxfs_immed.c | 2 +- fs/freevxfs/vxfs_inode.c | 6 +++--- fs/freevxfs/vxfs_subr.c | 2 +- fs/fuse/file.c | 2 +- fs/hfs/hfs_fs.h | 4 ++-- fs/hfs/inode.c | 4 ++-- fs/hfsplus/hfsplus_fs.h | 4 ++-- fs/hfsplus/inode.c | 4 ++-- fs/hostfs/hostfs_kern.c | 6 +++--- fs/hpfs/file.c | 2 +- fs/hpfs/hpfs_fn.h | 4 ++-- fs/hpfs/namei.c | 2 +- fs/hugetlbfs/inode.c | 4 ++-- fs/inode.c | 2 +- fs/isofs/compress.c | 2 +- fs/isofs/inode.c | 2 +- fs/isofs/isofs.h | 2 +- fs/isofs/rock.c | 2 +- fs/isofs/zisofs.h | 2 +- fs/jffs/inode-v23.c | 4 ++-- fs/jffs2/file.c | 2 +- fs/jffs2/os-linux.h | 2 +- fs/jfs/inode.c | 2 +- fs/jfs/jfs_inode.h | 2 +- fs/jfs/jfs_metapage.c | 2 +- fs/jfs/jfs_metapage.h | 2 +- fs/minix/inode.c | 2 +- fs/ncpfs/inode.c | 2 +- fs/ncpfs/symlink.c | 2 +- fs/nfs/file.c | 2 +- fs/ntfs/aops.c | 4 ++-- fs/ntfs/ntfs.h | 4 ++-- fs/ocfs2/aops.c | 2 +- fs/ocfs2/inode.h | 2 +- fs/qnx4/inode.c | 2 +- fs/ramfs/file-mmu.c | 2 +- fs/ramfs/file-nommu.c | 2 +- fs/ramfs/internal.h | 2 +- fs/reiserfs/inode.c | 2 +- fs/romfs/inode.c | 2 +- fs/smbfs/file.c | 2 +- fs/smbfs/proto.h | 2 +- fs/sysfs/inode.c | 2 +- fs/sysv/itree.c | 2 +- fs/sysv/sysv.h | 2 +- fs/udf/file.c | 2 +- fs/udf/inode.c | 2 +- fs/udf/symlink.c | 2 +- fs/udf/udfdecl.h | 6 +++--- fs/ufs/inode.c | 2 +- fs/xfs/linux-2.6/xfs_aops.c | 2 +- fs/xfs/linux-2.6/xfs_aops.h | 2 +- fs/xfs/linux-2.6/xfs_buf.c | 2 +- include/linux/coda_linux.h | 4 ++-- include/linux/efs_fs.h | 2 +- include/linux/fs.h | 4 ++-- include/linux/nfs_fs.h | 2 +- include/linux/reiserfs_fs.h | 2 +- include/linux/ufs_fs.h | 2 +- mm/filemap.c | 4 ++-- mm/filemap_xip.c | 2 +- mm/shmem.c | 4 ++-- mm/swap_state.c | 2 +- 89 files changed, 121 insertions(+), 121 deletions(-) diff -puN drivers/block/loop.c~mark-address_space_operations-const drivers/block/loop.c --- a/drivers/block/loop.c~mark-address_space_operations-const +++ a/drivers/block/loop.c @@ -210,7 +210,7 @@ static int do_lo_send_aops(struct loop_d { struct file *file = lo->lo_backing_file; /* kudos to NFsckingS */ struct address_space *mapping = file->f_mapping; - struct address_space_operations *aops = mapping->a_ops; + const struct address_space_operations *aops = mapping->a_ops; pgoff_t index; unsigned offset, bv_offs; int len, ret; @@ -784,7 +784,7 @@ static int loop_set_fd(struct loop_devic error = -EINVAL; if (S_ISREG(inode->i_mode) || S_ISBLK(inode->i_mode)) { - struct address_space_operations *aops = mapping->a_ops; + const struct address_space_operations *aops = mapping->a_ops; /* * If we can't read - sorry. If we only can't write - well, * it's going to be read-only. diff -puN drivers/block/rd.c~mark-address_space_operations-const drivers/block/rd.c --- a/drivers/block/rd.c~mark-address_space_operations-const +++ a/drivers/block/rd.c @@ -191,7 +191,7 @@ static int ramdisk_set_page_dirty(struct return 0; } -static struct address_space_operations ramdisk_aops = { +static const struct address_space_operations ramdisk_aops = { .readpage = ramdisk_readpage, .prepare_write = ramdisk_prepare_write, .commit_write = ramdisk_commit_write, diff -puN fs/9p/v9fs_vfs.h~mark-address_space_operations-const fs/9p/v9fs_vfs.h --- a/fs/9p/v9fs_vfs.h~mark-address_space_operations-const +++ a/fs/9p/v9fs_vfs.h @@ -38,7 +38,7 @@ */ extern struct file_system_type v9fs_fs_type; -extern struct address_space_operations v9fs_addr_operations; +extern const struct address_space_operations v9fs_addr_operations; extern const struct file_operations v9fs_file_operations; extern const struct file_operations v9fs_dir_operations; extern struct dentry_operations v9fs_dentry_operations; diff -puN fs/9p/vfs_addr.c~mark-address_space_operations-const fs/9p/vfs_addr.c --- a/fs/9p/vfs_addr.c~mark-address_space_operations-const +++ a/fs/9p/vfs_addr.c @@ -103,6 +103,6 @@ UnmapAndUnlock: return retval; } -struct address_space_operations v9fs_addr_operations = { +const struct address_space_operations v9fs_addr_operations = { .readpage = v9fs_vfs_readpage, }; diff -puN fs/adfs/inode.c~mark-address_space_operations-const fs/adfs/inode.c --- a/fs/adfs/inode.c~mark-address_space_operations-const +++ a/fs/adfs/inode.c @@ -72,7 +72,7 @@ static sector_t _adfs_bmap(struct addres return generic_block_bmap(mapping, block, adfs_get_block); } -static struct address_space_operations adfs_aops = { +static const struct address_space_operations adfs_aops = { .readpage = adfs_readpage, .writepage = adfs_writepage, .sync_page = block_sync_page, diff -puN fs/affs/affs.h~mark-address_space_operations-const fs/affs/affs.h --- a/fs/affs/affs.h~mark-address_space_operations-const +++ a/fs/affs/affs.h @@ -195,9 +195,9 @@ extern struct inode_operations affs_sy extern const struct file_operations affs_file_operations; extern const struct file_operations affs_file_operations_ofs; extern const struct file_operations affs_dir_operations; -extern struct address_space_operations affs_symlink_aops; -extern struct address_space_operations affs_aops; -extern struct address_space_operations affs_aops_ofs; +extern const struct address_space_operations affs_symlink_aops; +extern const struct address_space_operations affs_aops; +extern const struct address_space_operations affs_aops_ofs; extern struct dentry_operations affs_dentry_operations; extern struct dentry_operations affs_dentry_operations_intl; diff -puN fs/affs/file.c~mark-address_space_operations-const fs/affs/file.c --- a/fs/affs/file.c~mark-address_space_operations-const +++ a/fs/affs/file.c @@ -406,7 +406,7 @@ static sector_t _affs_bmap(struct addres { return generic_block_bmap(mapping,block,affs_get_block); } -struct address_space_operations affs_aops = { +const struct address_space_operations affs_aops = { .readpage = affs_readpage, .writepage = affs_writepage, .sync_page = block_sync_page, @@ -759,7 +759,7 @@ out: goto done; } -struct address_space_operations affs_aops_ofs = { +const struct address_space_operations affs_aops_ofs = { .readpage = affs_readpage_ofs, //.writepage = affs_writepage_ofs, //.sync_page = affs_sync_page_ofs, diff -puN fs/affs/symlink.c~mark-address_space_operations-const fs/affs/symlink.c --- a/fs/affs/symlink.c~mark-address_space_operations-const +++ a/fs/affs/symlink.c @@ -66,7 +66,7 @@ fail: return err; } -struct address_space_operations affs_symlink_aops = { +const struct address_space_operations affs_symlink_aops = { .readpage = affs_symlink_readpage, }; diff -puN fs/afs/file.c~mark-address_space_operations-const fs/afs/file.c --- a/fs/afs/file.c~mark-address_space_operations-const +++ a/fs/afs/file.c @@ -35,7 +35,7 @@ struct inode_operations afs_file_inode_o .getattr = afs_inode_getattr, }; -struct address_space_operations afs_fs_aops = { +const struct address_space_operations afs_fs_aops = { .readpage = afs_file_readpage, .sync_page = block_sync_page, .set_page_dirty = __set_page_dirty_nobuffers, diff -puN fs/afs/internal.h~mark-address_space_operations-const fs/afs/internal.h --- a/fs/afs/internal.h~mark-address_space_operations-const +++ a/fs/afs/internal.h @@ -69,7 +69,7 @@ extern const struct file_operations afs_ /* * file.c */ -extern struct address_space_operations afs_fs_aops; +extern const struct address_space_operations afs_fs_aops; extern struct inode_operations afs_file_inode_operations; #ifdef AFS_CACHING_SUPPORT diff -puN fs/befs/linuxvfs.c~mark-address_space_operations-const fs/befs/linuxvfs.c --- a/fs/befs/linuxvfs.c~mark-address_space_operations-const +++ a/fs/befs/linuxvfs.c @@ -73,7 +73,7 @@ static struct inode_operations befs_dir_ .lookup = befs_lookup, }; -static struct address_space_operations befs_aops = { +static const struct address_space_operations befs_aops = { .readpage = befs_readpage, .sync_page = block_sync_page, .bmap = befs_bmap, diff -puN fs/bfs/bfs.h~mark-address_space_operations-const fs/bfs/bfs.h --- a/fs/bfs/bfs.h~mark-address_space_operations-const +++ a/fs/bfs/bfs.h @@ -50,7 +50,7 @@ static inline struct bfs_inode_info *BFS /* file.c */ extern struct inode_operations bfs_file_inops; extern const struct file_operations bfs_file_operations; -extern struct address_space_operations bfs_aops; +extern const struct address_space_operations bfs_aops; /* dir.c */ extern struct inode_operations bfs_dir_inops; diff -puN fs/bfs/file.c~mark-address_space_operations-const fs/bfs/file.c --- a/fs/bfs/file.c~mark-address_space_operations-const +++ a/fs/bfs/file.c @@ -153,7 +153,7 @@ static sector_t bfs_bmap(struct address_ return generic_block_bmap(mapping, block, bfs_get_block); } -struct address_space_operations bfs_aops = { +const struct address_space_operations bfs_aops = { .readpage = bfs_readpage, .writepage = bfs_writepage, .sync_page = block_sync_page, diff -puN fs/block_dev.c~mark-address_space_operations-const fs/block_dev.c --- a/fs/block_dev.c~mark-address_space_operations-const +++ a/fs/block_dev.c @@ -1095,7 +1095,7 @@ static long block_ioctl(struct file *fil return blkdev_ioctl(file->f_mapping->host, file, cmd, arg); } -struct address_space_operations def_blk_aops = { +const struct address_space_operations def_blk_aops = { .readpage = blkdev_readpage, .writepage = blkdev_writepage, .sync_page = block_sync_page, diff -puN fs/buffer.c~mark-address_space_operations-const fs/buffer.c --- a/fs/buffer.c~mark-address_space_operations-const +++ a/fs/buffer.c @@ -2598,7 +2598,7 @@ int nobh_truncate_page(struct address_sp unsigned offset = from & (PAGE_CACHE_SIZE-1); unsigned to; struct page *page; - struct address_space_operations *a_ops = mapping->a_ops; + const struct address_space_operations *a_ops = mapping->a_ops; char *kaddr; int ret = 0; diff -puN fs/cifs/cifsfs.h~mark-address_space_operations-const fs/cifs/cifsfs.h --- a/fs/cifs/cifsfs.h~mark-address_space_operations-const +++ a/fs/cifs/cifsfs.h @@ -32,8 +32,8 @@ #define TRUE 1 #endif -extern struct address_space_operations cifs_addr_ops; -extern struct address_space_operations cifs_addr_ops_smallbuf; +extern const struct address_space_operations cifs_addr_ops; +extern const struct address_space_operations cifs_addr_ops_smallbuf; /* Functions related to super block operations */ extern struct super_operations cifs_super_ops; diff -puN fs/cifs/file.c~mark-address_space_operations-const fs/cifs/file.c --- a/fs/cifs/file.c~mark-address_space_operations-const +++ a/fs/cifs/file.c @@ -1951,7 +1951,7 @@ static int cifs_prepare_write(struct fil return 0; } -struct address_space_operations cifs_addr_ops = { +const struct address_space_operations cifs_addr_ops = { .readpage = cifs_readpage, .readpages = cifs_readpages, .writepage = cifs_writepage, @@ -1968,7 +1968,7 @@ struct address_space_operations cifs_add * contain the header plus one complete page of data. Otherwise, we need * to leave cifs_readpages out of the address space operations. */ -struct address_space_operations cifs_addr_ops_smallbuf = { +const struct address_space_operations cifs_addr_ops_smallbuf = { .readpage = cifs_readpage, .writepage = cifs_writepage, .writepages = cifs_writepages, diff -puN fs/coda/symlink.c~mark-address_space_operations-const fs/coda/symlink.c --- a/fs/coda/symlink.c~mark-address_space_operations-const +++ a/fs/coda/symlink.c @@ -50,6 +50,6 @@ fail: return error; } -struct address_space_operations coda_symlink_aops = { +const struct address_space_operations coda_symlink_aops = { .readpage = coda_symlink_filler, }; diff -puN fs/configfs/inode.c~mark-address_space_operations-const fs/configfs/inode.c --- a/fs/configfs/inode.c~mark-address_space_operations-const +++ a/fs/configfs/inode.c @@ -38,7 +38,7 @@ extern struct super_block * configfs_sb; -static struct address_space_operations configfs_aops = { +static const struct address_space_operations configfs_aops = { .readpage = simple_readpage, .prepare_write = simple_prepare_write, .commit_write = simple_commit_write diff -puN fs/cramfs/inode.c~mark-address_space_operations-const fs/cramfs/inode.c --- a/fs/cramfs/inode.c~mark-address_space_operations-const +++ a/fs/cramfs/inode.c @@ -30,7 +30,7 @@ static struct super_operations cramfs_ops; static struct inode_operations cramfs_dir_inode_operations; static const struct file_operations cramfs_directory_operations; -static struct address_space_operations cramfs_aops; +static const struct address_space_operations cramfs_aops; static DEFINE_MUTEX(read_mutex); @@ -499,7 +499,7 @@ static int cramfs_readpage(struct file * return 0; } -static struct address_space_operations cramfs_aops = { +static const struct address_space_operations cramfs_aops = { .readpage = cramfs_readpage }; diff -puN fs/efs/inode.c~mark-address_space_operations-const fs/efs/inode.c --- a/fs/efs/inode.c~mark-address_space_operations-const +++ a/fs/efs/inode.c @@ -21,7 +21,7 @@ static sector_t _efs_bmap(struct address { return generic_block_bmap(mapping,block,efs_get_block); } -static struct address_space_operations efs_aops = { +static const struct address_space_operations efs_aops = { .readpage = efs_readpage, .sync_page = block_sync_page, .bmap = _efs_bmap diff -puN fs/efs/symlink.c~mark-address_space_operations-const fs/efs/symlink.c --- a/fs/efs/symlink.c~mark-address_space_operations-const +++ a/fs/efs/symlink.c @@ -53,6 +53,6 @@ fail: return err; } -struct address_space_operations efs_symlink_aops = { +const struct address_space_operations efs_symlink_aops = { .readpage = efs_symlink_readpage }; diff -puN fs/ext2/ext2.h~mark-address_space_operations-const fs/ext2/ext2.h --- a/fs/ext2/ext2.h~mark-address_space_operations-const +++ a/fs/ext2/ext2.h @@ -162,9 +162,9 @@ extern const struct file_operations ext2 extern const struct file_operations ext2_xip_file_operations; /* inode.c */ -extern struct address_space_operations ext2_aops; -extern struct address_space_operations ext2_aops_xip; -extern struct address_space_operations ext2_nobh_aops; +extern const struct address_space_operations ext2_aops; +extern const struct address_space_operations ext2_aops_xip; +extern const struct address_space_operations ext2_nobh_aops; /* namei.c */ extern struct inode_operations ext2_dir_inode_operations; diff -puN fs/ext2/inode.c~mark-address_space_operations-const fs/ext2/inode.c --- a/fs/ext2/inode.c~mark-address_space_operations-const +++ a/fs/ext2/inode.c @@ -684,7 +684,7 @@ ext2_writepages(struct address_space *ma return mpage_writepages(mapping, wbc, ext2_get_block); } -struct address_space_operations ext2_aops = { +const struct address_space_operations ext2_aops = { .readpage = ext2_readpage, .readpages = ext2_readpages, .writepage = ext2_writepage, @@ -697,12 +697,12 @@ struct address_space_operations ext2_aop .migratepage = buffer_migrate_page, }; -struct address_space_operations ext2_aops_xip = { +const struct address_space_operations ext2_aops_xip = { .bmap = ext2_bmap, .get_xip_page = ext2_get_xip_page, }; -struct address_space_operations ext2_nobh_aops = { +const struct address_space_operations ext2_nobh_aops = { .readpage = ext2_readpage, .readpages = ext2_readpages, .writepage = ext2_nobh_writepage, diff -puN fs/ext3/inode.c~mark-address_space_operations-const fs/ext3/inode.c --- a/fs/ext3/inode.c~mark-address_space_operations-const +++ a/fs/ext3/inode.c @@ -1699,7 +1699,7 @@ static int ext3_journalled_set_page_dirt return __set_page_dirty_nobuffers(page); } -static struct address_space_operations ext3_ordered_aops = { +static const struct address_space_operations ext3_ordered_aops = { .readpage = ext3_readpage, .readpages = ext3_readpages, .writepage = ext3_ordered_writepage, @@ -1713,7 +1713,7 @@ static struct address_space_operations e .migratepage = buffer_migrate_page, }; -static struct address_space_operations ext3_writeback_aops = { +static const struct address_space_operations ext3_writeback_aops = { .readpage = ext3_readpage, .readpages = ext3_readpages, .writepage = ext3_writeback_writepage, @@ -1727,7 +1727,7 @@ static struct address_space_operations e .migratepage = buffer_migrate_page, }; -static struct address_space_operations ext3_journalled_aops = { +static const struct address_space_operations ext3_journalled_aops = { .readpage = ext3_readpage, .readpages = ext3_readpages, .writepage = ext3_journalled_writepage, diff -puN fs/fat/inode.c~mark-address_space_operations-const fs/fat/inode.c --- a/fs/fat/inode.c~mark-address_space_operations-const +++ a/fs/fat/inode.c @@ -196,7 +196,7 @@ static sector_t _fat_bmap(struct address return generic_block_bmap(mapping, block, fat_get_block); } -static struct address_space_operations fat_aops = { +static const struct address_space_operations fat_aops = { .readpage = fat_readpage, .readpages = fat_readpages, .writepage = fat_writepage, diff -puN fs/freevxfs/vxfs_immed.c~mark-address_space_operations-const fs/freevxfs/vxfs_immed.c --- a/fs/freevxfs/vxfs_immed.c~mark-address_space_operations-const +++ a/fs/freevxfs/vxfs_immed.c @@ -56,7 +56,7 @@ struct inode_operations vxfs_immed_symli /* * Adress space operations for immed files and directories. */ -struct address_space_operations vxfs_immed_aops = { +const struct address_space_operations vxfs_immed_aops = { .readpage = vxfs_immed_readpage, }; diff -puN fs/freevxfs/vxfs_inode.c~mark-address_space_operations-const fs/freevxfs/vxfs_inode.c --- a/fs/freevxfs/vxfs_inode.c~mark-address_space_operations-const +++ a/fs/freevxfs/vxfs_inode.c @@ -41,8 +41,8 @@ #include "vxfs_extern.h" -extern struct address_space_operations vxfs_aops; -extern struct address_space_operations vxfs_immed_aops; +extern const struct address_space_operations vxfs_aops; +extern const struct address_space_operations vxfs_immed_aops; extern struct inode_operations vxfs_immed_symlink_iops; @@ -295,7 +295,7 @@ vxfs_read_inode(struct inode *ip) { struct super_block *sbp = ip->i_sb; struct vxfs_inode_info *vip; - struct address_space_operations *aops; + const struct address_space_operations *aops; ino_t ino = ip->i_ino; if (!(vip = __vxfs_iget(ino, VXFS_SBI(sbp)->vsi_ilist))) diff -puN fs/freevxfs/vxfs_subr.c~mark-address_space_operations-const fs/freevxfs/vxfs_subr.c --- a/fs/freevxfs/vxfs_subr.c~mark-address_space_operations-const +++ a/fs/freevxfs/vxfs_subr.c @@ -42,7 +42,7 @@ static int vxfs_readpage(struct file *, struct page *); static sector_t vxfs_bmap(struct address_space *, sector_t); -struct address_space_operations vxfs_aops = { +const struct address_space_operations vxfs_aops = { .readpage = vxfs_readpage, .bmap = vxfs_bmap, .sync_page = block_sync_page, diff -puN fs/fuse/file.c~mark-address_space_operations-const fs/fuse/file.c --- a/fs/fuse/file.c~mark-address_space_operations-const +++ a/fs/fuse/file.c @@ -642,7 +642,7 @@ static const struct file_operations fuse /* no mmap and sendfile */ }; -static struct address_space_operations fuse_file_aops = { +static const struct address_space_operations fuse_file_aops = { .readpage = fuse_readpage, .prepare_write = fuse_prepare_write, .commit_write = fuse_commit_write, diff -puN fs/hfs/hfs_fs.h~mark-address_space_operations-const fs/hfs/hfs_fs.h --- a/fs/hfs/hfs_fs.h~mark-address_space_operations-const +++ a/fs/hfs/hfs_fs.h @@ -182,8 +182,8 @@ extern void hfs_file_truncate(struct ino extern int hfs_get_block(struct inode *, sector_t, struct buffer_head *, int); /* inode.c */ -extern struct address_space_operations hfs_aops; -extern struct address_space_operations hfs_btree_aops; +extern const struct address_space_operations hfs_aops; +extern const struct address_space_operations hfs_btree_aops; extern struct inode *hfs_new_inode(struct inode *, struct qstr *, int); extern void hfs_inode_write_fork(struct inode *, struct hfs_extent *, __be32 *, __be32 *); diff -puN fs/hfs/inode.c~mark-address_space_operations-const fs/hfs/inode.c --- a/fs/hfs/inode.c~mark-address_space_operations-const +++ a/fs/hfs/inode.c @@ -114,7 +114,7 @@ static int hfs_writepages(struct address return mpage_writepages(mapping, wbc, hfs_get_block); } -struct address_space_operations hfs_btree_aops = { +const struct address_space_operations hfs_btree_aops = { .readpage = hfs_readpage, .writepage = hfs_writepage, .sync_page = block_sync_page, @@ -124,7 +124,7 @@ struct address_space_operations hfs_btre .releasepage = hfs_releasepage, }; -struct address_space_operations hfs_aops = { +const struct address_space_operations hfs_aops = { .readpage = hfs_readpage, .writepage = hfs_writepage, .sync_page = block_sync_page, diff -puN fs/hfsplus/hfsplus_fs.h~mark-address_space_operations-const fs/hfsplus/hfsplus_fs.h --- a/fs/hfsplus/hfsplus_fs.h~mark-address_space_operations-const +++ a/fs/hfsplus/hfsplus_fs.h @@ -323,8 +323,8 @@ int hfsplus_file_extend(struct inode *); void hfsplus_file_truncate(struct inode *); /* inode.c */ -extern struct address_space_operations hfsplus_aops; -extern struct address_space_operations hfsplus_btree_aops; +extern const struct address_space_operations hfsplus_aops; +extern const struct address_space_operations hfsplus_btree_aops; void hfsplus_inode_read_fork(struct inode *, struct hfsplus_fork_raw *); void hfsplus_inode_write_fork(struct inode *, struct hfsplus_fork_raw *); diff -puN fs/hfsplus/inode.c~mark-address_space_operations-const fs/hfsplus/inode.c --- a/fs/hfsplus/inode.c~mark-address_space_operations-const +++ a/fs/hfsplus/inode.c @@ -109,7 +109,7 @@ static int hfsplus_writepages(struct add return mpage_writepages(mapping, wbc, hfsplus_get_block); } -struct address_space_operations hfsplus_btree_aops = { +const struct address_space_operations hfsplus_btree_aops = { .readpage = hfsplus_readpage, .writepage = hfsplus_writepage, .sync_page = block_sync_page, @@ -119,7 +119,7 @@ struct address_space_operations hfsplus_ .releasepage = hfsplus_releasepage, }; -struct address_space_operations hfsplus_aops = { +const struct address_space_operations hfsplus_aops = { .readpage = hfsplus_readpage, .writepage = hfsplus_writepage, .sync_page = block_sync_page, diff -puN fs/hostfs/hostfs_kern.c~mark-address_space_operations-const fs/hostfs/hostfs_kern.c --- a/fs/hostfs/hostfs_kern.c~mark-address_space_operations-const +++ a/fs/hostfs/hostfs_kern.c @@ -54,7 +54,7 @@ static int append = 0; static struct inode_operations hostfs_iops; static struct inode_operations hostfs_dir_iops; -static struct address_space_operations hostfs_link_aops; +static const struct address_space_operations hostfs_link_aops; #ifndef MODULE static int __init hostfs_args(char *options, int *add) @@ -518,7 +518,7 @@ int hostfs_commit_write(struct file *fil return(err); } -static struct address_space_operations hostfs_aops = { +static const struct address_space_operations hostfs_aops = { .writepage = hostfs_writepage, .readpage = hostfs_readpage, .set_page_dirty = __set_page_dirty_nobuffers, @@ -935,7 +935,7 @@ int hostfs_link_readpage(struct file *fi return(err); } -static struct address_space_operations hostfs_link_aops = { +static const struct address_space_operations hostfs_link_aops = { .readpage = hostfs_link_readpage, }; diff -puN fs/hpfs/file.c~mark-address_space_operations-const fs/hpfs/file.c --- a/fs/hpfs/file.c~mark-address_space_operations-const +++ a/fs/hpfs/file.c @@ -99,7 +99,7 @@ static sector_t _hpfs_bmap(struct addres { return generic_block_bmap(mapping,block,hpfs_get_block); } -struct address_space_operations hpfs_aops = { +const struct address_space_operations hpfs_aops = { .readpage = hpfs_readpage, .writepage = hpfs_writepage, .sync_page = block_sync_page, diff -puN fs/hpfs/hpfs_fn.h~mark-address_space_operations-const fs/hpfs/hpfs_fn.h --- a/fs/hpfs/hpfs_fn.h~mark-address_space_operations-const +++ a/fs/hpfs/hpfs_fn.h @@ -268,7 +268,7 @@ void hpfs_set_ea(struct inode *, struct int hpfs_file_fsync(struct file *, struct dentry *, int); extern const struct file_operations hpfs_file_ops; extern struct inode_operations hpfs_file_iops; -extern struct address_space_operations hpfs_aops; +extern const struct address_space_operations hpfs_aops; /* inode.c */ @@ -304,7 +304,7 @@ void hpfs_decide_conv(struct inode *, un /* namei.c */ extern struct inode_operations hpfs_dir_iops; -extern struct address_space_operations hpfs_symlink_aops; +extern const struct address_space_operations hpfs_symlink_aops; static inline struct hpfs_inode_info *hpfs_i(struct inode *inode) { diff -puN fs/hpfs/namei.c~mark-address_space_operations-const fs/hpfs/namei.c --- a/fs/hpfs/namei.c~mark-address_space_operations-const +++ a/fs/hpfs/namei.c @@ -538,7 +538,7 @@ fail: return err; } -struct address_space_operations hpfs_symlink_aops = { +const struct address_space_operations hpfs_symlink_aops = { .readpage = hpfs_symlink_readpage }; diff -puN fs/hugetlbfs/inode.c~mark-address_space_operations-const fs/hugetlbfs/inode.c --- a/fs/hugetlbfs/inode.c~mark-address_space_operations-const +++ a/fs/hugetlbfs/inode.c @@ -34,7 +34,7 @@ #define HUGETLBFS_MAGIC 0x958458f6 static struct super_operations hugetlbfs_ops; -static struct address_space_operations hugetlbfs_aops; +static const struct address_space_operations hugetlbfs_aops; const struct file_operations hugetlbfs_file_operations; static struct inode_operations hugetlbfs_dir_inode_operations; static struct inode_operations hugetlbfs_inode_operations; @@ -547,7 +547,7 @@ static void hugetlbfs_destroy_inode(stru kmem_cache_free(hugetlbfs_inode_cachep, HUGETLBFS_I(inode)); } -static struct address_space_operations hugetlbfs_aops = { +static const struct address_space_operations hugetlbfs_aops = { .readpage = hugetlbfs_readpage, .prepare_write = hugetlbfs_prepare_write, .commit_write = hugetlbfs_commit_write, diff -puN fs/inode.c~mark-address_space_operations-const fs/inode.c --- a/fs/inode.c~mark-address_space_operations-const +++ a/fs/inode.c @@ -102,7 +102,7 @@ static kmem_cache_t * inode_cachep __rea static struct inode *alloc_inode(struct super_block *sb) { - static struct address_space_operations empty_aops; + static const struct address_space_operations empty_aops; static struct inode_operations empty_iops; static const struct file_operations empty_fops; struct inode *inode; diff -puN fs/isofs/compress.c~mark-address_space_operations-const fs/isofs/compress.c --- a/fs/isofs/compress.c~mark-address_space_operations-const +++ a/fs/isofs/compress.c @@ -312,7 +312,7 @@ eio: return err; } -struct address_space_operations zisofs_aops = { +const struct address_space_operations zisofs_aops = { .readpage = zisofs_readpage, /* No sync_page operation supported? */ /* No bmap operation supported */ diff -puN fs/isofs/inode.c~mark-address_space_operations-const fs/isofs/inode.c --- a/fs/isofs/inode.c~mark-address_space_operations-const +++ a/fs/isofs/inode.c @@ -1052,7 +1052,7 @@ static sector_t _isofs_bmap(struct addre return generic_block_bmap(mapping,block,isofs_get_block); } -static struct address_space_operations isofs_aops = { +static const struct address_space_operations isofs_aops = { .readpage = isofs_readpage, .sync_page = block_sync_page, .bmap = _isofs_bmap diff -puN fs/isofs/isofs.h~mark-address_space_operations-const fs/isofs/isofs.h --- a/fs/isofs/isofs.h~mark-address_space_operations-const +++ a/fs/isofs/isofs.h @@ -176,5 +176,5 @@ isofs_normalize_block_and_offset(struct extern struct inode_operations isofs_dir_inode_operations; extern const struct file_operations isofs_dir_operations; -extern struct address_space_operations isofs_symlink_aops; +extern const struct address_space_operations isofs_symlink_aops; extern struct export_operations isofs_export_ops; diff -puN fs/isofs/rock.c~mark-address_space_operations-const fs/isofs/rock.c --- a/fs/isofs/rock.c~mark-address_space_operations-const +++ a/fs/isofs/rock.c @@ -754,6 +754,6 @@ error: return -EIO; } -struct address_space_operations isofs_symlink_aops = { +const struct address_space_operations isofs_symlink_aops = { .readpage = rock_ridge_symlink_readpage }; diff -puN fs/isofs/zisofs.h~mark-address_space_operations-const fs/isofs/zisofs.h --- a/fs/isofs/zisofs.h~mark-address_space_operations-const +++ a/fs/isofs/zisofs.h @@ -15,7 +15,7 @@ */ #ifdef CONFIG_ZISOFS -extern struct address_space_operations zisofs_aops; +extern const struct address_space_operations zisofs_aops; extern int __init zisofs_init(void); extern void zisofs_cleanup(void); #endif diff -puN fs/jffs2/file.c~mark-address_space_operations-const fs/jffs2/file.c --- a/fs/jffs2/file.c~mark-address_space_operations-const +++ a/fs/jffs2/file.c @@ -62,7 +62,7 @@ struct inode_operations jffs2_file_inode .removexattr = jffs2_removexattr }; -struct address_space_operations jffs2_file_address_operations = +const struct address_space_operations jffs2_file_address_operations = { .readpage = jffs2_readpage, .prepare_write =jffs2_prepare_write, diff -puN fs/jffs2/os-linux.h~mark-address_space_operations-const fs/jffs2/os-linux.h --- a/fs/jffs2/os-linux.h~mark-address_space_operations-const +++ a/fs/jffs2/os-linux.h @@ -158,7 +158,7 @@ extern struct inode_operations jffs2_dir /* file.c */ extern const struct file_operations jffs2_file_operations; extern struct inode_operations jffs2_file_inode_operations; -extern struct address_space_operations jffs2_file_address_operations; +extern const struct address_space_operations jffs2_file_address_operations; int jffs2_fsync(struct file *, struct dentry *, int); int jffs2_do_readpage_unlock (struct inode *inode, struct page *pg); diff -puN fs/jffs/inode-v23.c~mark-address_space_operations-const fs/jffs/inode-v23.c --- a/fs/jffs/inode-v23.c~mark-address_space_operations-const +++ a/fs/jffs/inode-v23.c @@ -59,7 +59,7 @@ static const struct file_operations jffs static struct inode_operations jffs_file_inode_operations; static const struct file_operations jffs_dir_operations; static struct inode_operations jffs_dir_inode_operations; -static struct address_space_operations jffs_address_operations; +static const struct address_space_operations jffs_address_operations; kmem_cache_t *node_cache = NULL; kmem_cache_t *fm_cache = NULL; @@ -1614,7 +1614,7 @@ jffs_ioctl(struct inode *inode, struct f } /* jffs_ioctl() */ -static struct address_space_operations jffs_address_operations = { +static const struct address_space_operations jffs_address_operations = { .readpage = jffs_readpage, .prepare_write = jffs_prepare_write, .commit_write = jffs_commit_write, diff -puN fs/jfs/inode.c~mark-address_space_operations-const fs/jfs/inode.c --- a/fs/jfs/inode.c~mark-address_space_operations-const +++ a/fs/jfs/inode.c @@ -305,7 +305,7 @@ static ssize_t jfs_direct_IO(int rw, str offset, nr_segs, jfs_get_block, NULL); } -struct address_space_operations jfs_aops = { +const struct address_space_operations jfs_aops = { .readpage = jfs_readpage, .readpages = jfs_readpages, .writepage = jfs_writepage, diff -puN fs/jfs/jfs_inode.h~mark-address_space_operations-const fs/jfs/jfs_inode.h --- a/fs/jfs/jfs_inode.h~mark-address_space_operations-const +++ a/fs/jfs/jfs_inode.h @@ -33,7 +33,7 @@ extern void jfs_free_zero_link(struct in extern struct dentry *jfs_get_parent(struct dentry *dentry); extern void jfs_set_inode_flags(struct inode *); -extern struct address_space_operations jfs_aops; +extern const struct address_space_operations jfs_aops; extern struct inode_operations jfs_dir_inode_operations; extern const struct file_operations jfs_dir_operations; extern struct inode_operations jfs_file_inode_operations; diff -puN fs/jfs/jfs_metapage.c~mark-address_space_operations-const fs/jfs/jfs_metapage.c --- a/fs/jfs/jfs_metapage.c~mark-address_space_operations-const +++ a/fs/jfs/jfs_metapage.c @@ -577,7 +577,7 @@ static void metapage_invalidatepage(stru metapage_releasepage(page, 0); } -struct address_space_operations jfs_metapage_aops = { +const struct address_space_operations jfs_metapage_aops = { .readpage = metapage_readpage, .writepage = metapage_writepage, .sync_page = block_sync_page, diff -puN fs/jfs/jfs_metapage.h~mark-address_space_operations-const fs/jfs/jfs_metapage.h --- a/fs/jfs/jfs_metapage.h~mark-address_space_operations-const +++ a/fs/jfs/jfs_metapage.h @@ -139,7 +139,7 @@ static inline void metapage_homeok(struc put_metapage(mp); } -extern struct address_space_operations jfs_metapage_aops; +extern const struct address_space_operations jfs_metapage_aops; /* * This routines invalidate all pages for an extent. diff -puN fs/minix/inode.c~mark-address_space_operations-const fs/minix/inode.c --- a/fs/minix/inode.c~mark-address_space_operations-const +++ a/fs/minix/inode.c @@ -335,7 +335,7 @@ static sector_t minix_bmap(struct addres { return generic_block_bmap(mapping,block,minix_get_block); } -static struct address_space_operations minix_aops = { +static const struct address_space_operations minix_aops = { .readpage = minix_readpage, .writepage = minix_writepage, .sync_page = block_sync_page, diff -puN fs/ncpfs/inode.c~mark-address_space_operations-const fs/ncpfs/inode.c --- a/fs/ncpfs/inode.c~mark-address_space_operations-const +++ a/fs/ncpfs/inode.c @@ -105,7 +105,7 @@ static struct super_operations ncp_sops extern struct dentry_operations ncp_root_dentry_operations; #if defined(CONFIG_NCPFS_EXTRAS) || defined(CONFIG_NCPFS_NFS_NS) -extern struct address_space_operations ncp_symlink_aops; +extern const struct address_space_operations ncp_symlink_aops; extern int ncp_symlink(struct inode*, struct dentry*, const char*); #endif diff -puN fs/ncpfs/symlink.c~mark-address_space_operations-const fs/ncpfs/symlink.c --- a/fs/ncpfs/symlink.c~mark-address_space_operations-const +++ a/fs/ncpfs/symlink.c @@ -99,7 +99,7 @@ fail: /* * symlinks can't do much... */ -struct address_space_operations ncp_symlink_aops = { +const struct address_space_operations ncp_symlink_aops = { .readpage = ncp_symlink_readpage, }; diff -puN fs/nfs/file.c~mark-address_space_operations-const fs/nfs/file.c --- a/fs/nfs/file.c~mark-address_space_operations-const +++ a/fs/nfs/file.c @@ -315,7 +315,7 @@ static int nfs_release_page(struct page return !nfs_wb_page(page->mapping->host, page); } -struct address_space_operations nfs_file_aops = { +const struct address_space_operations nfs_file_aops = { .readpage = nfs_readpage, .readpages = nfs_readpages, .set_page_dirty = __set_page_dirty_nobuffers, diff -puN fs/ntfs/aops.c~mark-address_space_operations-const fs/ntfs/aops.c --- a/fs/ntfs/aops.c~mark-address_space_operations-const +++ a/fs/ntfs/aops.c @@ -1544,7 +1544,7 @@ err_out: /** * ntfs_aops - general address space operations for inodes and attributes */ -struct address_space_operations ntfs_aops = { +const struct address_space_operations ntfs_aops = { .readpage = ntfs_readpage, /* Fill page with data. */ .sync_page = block_sync_page, /* Currently, just unplugs the disk request queue. */ @@ -1560,7 +1560,7 @@ struct address_space_operations ntfs_aop * ntfs_mst_aops - general address space operations for mst protecteed inodes * and attributes */ -struct address_space_operations ntfs_mst_aops = { +const struct address_space_operations ntfs_mst_aops = { .readpage = ntfs_readpage, /* Fill page with data. */ .sync_page = block_sync_page, /* Currently, just unplugs the disk request queue. */ diff -puN fs/ntfs/ntfs.h~mark-address_space_operations-const fs/ntfs/ntfs.h --- a/fs/ntfs/ntfs.h~mark-address_space_operations-const +++ a/fs/ntfs/ntfs.h @@ -57,8 +57,8 @@ extern struct kmem_cache *ntfs_attr_ctx_ extern struct kmem_cache *ntfs_index_ctx_cache; /* The various operations structs defined throughout the driver files. */ -extern struct address_space_operations ntfs_aops; -extern struct address_space_operations ntfs_mst_aops; +extern const struct address_space_operations ntfs_aops; +extern const struct address_space_operations ntfs_mst_aops; extern const struct file_operations ntfs_file_ops; extern struct inode_operations ntfs_file_inode_ops; diff -puN fs/ocfs2/aops.c~mark-address_space_operations-const fs/ocfs2/aops.c --- a/fs/ocfs2/aops.c~mark-address_space_operations-const +++ a/fs/ocfs2/aops.c @@ -659,7 +659,7 @@ out: return ret; } -struct address_space_operations ocfs2_aops = { +const struct address_space_operations ocfs2_aops = { .readpage = ocfs2_readpage, .writepage = ocfs2_writepage, .prepare_write = ocfs2_prepare_write, diff -puN fs/ocfs2/inode.h~mark-address_space_operations-const fs/ocfs2/inode.h --- a/fs/ocfs2/inode.h~mark-address_space_operations-const +++ a/fs/ocfs2/inode.h @@ -114,7 +114,7 @@ static inline struct ocfs2_inode_info *O extern kmem_cache_t *ocfs2_inode_cache; -extern struct address_space_operations ocfs2_aops; +extern const struct address_space_operations ocfs2_aops; struct buffer_head *ocfs2_bread(struct inode *inode, int block, int *err, int reada); diff -puN fs/qnx4/inode.c~mark-address_space_operations-const fs/qnx4/inode.c --- a/fs/qnx4/inode.c~mark-address_space_operations-const +++ a/fs/qnx4/inode.c @@ -448,7 +448,7 @@ static sector_t qnx4_bmap(struct address { return generic_block_bmap(mapping,block,qnx4_get_block); } -static struct address_space_operations qnx4_aops = { +static const struct address_space_operations qnx4_aops = { .readpage = qnx4_readpage, .writepage = qnx4_writepage, .sync_page = block_sync_page, diff -puN fs/ramfs/file-mmu.c~mark-address_space_operations-const fs/ramfs/file-mmu.c --- a/fs/ramfs/file-mmu.c~mark-address_space_operations-const +++ a/fs/ramfs/file-mmu.c @@ -26,7 +26,7 @@ #include -struct address_space_operations ramfs_aops = { +const struct address_space_operations ramfs_aops = { .readpage = simple_readpage, .prepare_write = simple_prepare_write, .commit_write = simple_commit_write diff -puN fs/ramfs/file-nommu.c~mark-address_space_operations-const fs/ramfs/file-nommu.c --- a/fs/ramfs/file-nommu.c~mark-address_space_operations-const +++ a/fs/ramfs/file-nommu.c @@ -27,7 +27,7 @@ static int ramfs_nommu_setattr(struct dentry *, struct iattr *); -struct address_space_operations ramfs_aops = { +const struct address_space_operations ramfs_aops = { .readpage = simple_readpage, .prepare_write = simple_prepare_write, .commit_write = simple_commit_write diff -puN fs/ramfs/internal.h~mark-address_space_operations-const fs/ramfs/internal.h --- a/fs/ramfs/internal.h~mark-address_space_operations-const +++ a/fs/ramfs/internal.h @@ -10,6 +10,6 @@ */ -extern struct address_space_operations ramfs_aops; +extern const struct address_space_operations ramfs_aops; extern const struct file_operations ramfs_file_operations; extern struct inode_operations ramfs_file_inode_operations; diff -puN fs/reiserfs/inode.c~mark-address_space_operations-const fs/reiserfs/inode.c --- a/fs/reiserfs/inode.c~mark-address_space_operations-const +++ a/fs/reiserfs/inode.c @@ -2996,7 +2996,7 @@ int reiserfs_setattr(struct dentry *dent return error; } -struct address_space_operations reiserfs_address_space_operations = { +const struct address_space_operations reiserfs_address_space_operations = { .writepage = reiserfs_writepage, .readpage = reiserfs_readpage, .readpages = reiserfs_readpages, diff -puN fs/romfs/inode.c~mark-address_space_operations-const fs/romfs/inode.c --- a/fs/romfs/inode.c~mark-address_space_operations-const +++ a/fs/romfs/inode.c @@ -459,7 +459,7 @@ err_out: /* Mapping from our types to the kernel */ -static struct address_space_operations romfs_aops = { +static const struct address_space_operations romfs_aops = { .readpage = romfs_readpage }; diff -puN fs/smbfs/file.c~mark-address_space_operations-const fs/smbfs/file.c --- a/fs/smbfs/file.c~mark-address_space_operations-const +++ a/fs/smbfs/file.c @@ -306,7 +306,7 @@ static int smb_commit_write(struct file return status; } -struct address_space_operations smb_file_aops = { +const struct address_space_operations smb_file_aops = { .readpage = smb_readpage, .writepage = smb_writepage, .prepare_write = smb_prepare_write, diff -puN fs/smbfs/proto.h~mark-address_space_operations-const fs/smbfs/proto.h --- a/fs/smbfs/proto.h~mark-address_space_operations-const +++ a/fs/smbfs/proto.h @@ -63,7 +63,7 @@ extern int smb_revalidate_inode(struct d extern int smb_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat); extern int smb_notify_change(struct dentry *dentry, struct iattr *attr); /* file.c */ -extern struct address_space_operations smb_file_aops; +extern const struct address_space_operations smb_file_aops; extern const struct file_operations smb_file_operations; extern struct inode_operations smb_file_inode_operations; /* ioctl.c */ diff -puN fs/sysfs/inode.c~mark-address_space_operations-const fs/sysfs/inode.c --- a/fs/sysfs/inode.c~mark-address_space_operations-const +++ a/fs/sysfs/inode.c @@ -16,7 +16,7 @@ extern struct super_block * sysfs_sb; -static struct address_space_operations sysfs_aops = { +static const struct address_space_operations sysfs_aops = { .readpage = simple_readpage, .prepare_write = simple_prepare_write, .commit_write = simple_commit_write diff -puN fs/sysv/itree.c~mark-address_space_operations-const fs/sysv/itree.c --- a/fs/sysv/itree.c~mark-address_space_operations-const +++ a/fs/sysv/itree.c @@ -465,7 +465,7 @@ static sector_t sysv_bmap(struct address { return generic_block_bmap(mapping,block,get_block); } -struct address_space_operations sysv_aops = { +const struct address_space_operations sysv_aops = { .readpage = sysv_readpage, .writepage = sysv_writepage, .sync_page = block_sync_page, diff -puN fs/sysv/sysv.h~mark-address_space_operations-const fs/sysv/sysv.h --- a/fs/sysv/sysv.h~mark-address_space_operations-const +++ a/fs/sysv/sysv.h @@ -161,7 +161,7 @@ extern struct inode_operations sysv_dir_ extern struct inode_operations sysv_fast_symlink_inode_operations; extern const struct file_operations sysv_file_operations; extern const struct file_operations sysv_dir_operations; -extern struct address_space_operations sysv_aops; +extern const struct address_space_operations sysv_aops; extern struct super_operations sysv_sops; extern struct dentry_operations sysv_dentry_operations; diff -puN fs/udf/file.c~mark-address_space_operations-const fs/udf/file.c --- a/fs/udf/file.c~mark-address_space_operations-const +++ a/fs/udf/file.c @@ -95,7 +95,7 @@ static int udf_adinicb_commit_write(stru return 0; } -struct address_space_operations udf_adinicb_aops = { +const struct address_space_operations udf_adinicb_aops = { .readpage = udf_adinicb_readpage, .writepage = udf_adinicb_writepage, .sync_page = block_sync_page, diff -puN fs/udf/inode.c~mark-address_space_operations-const fs/udf/inode.c --- a/fs/udf/inode.c~mark-address_space_operations-const +++ a/fs/udf/inode.c @@ -132,7 +132,7 @@ static sector_t udf_bmap(struct address_ return generic_block_bmap(mapping,block,udf_get_block); } -struct address_space_operations udf_aops = { +const struct address_space_operations udf_aops = { .readpage = udf_readpage, .writepage = udf_writepage, .sync_page = block_sync_page, diff -puN fs/udf/symlink.c~mark-address_space_operations-const fs/udf/symlink.c --- a/fs/udf/symlink.c~mark-address_space_operations-const +++ a/fs/udf/symlink.c @@ -113,6 +113,6 @@ out: /* * symlinks can't do much... */ -struct address_space_operations udf_symlink_aops = { +const struct address_space_operations udf_symlink_aops = { .readpage = udf_symlink_filler, }; diff -puN fs/udf/udfdecl.h~mark-address_space_operations-const fs/udf/udfdecl.h --- a/fs/udf/udfdecl.h~mark-address_space_operations-const +++ a/fs/udf/udfdecl.h @@ -47,9 +47,9 @@ extern struct inode_operations udf_dir_i extern const struct file_operations udf_dir_operations; extern struct inode_operations udf_file_inode_operations; extern const struct file_operations udf_file_operations; -extern struct address_space_operations udf_aops; -extern struct address_space_operations udf_adinicb_aops; -extern struct address_space_operations udf_symlink_aops; +extern const struct address_space_operations udf_aops; +extern const struct address_space_operations udf_adinicb_aops; +extern const struct address_space_operations udf_symlink_aops; struct udf_fileident_bh { diff -puN fs/ufs/inode.c~mark-address_space_operations-const fs/ufs/inode.c --- a/fs/ufs/inode.c~mark-address_space_operations-const +++ a/fs/ufs/inode.c @@ -531,7 +531,7 @@ static sector_t ufs_bmap(struct address_ { return generic_block_bmap(mapping,block,ufs_getfrag_block); } -struct address_space_operations ufs_aops = { +const struct address_space_operations ufs_aops = { .readpage = ufs_readpage, .writepage = ufs_writepage, .sync_page = block_sync_page, diff -puN fs/xfs/linux-2.6/xfs_aops.c~mark-address_space_operations-const fs/xfs/linux-2.6/xfs_aops.c --- a/fs/xfs/linux-2.6/xfs_aops.c~mark-address_space_operations-const +++ a/fs/xfs/linux-2.6/xfs_aops.c @@ -1454,7 +1454,7 @@ xfs_vm_invalidatepage( block_invalidatepage(page, offset); } -struct address_space_operations xfs_address_space_operations = { +const struct address_space_operations xfs_address_space_operations = { .readpage = xfs_vm_readpage, .readpages = xfs_vm_readpages, .writepage = xfs_vm_writepage, diff -puN fs/xfs/linux-2.6/xfs_aops.h~mark-address_space_operations-const fs/xfs/linux-2.6/xfs_aops.h --- a/fs/xfs/linux-2.6/xfs_aops.h~mark-address_space_operations-const +++ a/fs/xfs/linux-2.6/xfs_aops.h @@ -40,7 +40,7 @@ typedef struct xfs_ioend { struct work_struct io_work; /* xfsdatad work queue */ } xfs_ioend_t; -extern struct address_space_operations xfs_address_space_operations; +extern const struct address_space_operations xfs_address_space_operations; extern int xfs_get_blocks(struct inode *, sector_t, struct buffer_head *, int); #endif /* __XFS_AOPS_H__ */ diff -puN fs/xfs/linux-2.6/xfs_buf.c~mark-address_space_operations-const fs/xfs/linux-2.6/xfs_buf.c --- a/fs/xfs/linux-2.6/xfs_buf.c~mark-address_space_operations-const +++ a/fs/xfs/linux-2.6/xfs_buf.c @@ -1520,7 +1520,7 @@ xfs_mapping_buftarg( struct backing_dev_info *bdi; struct inode *inode; struct address_space *mapping; - static struct address_space_operations mapping_aops = { + static const struct address_space_operations mapping_aops = { .sync_page = block_sync_page, .migratepage = fail_migrate_page, }; diff -puN include/linux/coda_linux.h~mark-address_space_operations-const include/linux/coda_linux.h --- a/include/linux/coda_linux.h~mark-address_space_operations-const +++ a/include/linux/coda_linux.h @@ -27,8 +27,8 @@ extern struct inode_operations coda_dir_ extern struct inode_operations coda_file_inode_operations; extern struct inode_operations coda_ioctl_inode_operations; -extern struct address_space_operations coda_file_aops; -extern struct address_space_operations coda_symlink_aops; +extern const struct address_space_operations coda_file_aops; +extern const struct address_space_operations coda_symlink_aops; extern const struct file_operations coda_dir_operations; extern const struct file_operations coda_file_operations; diff -puN include/linux/efs_fs.h~mark-address_space_operations-const include/linux/efs_fs.h --- a/include/linux/efs_fs.h~mark-address_space_operations-const +++ a/include/linux/efs_fs.h @@ -38,7 +38,7 @@ struct statfs; extern struct inode_operations efs_dir_inode_operations; extern const struct file_operations efs_dir_operations; -extern struct address_space_operations efs_symlink_aops; +extern const struct address_space_operations efs_symlink_aops; extern void efs_read_inode(struct inode *); extern efs_block_t efs_map_block(struct inode *, efs_block_t); diff -puN include/linux/fs.h~mark-address_space_operations-const include/linux/fs.h --- a/include/linux/fs.h~mark-address_space_operations-const +++ a/include/linux/fs.h @@ -392,7 +392,7 @@ struct address_space { unsigned int truncate_count; /* Cover race condition with truncate */ unsigned long nrpages; /* number of total pages */ pgoff_t writeback_index;/* writeback starts here */ - struct address_space_operations *a_ops; /* methods */ + const struct address_space_operations *a_ops; /* methods */ unsigned long flags; /* error bits/gfp mask */ struct backing_dev_info *backing_dev_info; /* device readahead, etc */ spinlock_t private_lock; /* for use by the address_space */ @@ -1403,7 +1403,7 @@ extern void bd_forget(struct inode *inod extern void bdput(struct block_device *); extern struct block_device *open_by_devnum(dev_t, unsigned); extern const struct file_operations def_blk_fops; -extern struct address_space_operations def_blk_aops; +extern const struct address_space_operations def_blk_aops; extern const struct file_operations def_chr_fops; extern const struct file_operations bad_sock_fops; extern const struct file_operations def_fifo_fops; diff -puN include/linux/nfs_fs.h~mark-address_space_operations-const include/linux/nfs_fs.h --- a/include/linux/nfs_fs.h~mark-address_space_operations-const +++ a/include/linux/nfs_fs.h @@ -334,7 +334,7 @@ extern struct inode_operations nfs_file_ extern struct inode_operations nfs3_file_inode_operations; #endif /* CONFIG_NFS_V3 */ extern const struct file_operations nfs_file_operations; -extern struct address_space_operations nfs_file_aops; +extern const struct address_space_operations nfs_file_aops; static inline struct rpc_cred *nfs_file_cred(struct file *file) { diff -puN include/linux/reiserfs_fs.h~mark-address_space_operations-const include/linux/reiserfs_fs.h --- a/include/linux/reiserfs_fs.h~mark-address_space_operations-const +++ a/include/linux/reiserfs_fs.h @@ -1973,7 +1973,7 @@ void reiserfs_unmap_buffer(struct buffer /* file.c */ extern struct inode_operations reiserfs_file_inode_operations; extern const struct file_operations reiserfs_file_operations; -extern struct address_space_operations reiserfs_address_space_operations; +extern const struct address_space_operations reiserfs_address_space_operations; /* fix_nodes.c */ diff -puN include/linux/ufs_fs.h~mark-address_space_operations-const include/linux/ufs_fs.h --- a/include/linux/ufs_fs.h~mark-address_space_operations-const +++ a/include/linux/ufs_fs.h @@ -896,7 +896,7 @@ extern void ufs_set_link(struct inode *, extern struct inode_operations ufs_file_inode_operations; extern const struct file_operations ufs_file_operations; -extern struct address_space_operations ufs_aops; +extern const struct address_space_operations ufs_aops; /* ialloc.c */ extern void ufs_free_inode (struct inode *inode); diff -puN mm/filemap.c~mark-address_space_operations-const mm/filemap.c --- a/mm/filemap.c~mark-address_space_operations-const +++ a/mm/filemap.c @@ -2046,7 +2046,7 @@ generic_file_buffered_write(struct kiocb { struct file *file = iocb->ki_filp; struct address_space * mapping = file->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; @@ -2192,7 +2192,7 @@ __generic_file_aio_write_nolock(struct k unsigned long nr_segs, loff_t *ppos) { struct file *file = iocb->ki_filp; - struct address_space * mapping = file->f_mapping; + const struct address_space * mapping = file->f_mapping; size_t ocount; /* original count */ size_t count; /* after file limit checks */ struct inode *inode = mapping->host; diff -puN mm/filemap_xip.c~mark-address_space_operations-const mm/filemap_xip.c --- a/mm/filemap_xip.c~mark-address_space_operations-const +++ a/mm/filemap_xip.c @@ -273,7 +273,7 @@ __xip_file_write(struct file *filp, cons 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; diff -puN mm/shmem.c~mark-address_space_operations-const mm/shmem.c --- a/mm/shmem.c~mark-address_space_operations-const +++ a/mm/shmem.c @@ -174,7 +174,7 @@ static inline void shmem_unacct_blocks(u } static struct super_operations shmem_ops; -static struct address_space_operations shmem_aops; +static const struct address_space_operations shmem_aops; static struct file_operations shmem_file_operations; static struct inode_operations shmem_inode_operations; static struct inode_operations shmem_dir_inode_operations; @@ -2162,7 +2162,7 @@ static void destroy_inodecache(void) printk(KERN_INFO "shmem_inode_cache: not all structures were freed\n"); } -static struct address_space_operations shmem_aops = { +static const struct address_space_operations shmem_aops = { .writepage = shmem_writepage, .set_page_dirty = __set_page_dirty_nobuffers, #ifdef CONFIG_TMPFS diff -puN mm/swap_state.c~mark-address_space_operations-const mm/swap_state.c --- a/mm/swap_state.c~mark-address_space_operations-const +++ a/mm/swap_state.c @@ -24,7 +24,7 @@ * vmscan's shrink_list, to make sync_page look nicer, and to allow * future use of radix_tree tags in the swap cache. */ -static struct address_space_operations swap_aops = { +static const struct address_space_operations swap_aops = { .writepage = swap_writepage, .sync_page = block_sync_page, .set_page_dirty = __set_page_dirty_nobuffers, _