Commit 39655164 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Linus Torvalds

exportfs: make struct export_operations const

Now that nfsd has stopped writing to the find_exported_dentry member we an
mark the export_operations const
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Cc: Neil Brown <neilb@suse.de>
Cc: "J. Bruce Fields" <bfields@fieldses.org>
Cc: <linux-ext4@vger.kernel.org>
Cc: Dave Kleikamp <shaggy@austin.ibm.com>
Cc: Anton Altaparmakov <aia21@cantab.net>
Cc: David Chinner <dgc@sgi.com>
Cc: Timothy Shimmin <tes@sgi.com>
Cc: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Cc: Hugh Dickins <hugh@veritas.com>
Cc: Chris Mason <mason@suse.com>
Cc: Jeff Mahoney <jeffm@suse.com>
Cc: "Vladimir V. Saveliev" <vs@namesys.com>
Cc: Steven Whitehouse <swhiteho@redhat.com>
Cc: Mark Fasheh <mark.fasheh@oracle.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent cfaea787
...@@ -103,7 +103,7 @@ extern int cifs_ioctl(struct inode *inode, struct file *filep, ...@@ -103,7 +103,7 @@ extern int cifs_ioctl(struct inode *inode, struct file *filep,
unsigned int command, unsigned long arg); unsigned int command, unsigned long arg);
#ifdef CONFIG_CIFS_EXPERIMENTAL #ifdef CONFIG_CIFS_EXPERIMENTAL
extern struct export_operations cifs_export_ops; extern const struct export_operations cifs_export_ops;
#endif /* EXPERIMENTAL */ #endif /* EXPERIMENTAL */
#define CIFS_VERSION "1.51" #define CIFS_VERSION "1.51"
......
...@@ -53,7 +53,7 @@ static struct dentry *cifs_get_parent(struct dentry *dentry) ...@@ -53,7 +53,7 @@ static struct dentry *cifs_get_parent(struct dentry *dentry)
return ERR_PTR(-EACCES); return ERR_PTR(-EACCES);
} }
struct export_operations cifs_export_ops = { const struct export_operations cifs_export_ops = {
.get_parent = cifs_get_parent, .get_parent = cifs_get_parent,
/* Following five export operations are unneeded so far and can default: /* Following five export operations are unneeded so far and can default:
.get_dentry = .get_dentry =
......
...@@ -113,7 +113,7 @@ static const struct super_operations efs_superblock_operations = { ...@@ -113,7 +113,7 @@ static const struct super_operations efs_superblock_operations = {
.remount_fs = efs_remount, .remount_fs = efs_remount,
}; };
static struct export_operations efs_export_ops = { static const struct export_operations efs_export_ops = {
.fh_to_dentry = efs_fh_to_dentry, .fh_to_dentry = efs_fh_to_dentry,
.fh_to_parent = efs_fh_to_parent, .fh_to_parent = efs_fh_to_parent,
.get_parent = efs_get_parent, .get_parent = efs_get_parent,
......
...@@ -16,7 +16,7 @@ static int get_name(struct dentry *dentry, char *name, ...@@ -16,7 +16,7 @@ static int get_name(struct dentry *dentry, char *name,
static int exportfs_get_name(struct dentry *dir, char *name, static int exportfs_get_name(struct dentry *dir, char *name,
struct dentry *child) struct dentry *child)
{ {
struct export_operations *nop = dir->d_sb->s_export_op; const struct export_operations *nop = dir->d_sb->s_export_op;
if (nop->get_name) if (nop->get_name)
return nop->get_name(dir, name, child); return nop->get_name(dir, name, child);
...@@ -333,7 +333,7 @@ static int export_encode_fh(struct dentry *dentry, struct fid *fid, ...@@ -333,7 +333,7 @@ static int export_encode_fh(struct dentry *dentry, struct fid *fid,
int exportfs_encode_fh(struct dentry *dentry, struct fid *fid, int *max_len, int exportfs_encode_fh(struct dentry *dentry, struct fid *fid, int *max_len,
int connectable) int connectable)
{ {
struct export_operations *nop = dentry->d_sb->s_export_op; const struct export_operations *nop = dentry->d_sb->s_export_op;
int error; int error;
if (nop->encode_fh) if (nop->encode_fh)
...@@ -349,7 +349,7 @@ struct dentry *exportfs_decode_fh(struct vfsmount *mnt, struct fid *fid, ...@@ -349,7 +349,7 @@ struct dentry *exportfs_decode_fh(struct vfsmount *mnt, struct fid *fid,
int fh_len, int fileid_type, int fh_len, int fileid_type,
int (*acceptable)(void *, struct dentry *), void *context) int (*acceptable)(void *, struct dentry *), void *context)
{ {
struct export_operations *nop = mnt->mnt_sb->s_export_op; const struct export_operations *nop = mnt->mnt_sb->s_export_op;
struct dentry *result, *alias; struct dentry *result, *alias;
int err; int err;
......
...@@ -357,7 +357,7 @@ static struct dentry *ext2_fh_to_parent(struct super_block *sb, struct fid *fid, ...@@ -357,7 +357,7 @@ static struct dentry *ext2_fh_to_parent(struct super_block *sb, struct fid *fid,
* systems, but can be improved upon. * systems, but can be improved upon.
* Currently only get_parent is required. * Currently only get_parent is required.
*/ */
static struct export_operations ext2_export_ops = { static const struct export_operations ext2_export_ops = {
.fh_to_dentry = ext2_fh_to_dentry, .fh_to_dentry = ext2_fh_to_dentry,
.fh_to_parent = ext2_fh_to_parent, .fh_to_parent = ext2_fh_to_parent,
.get_parent = ext2_get_parent, .get_parent = ext2_get_parent,
......
...@@ -741,7 +741,7 @@ static const struct super_operations ext3_sops = { ...@@ -741,7 +741,7 @@ static const struct super_operations ext3_sops = {
#endif #endif
}; };
static struct export_operations ext3_export_ops = { static const struct export_operations ext3_export_ops = {
.fh_to_dentry = ext3_fh_to_dentry, .fh_to_dentry = ext3_fh_to_dentry,
.fh_to_parent = ext3_fh_to_parent, .fh_to_parent = ext3_fh_to_parent,
.get_parent = ext3_get_parent, .get_parent = ext3_get_parent,
......
...@@ -796,7 +796,7 @@ static const struct super_operations ext4_sops = { ...@@ -796,7 +796,7 @@ static const struct super_operations ext4_sops = {
#endif #endif
}; };
static struct export_operations ext4_export_ops = { static const struct export_operations ext4_export_ops = {
.fh_to_dentry = ext4_fh_to_dentry, .fh_to_dentry = ext4_fh_to_dentry,
.fh_to_parent = ext4_fh_to_parent, .fh_to_parent = ext4_fh_to_parent,
.get_parent = ext4_get_parent, .get_parent = ext4_get_parent,
......
...@@ -774,7 +774,7 @@ static struct dentry *fat_get_parent(struct dentry *child) ...@@ -774,7 +774,7 @@ static struct dentry *fat_get_parent(struct dentry *child)
return parent; return parent;
} }
static struct export_operations fat_export_ops = { static const struct export_operations fat_export_ops = {
.encode_fh = fat_encode_fh, .encode_fh = fat_encode_fh,
.fh_to_dentry = fat_fh_to_dentry, .fh_to_dentry = fat_fh_to_dentry,
.get_parent = fat_get_parent, .get_parent = fat_get_parent,
......
...@@ -294,7 +294,7 @@ static struct dentry *gfs2_fh_to_parent(struct super_block *sb, struct fid *fid, ...@@ -294,7 +294,7 @@ static struct dentry *gfs2_fh_to_parent(struct super_block *sb, struct fid *fid,
} }
} }
struct export_operations gfs2_export_ops = { const struct export_operations gfs2_export_ops = {
.encode_fh = gfs2_encode_fh, .encode_fh = gfs2_encode_fh,
.fh_to_dentry = gfs2_fh_to_dentry, .fh_to_dentry = gfs2_fh_to_dentry,
.fh_to_parent = gfs2_fh_to_parent, .fh_to_parent = gfs2_fh_to_parent,
......
...@@ -14,6 +14,6 @@ ...@@ -14,6 +14,6 @@
extern struct file_system_type gfs2_fs_type; extern struct file_system_type gfs2_fs_type;
extern struct file_system_type gfs2meta_fs_type; extern struct file_system_type gfs2meta_fs_type;
extern struct export_operations gfs2_export_ops; extern const struct export_operations gfs2_export_ops;
#endif /* __OPS_FSTYPE_DOT_H__ */ #endif /* __OPS_FSTYPE_DOT_H__ */
...@@ -207,7 +207,7 @@ static struct dentry *isofs_fh_to_parent(struct super_block *sb, ...@@ -207,7 +207,7 @@ static struct dentry *isofs_fh_to_parent(struct super_block *sb,
fh_len > 4 ? ifid->parent_generation : 0); fh_len > 4 ? ifid->parent_generation : 0);
} }
struct export_operations isofs_export_ops = { const struct export_operations isofs_export_ops = {
.encode_fh = isofs_export_encode_fh, .encode_fh = isofs_export_encode_fh,
.fh_to_dentry = isofs_fh_to_dentry, .fh_to_dentry = isofs_fh_to_dentry,
.fh_to_parent = isofs_fh_to_parent, .fh_to_parent = isofs_fh_to_parent,
......
...@@ -178,4 +178,4 @@ isofs_normalize_block_and_offset(struct iso_directory_record* de, ...@@ -178,4 +178,4 @@ isofs_normalize_block_and_offset(struct iso_directory_record* de,
extern const struct inode_operations isofs_dir_inode_operations; extern const struct inode_operations isofs_dir_inode_operations;
extern const struct file_operations isofs_dir_operations; extern const struct file_operations isofs_dir_operations;
extern const struct address_space_operations isofs_symlink_aops; extern const struct address_space_operations isofs_symlink_aops;
extern struct export_operations isofs_export_ops; extern const struct export_operations isofs_export_ops;
...@@ -48,7 +48,7 @@ MODULE_LICENSE("GPL"); ...@@ -48,7 +48,7 @@ MODULE_LICENSE("GPL");
static struct kmem_cache * jfs_inode_cachep; static struct kmem_cache * jfs_inode_cachep;
static const struct super_operations jfs_super_operations; static const struct super_operations jfs_super_operations;
static struct export_operations jfs_export_operations; static const struct export_operations jfs_export_operations;
static struct file_system_type jfs_fs_type; static struct file_system_type jfs_fs_type;
#define MAX_COMMIT_THREADS 64 #define MAX_COMMIT_THREADS 64
...@@ -737,7 +737,7 @@ static const struct super_operations jfs_super_operations = { ...@@ -737,7 +737,7 @@ static const struct super_operations jfs_super_operations = {
#endif #endif
}; };
static struct export_operations jfs_export_operations = { static const struct export_operations jfs_export_operations = {
.fh_to_dentry = jfs_fh_to_dentry, .fh_to_dentry = jfs_fh_to_dentry,
.fh_to_parent = jfs_fh_to_parent, .fh_to_parent = jfs_fh_to_parent,
.get_parent = jfs_get_parent, .get_parent = jfs_get_parent,
......
...@@ -499,7 +499,7 @@ static struct dentry *ntfs_fh_to_parent(struct super_block *sb, struct fid *fid, ...@@ -499,7 +499,7 @@ static struct dentry *ntfs_fh_to_parent(struct super_block *sb, struct fid *fid,
* allowing the inode number 0 which is used in NTFS for the system file $MFT * allowing the inode number 0 which is used in NTFS for the system file $MFT
* and due to using iget() whereas NTFS needs ntfs_iget(). * and due to using iget() whereas NTFS needs ntfs_iget().
*/ */
struct export_operations ntfs_export_ops = { const struct export_operations ntfs_export_ops = {
.get_parent = ntfs_get_parent, /* Find the parent of a given .get_parent = ntfs_get_parent, /* Find the parent of a given
directory. */ directory. */
.fh_to_dentry = ntfs_fh_to_dentry, .fh_to_dentry = ntfs_fh_to_dentry,
......
...@@ -69,7 +69,7 @@ extern const struct inode_operations ntfs_dir_inode_ops; ...@@ -69,7 +69,7 @@ extern const struct inode_operations ntfs_dir_inode_ops;
extern const struct file_operations ntfs_empty_file_ops; extern const struct file_operations ntfs_empty_file_ops;
extern const struct inode_operations ntfs_empty_inode_ops; extern const struct inode_operations ntfs_empty_inode_ops;
extern struct export_operations ntfs_export_ops; extern const struct export_operations ntfs_export_ops;
/** /**
* NTFS_SB - return the ntfs volume given a vfs super block * NTFS_SB - return the ntfs volume given a vfs super block
......
...@@ -222,7 +222,7 @@ static struct dentry *ocfs2_fh_to_parent(struct super_block *sb, ...@@ -222,7 +222,7 @@ static struct dentry *ocfs2_fh_to_parent(struct super_block *sb,
return ocfs2_get_dentry(sb, &parent); return ocfs2_get_dentry(sb, &parent);
} }
struct export_operations ocfs2_export_ops = { const struct export_operations ocfs2_export_ops = {
.encode_fh = ocfs2_encode_fh, .encode_fh = ocfs2_encode_fh,
.fh_to_dentry = ocfs2_fh_to_dentry, .fh_to_dentry = ocfs2_fh_to_dentry,
.fh_to_parent = ocfs2_fh_to_parent, .fh_to_parent = ocfs2_fh_to_parent,
......
...@@ -28,6 +28,6 @@ ...@@ -28,6 +28,6 @@
#include <linux/exportfs.h> #include <linux/exportfs.h>
extern struct export_operations ocfs2_export_ops; extern const struct export_operations ocfs2_export_ops;
#endif /* OCFS2_EXPORT_H */ #endif /* OCFS2_EXPORT_H */
...@@ -661,7 +661,7 @@ static struct quotactl_ops reiserfs_qctl_operations = { ...@@ -661,7 +661,7 @@ static struct quotactl_ops reiserfs_qctl_operations = {
}; };
#endif #endif
static struct export_operations reiserfs_export_ops = { static const struct export_operations reiserfs_export_ops = {
.encode_fh = reiserfs_encode_fh, .encode_fh = reiserfs_encode_fh,
.fh_to_dentry = reiserfs_fh_to_dentry, .fh_to_dentry = reiserfs_fh_to_dentry,
.fh_to_parent = reiserfs_fh_to_parent, .fh_to_parent = reiserfs_fh_to_parent,
......
...@@ -220,7 +220,7 @@ xfs_fs_get_parent( ...@@ -220,7 +220,7 @@ xfs_fs_get_parent(
return parent; return parent;
} }
struct export_operations xfs_export_operations = { const struct export_operations xfs_export_operations = {
.encode_fh = xfs_fs_encode_fh, .encode_fh = xfs_fs_encode_fh,
.fh_to_dentry = xfs_fs_fh_to_dentry, .fh_to_dentry = xfs_fs_fh_to_dentry,
.fh_to_parent = xfs_fs_fh_to_parent, .fh_to_parent = xfs_fs_fh_to_parent,
......
...@@ -118,7 +118,7 @@ extern int xfs_blkdev_get(struct xfs_mount *, const char *, ...@@ -118,7 +118,7 @@ extern int xfs_blkdev_get(struct xfs_mount *, const char *,
extern void xfs_blkdev_put(struct block_device *); extern void xfs_blkdev_put(struct block_device *);
extern void xfs_blkdev_issue_flush(struct xfs_buftarg *); extern void xfs_blkdev_issue_flush(struct xfs_buftarg *);
extern struct export_operations xfs_export_operations; extern const struct export_operations xfs_export_operations;
#define XFS_M(sb) ((struct xfs_mount *)((sb)->s_fs_info)) #define XFS_M(sb) ((struct xfs_mount *)((sb)->s_fs_info))
......
...@@ -987,7 +987,7 @@ struct super_block { ...@@ -987,7 +987,7 @@ struct super_block {
const struct super_operations *s_op; const struct super_operations *s_op;
struct dquot_operations *dq_op; struct dquot_operations *dq_op;
struct quotactl_ops *s_qcop; struct quotactl_ops *s_qcop;
struct export_operations *s_export_op; const struct export_operations *s_export_op;
unsigned long s_flags; unsigned long s_flags;
unsigned long s_magic; unsigned long s_magic;
struct dentry *s_root; struct dentry *s_root;
......
...@@ -2071,7 +2071,7 @@ static int shmem_encode_fh(struct dentry *dentry, __u32 *fh, int *len, ...@@ -2071,7 +2071,7 @@ static int shmem_encode_fh(struct dentry *dentry, __u32 *fh, int *len,
return 1; return 1;
} }
static struct export_operations shmem_export_ops = { static const struct export_operations shmem_export_ops = {
.get_parent = shmem_get_parent, .get_parent = shmem_get_parent,
.encode_fh = shmem_encode_fh, .encode_fh = shmem_encode_fh,
.fh_to_dentry = shmem_fh_to_dentry, .fh_to_dentry = shmem_fh_to_dentry,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment