vfs: Use const for kernel parser table
authorSteven Whitehouse <swhiteho@redhat.com>
Mon, 13 Oct 2008 09:46:57 +0000 (10:46 +0100)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 13 Oct 2008 17:10:37 +0000 (10:10 -0700)
This is a much better version of a previous patch to make the parser
tables constant. Rather than changing the typedef, we put the "const" in
all the various places where its required, allowing the __initconst
exception for nfsroot which was the cause of the previous trouble.

This was posted for review some time ago and I believe its been in -mm
since then.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Cc: Alexander Viro <aviro@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
38 files changed:
arch/powerpc/platforms/cell/spufs/inode.c
arch/s390/hypfs/inode.c
drivers/infiniband/ulp/srp/ib_srp.c
drivers/usb/core/inode.c
fs/9p/v9fs.c
fs/adfs/super.c
fs/affs/super.c
fs/afs/super.c
fs/autofs/inode.c
fs/autofs4/inode.c
fs/befs/linuxvfs.c
fs/devpts/inode.c
fs/ecryptfs/main.c
fs/ext2/super.c
fs/ext3/super.c
fs/ext4/super.c
fs/fat/inode.c
fs/fuse/inode.c
fs/gfs2/mount.c
fs/hfs/super.c
fs/hfsplus/options.c
fs/hpfs/super.c
fs/hugetlbfs/inode.c
fs/isofs/inode.c
fs/jfs/super.c
fs/nfs/nfsroot.c
fs/nfs/super.c
fs/ocfs2/super.c
fs/omfs/inode.c
fs/ubifs/super.c
fs/udf/super.c
fs/ufs/super.c
fs/xfs/linux-2.6/xfs_super.c
include/linux/parser.h
lib/parser.c
net/9p/client.c
net/9p/trans_fd.c
security/selinux/hooks.c

index 690ca7b0dcf68e5f96562efef97b092b4a5433c6..2c8b8091250f0804f52346ca31b2a27c7ecc6057 100644 (file)
@@ -659,7 +659,7 @@ enum {
        Opt_uid, Opt_gid, Opt_mode, Opt_debug, Opt_err,
 };
 
-static match_table_t spufs_tokens = {
+static const match_table_t spufs_tokens = {
        { Opt_uid,   "uid=%d" },
        { Opt_gid,   "gid=%d" },
        { Opt_mode,  "mode=%o" },
index 7383781f3e6a60ba3c632b1f0d3b26c7800c6ecf..36313801cd5cf29e49d5c2c4d9c4e7a9cd12c104 100644 (file)
@@ -219,7 +219,7 @@ static int hypfs_release(struct inode *inode, struct file *filp)
 
 enum { opt_uid, opt_gid, opt_err };
 
-static match_table_t hypfs_tokens = {
+static const match_table_t hypfs_tokens = {
        {opt_uid, "uid=%u"},
        {opt_gid, "gid=%u"},
        {opt_err, NULL}
index ed7c5f72cb8bc24cc02100a1e7847f88f9b9e5b7..5b8b533f29089a7ccd428abffa65136ae8cb30e0 100644 (file)
@@ -1683,7 +1683,7 @@ enum {
                                   SRP_OPT_SERVICE_ID),
 };
 
-static match_table_t srp_opt_tokens = {
+static const match_table_t srp_opt_tokens = {
        { SRP_OPT_ID_EXT,               "id_ext=%s"             },
        { SRP_OPT_IOC_GUID,             "ioc_guid=%s"           },
        { SRP_OPT_DGID,                 "dgid=%s"               },
index db410e92c80da6f9d489ce77fe3942e4b414fc64..77fa7a0808019f55033d05b03d94f8118a010a0f 100644 (file)
@@ -97,7 +97,7 @@ enum {
        Opt_err,
 };
 
-static match_table_t tokens = {
+static const match_table_t tokens = {
        {Opt_devuid, "devuid=%u"},
        {Opt_devgid, "devgid=%u"},
        {Opt_devmode, "devmode=%o"},
index 047c791427aa573069a39fb9060d53c59c9d8308..c061c3f18e7cbc47d427c03610e88f8d95d5cdf4 100644 (file)
@@ -55,7 +55,7 @@ enum {
        Opt_err
 };
 
-static match_table_t tokens = {
+static const match_table_t tokens = {
        {Opt_debug, "debug=%x"},
        {Opt_dfltuid, "dfltuid=%u"},
        {Opt_dfltgid, "dfltgid=%u"},
index 26f3b43726bb98d88f1bdfbd7de19579844300de..7f83a46f2b7e45502e7c761775f96498280a32e5 100644 (file)
@@ -157,7 +157,7 @@ static int adfs_show_options(struct seq_file *seq, struct vfsmount *mnt)
 
 enum {Opt_uid, Opt_gid, Opt_ownmask, Opt_othmask, Opt_err};
 
-static match_table_t tokens = {
+static const match_table_t tokens = {
        {Opt_uid, "uid=%u"},
        {Opt_gid, "gid=%u"},
        {Opt_ownmask, "ownmask=%o"},
index 3a89094f93d0f1c772526be731648e90b3e5f002..8989c93193ed227e84c786e629f1fd4f1e81ce4c 100644 (file)
@@ -135,7 +135,7 @@ enum {
        Opt_verbose, Opt_volume, Opt_ignore, Opt_err,
 };
 
-static match_table_t tokens = {
+static const match_table_t tokens = {
        {Opt_bs, "bs=%u"},
        {Opt_mode, "mode=%o"},
        {Opt_mufs, "mufs"},
index 250d8c4d66e40f765c383ed4531ead183112faad..aee239a048cbfad919a40bfd70fa8fcb37de26fb 100644 (file)
@@ -64,7 +64,7 @@ enum {
        afs_opt_vol,
 };
 
-static match_table_t afs_options_list = {
+static const match_table_t afs_options_list = {
        { afs_opt_cell,         "cell=%s"       },
        { afs_opt_rwpath,       "rwpath"        },
        { afs_opt_vol,          "vol=%s"        },
index dda510d31f840dbba96834619a668f723bc99e16..b70eea1e8c59c586b89ee13d72cf641e76cabee4 100644 (file)
@@ -59,7 +59,7 @@ static const struct super_operations autofs_sops = {
 
 enum {Opt_err, Opt_fd, Opt_uid, Opt_gid, Opt_pgrp, Opt_minproto, Opt_maxproto};
 
-static match_table_t autofs_tokens = {
+static const match_table_t autofs_tokens = {
        {Opt_fd, "fd=%u"},
        {Opt_uid, "uid=%u"},
        {Opt_gid, "gid=%u"},
index 7bb3e5ba0537e29e6b11f438619f4ccecb71dac0..45d55819203d5f00cc5d9150bc81d7bdd63ca38a 100644 (file)
@@ -213,7 +213,7 @@ static const struct super_operations autofs4_sops = {
 enum {Opt_err, Opt_fd, Opt_uid, Opt_gid, Opt_pgrp, Opt_minproto, Opt_maxproto,
        Opt_indirect, Opt_direct, Opt_offset};
 
-static match_table_t tokens = {
+static const match_table_t tokens = {
        {Opt_fd, "fd=%u"},
        {Opt_uid, "uid=%u"},
        {Opt_gid, "gid=%u"},
index 740f53672a8a6b305911248ce34dafa2cfaac744..9286b2af893a166768bcb43252ba8df7720f13e3 100644 (file)
@@ -650,7 +650,7 @@ enum {
        Opt_uid, Opt_gid, Opt_charset, Opt_debug, Opt_err,
 };
 
-static match_table_t befs_tokens = {
+static const match_table_t befs_tokens = {
        {Opt_uid, "uid=%d"},
        {Opt_gid, "gid=%d"},
        {Opt_charset, "iocharset=%s"},
index a70d5d0890c7311ba0a0b555f6c977b38eddaa4c..4a714f6c1bede9c62ad9dc22433f7fda3b3a0396 100644 (file)
@@ -49,7 +49,7 @@ enum {
        Opt_err
 };
 
-static match_table_t tokens = {
+static const match_table_t tokens = {
        {Opt_uid, "uid=%u"},
        {Opt_gid, "gid=%u"},
        {Opt_mode, "mode=%o"},
index 448dfd597b5f5d696a480bd33148873317598b84..8ebe9a5d1d993f1cacbcfa9ce62753f3f035b2e8 100644 (file)
@@ -211,7 +211,7 @@ enum { ecryptfs_opt_sig, ecryptfs_opt_ecryptfs_sig,
        ecryptfs_opt_passthrough, ecryptfs_opt_xattr_metadata,
        ecryptfs_opt_encrypted_view, ecryptfs_opt_err };
 
-static match_table_t tokens = {
+static const match_table_t tokens = {
        {ecryptfs_opt_sig, "sig=%s"},
        {ecryptfs_opt_ecryptfs_sig, "ecryptfs_sig=%s"},
        {ecryptfs_opt_cipher, "cipher=%s"},
index fd88c7b43e66b3c7e5eec0594a95eb455fdebae4..647cd888ac87c8933a168e3ff05ca6dbe201e786 100644 (file)
@@ -393,7 +393,7 @@ enum {
        Opt_usrquota, Opt_grpquota, Opt_reservation, Opt_noreservation
 };
 
-static match_table_t tokens = {
+static const match_table_t tokens = {
        {Opt_bsd_df, "bsddf"},
        {Opt_minix_df, "minixdf"},
        {Opt_grpid, "grpid"},
index f38a5afc39a160c15b5a9e518ba41dd8bd4da2af..399a96a6c5561666f61c7a8f7cae3a71dbc5b52f 100644 (file)
@@ -760,7 +760,7 @@ enum {
        Opt_grpquota
 };
 
-static match_table_t tokens = {
+static const match_table_t tokens = {
        {Opt_bsd_df, "bsddf"},
        {Opt_minix_df, "minixdf"},
        {Opt_grpid, "grpid"},
index fb940c22ab0da95960f3c5bb757d79ef5a6222a2..dea8f13c2fd98f3457c50faefd84be2c78399adf 100644 (file)
@@ -919,7 +919,7 @@ enum {
        Opt_inode_readahead_blks
 };
 
-static match_table_t tokens = {
+static const match_table_t tokens = {
        {Opt_bsd_df, "bsddf"},
        {Opt_minix_df, "minixdf"},
        {Opt_grpid, "grpid"},
index 80ff3381fa218950b7753db8ac907144f7579e4f..d12cdf2a0406695b43a85e8db5b7f0990d7d2c5a 100644 (file)
@@ -855,7 +855,7 @@ enum {
        Opt_obsolate, Opt_flush, Opt_tz_utc, Opt_err,
 };
 
-static match_table_t fat_tokens = {
+static const match_table_t fat_tokens = {
        {Opt_check_r, "check=relaxed"},
        {Opt_check_s, "check=strict"},
        {Opt_check_n, "check=normal"},
@@ -890,14 +890,14 @@ static match_table_t fat_tokens = {
        {Opt_tz_utc, "tz=UTC"},
        {Opt_err, NULL},
 };
-static match_table_t msdos_tokens = {
+static const match_table_t msdos_tokens = {
        {Opt_nodots, "nodots"},
        {Opt_nodots, "dotsOK=no"},
        {Opt_dots, "dots"},
        {Opt_dots, "dotsOK=yes"},
        {Opt_err, NULL}
 };
-static match_table_t vfat_tokens = {
+static const match_table_t vfat_tokens = {
        {Opt_charset, "iocharset=%s"},
        {Opt_shortname_lower, "shortname=lower"},
        {Opt_shortname_win95, "shortname=win95"},
index d2249f174e207b109e30eaea1701591d0db4631d..6a84388cacff6f3e0cf5a5d9e307bad71610d5df 100644 (file)
@@ -354,7 +354,7 @@ enum {
        OPT_ERR
 };
 
-static match_table_t tokens = {
+static const match_table_t tokens = {
        {OPT_FD,                        "fd=%u"},
        {OPT_ROOTMODE,                  "rootmode=%o"},
        {OPT_USER_ID,                   "user_id=%u"},
index df48333e6f010596b49aa1bba963ae0856213e3d..f96eb90a2cfa1a58d7a16215e8833e38a6e6fff3 100644 (file)
@@ -46,7 +46,7 @@ enum {
        Opt_err,
 };
 
-static match_table_t tokens = {
+static const match_table_t tokens = {
        {Opt_lockproto, "lockproto=%s"},
        {Opt_locktable, "locktable=%s"},
        {Opt_hostdata, "hostdata=%s"},
index 4abb1047c68992806125c1ad003e91a9f0cdbd41..3c7c7637719cfd6e83531402e0759f38c794e3a6 100644 (file)
@@ -173,7 +173,7 @@ enum {
        opt_err
 };
 
-static match_table_t tokens = {
+static const match_table_t tokens = {
        { opt_uid, "uid=%u" },
        { opt_gid, "gid=%u" },
        { opt_umask, "umask=%o" },
index 9997cbf8beb50ece6abfa28dc18f3223037eab01..9699c56d323f1d35a60f2beac0b31059a5207bac 100644 (file)
@@ -25,7 +25,7 @@ enum {
        opt_force, opt_err
 };
 
-static match_table_t tokens = {
+static const match_table_t tokens = {
        { opt_creator, "creator=%s" },
        { opt_type, "type=%s" },
        { opt_umask, "umask=%o" },
index b8ae9c90ada0e9a7c9fbd9a93a6d5ddb8d8eb276..29ad461d568f7f4b4241e3e0c4d2239bbe30a277 100644 (file)
@@ -215,7 +215,7 @@ enum {
        Opt_timeshift, Opt_err,
 };
 
-static match_table_t tokens = {
+static const match_table_t tokens = {
        {Opt_help, "help"},
        {Opt_uid, "uid=%u"},
        {Opt_gid, "gid=%u"},
index 3f58923fb39bc11c284980c3e53a6d70de3d9a0d..61edc701b0e62eed87d702373e2c9a36d4b23581 100644 (file)
@@ -57,7 +57,7 @@ enum {
        Opt_err,
 };
 
-static match_table_t tokens = {
+static const match_table_t tokens = {
        {Opt_size,      "size=%s"},
        {Opt_nr_inodes, "nr_inodes=%s"},
        {Opt_mode,      "mode=%o"},
index 26948a6033b69a71d82ba0b281c5efd7aa7dcec4..3f8af0f1505b8d65bab47437a9fe707cfd8be4b1 100644 (file)
@@ -310,7 +310,7 @@ enum {
        Opt_nocompress, Opt_hide, Opt_showassoc, Opt_dmode,
 };
 
-static match_table_t tokens = {
+static const match_table_t tokens = {
        {Opt_norock, "norock"},
        {Opt_nojoliet, "nojoliet"},
        {Opt_unhide, "unhide"},
index 3630718be395deaada9cfe0c28d11a877fcc31e7..0dae345e481b4b3ff235691a19ca9384cdddb0d1 100644 (file)
@@ -199,7 +199,7 @@ enum {
        Opt_usrquota, Opt_grpquota, Opt_uid, Opt_gid, Opt_umask
 };
 
-static match_table_t tokens = {
+static const match_table_t tokens = {
        {Opt_integrity, "integrity"},
        {Opt_nointegrity, "nointegrity"},
        {Opt_iocharset, "iocharset=%s"},
index 46763d1cd3976bca27f4d5dca5d3dd9e36d3453b..8478fc25daee196383f3e40a34999795be41585e 100644 (file)
@@ -127,7 +127,7 @@ enum {
        Opt_err
 };
 
-static match_table_t __initdata tokens = {
+static match_table_t __initconst tokens = {
        {Opt_port, "port=%u"},
        {Opt_rsize, "rsize=%u"},
        {Opt_wsize, "wsize=%u"},
index e9b20173fef33835e9d87be1a9b67e718b8dfe0a..ffb697416cb175aa19252d4e0ac0f48806d8733f 100644 (file)
@@ -98,7 +98,7 @@ enum {
        Opt_err
 };
 
-static match_table_t nfs_mount_option_tokens = {
+static const match_table_t nfs_mount_option_tokens = {
        { Opt_userspace, "bg" },
        { Opt_userspace, "fg" },
        { Opt_userspace, "retry=%s" },
@@ -163,7 +163,7 @@ enum {
        Opt_xprt_err
 };
 
-static match_table_t nfs_xprt_protocol_tokens = {
+static const match_table_t nfs_xprt_protocol_tokens = {
        { Opt_xprt_udp, "udp" },
        { Opt_xprt_tcp, "tcp" },
        { Opt_xprt_rdma, "rdma" },
@@ -180,7 +180,7 @@ enum {
        Opt_sec_err
 };
 
-static match_table_t nfs_secflavor_tokens = {
+static const match_table_t nfs_secflavor_tokens = {
        { Opt_sec_none, "none" },
        { Opt_sec_none, "null" },
        { Opt_sec_sys, "sys" },
index 88255d3f52b40ba39a847a0bd1976f98e94ab5e7..70334d85aff1348647fbf079eb4f439cd2c505d2 100644 (file)
@@ -157,7 +157,7 @@ enum {
        Opt_err,
 };
 
-static match_table_t tokens = {
+static const match_table_t tokens = {
        {Opt_barrier, "barrier=%u"},
        {Opt_err_panic, "errors=panic"},
        {Opt_err_ro, "errors=remount-ro"},
index d29047b1b9b065a68c6ee7792d8007821736b852..cbf047a847c5e3d6c3558d16cce217b475e9163c 100644 (file)
@@ -346,7 +346,7 @@ enum {
        Opt_uid, Opt_gid, Opt_umask, Opt_dmask, Opt_fmask
 };
 
-static match_table_t tokens = {
+static const match_table_t tokens = {
        {Opt_uid, "uid=%u"},
        {Opt_gid, "gid=%u"},
        {Opt_umask, "umask=%o"},
index 3f4902060c7a10aba197a73c07491b7aca4cc84e..9a9220333b3be51399e4fe2c28cb9a60840842fb 100644 (file)
@@ -848,7 +848,7 @@ enum {
        Opt_err,
 };
 
-static match_table_t tokens = {
+static const match_table_t tokens = {
        {Opt_fast_unmount, "fast_unmount"},
        {Opt_norm_unmount, "norm_unmount"},
        {Opt_err, NULL},
index 5698bbf83bbff90565ad75e46e04d037c457135d..e25e7010627b887bee05a004d55642888a00a291 100644 (file)
@@ -369,7 +369,7 @@ enum {
        Opt_err, Opt_uforget, Opt_uignore, Opt_gforget, Opt_gignore
 };
 
-static match_table_t tokens = {
+static const match_table_t tokens = {
        {Opt_novrs,     "novrs"},
        {Opt_nostrict,  "nostrict"},
        {Opt_bs,        "bs=%u"},
index 3141969b456daa5223b5999607958c0b3b33557c..e65212dfb60e06259c5f8737fa1b51db79cbec43 100644 (file)
@@ -309,7 +309,7 @@ enum {
        Opt_err
 };
 
-static match_table_t tokens = {
+static const match_table_t tokens = {
        {Opt_type_old, "ufstype=old"},
        {Opt_type_sunx86, "ufstype=sunx86"},
        {Opt_type_sun, "ufstype=sun"},
@@ -1233,7 +1233,7 @@ static int ufs_show_options(struct seq_file *seq, struct vfsmount *vfs)
 {
        struct ufs_sb_info *sbi = UFS_SB(vfs->mnt_sb);
        unsigned mval = sbi->s_mount_opt & UFS_MOUNT_UFSTYPE;
-       struct match_token *tp = tokens;
+       const struct match_token *tp = tokens;
 
        while (tp->token != Opt_onerror_panic && tp->token != mval)
                ++tp;
index 18d3c848783511da1848ed56800a47b533be5b3d..7227b2efef22ec5c0417b08a7464456c06647400 100644 (file)
@@ -158,7 +158,7 @@ enum {
        Opt_barrier, Opt_nobarrier, Opt_err
 };
 
-static match_table_t tokens = {
+static const match_table_t tokens = {
        {Opt_barrier, "barrier"},
        {Opt_nobarrier, "nobarrier"},
        {Opt_err, NULL}
index 7dcd050757567eb94265fb12b29d6f79e5cbcb3f..ea2281e726f65f5f2968eb571adc874843530959 100644 (file)
@@ -25,7 +25,7 @@ typedef struct {
        char *to;
 } substring_t;
 
-int match_token(char *, match_table_t table, substring_t args[]);
+int match_token(char *, const match_table_t table, substring_t args[]);
 int match_int(substring_t *, int *result);
 int match_octal(substring_t *, int *result);
 int match_hex(substring_t *, int *result);
index 4f0cbc03e0e86844840c28b08a279394215b4e31..b00d02059a5f8acc3a58a6290251aa487f2cca2e 100644 (file)
@@ -100,7 +100,7 @@ static int match_one(char *s, const char *p, substring_t args[])
  * format identifiers which will be taken into account when matching the
  * tokens, and whose locations will be returned in the @args array.
  */
-int match_token(char *s, match_table_t table, substring_t args[])
+int match_token(char *s, const match_table_t table, substring_t args[])
 {
        const struct match_token *p;
 
index 10e320307ec015dad7e2a7db8b753f4a1886f645..e053e06028a551fc38c43b438c49d6870767d408 100644 (file)
@@ -52,7 +52,7 @@ enum {
        Opt_err,
 };
 
-static match_table_t tokens = {
+static const match_table_t tokens = {
        {Opt_msize, "msize=%u"},
        {Opt_legacy, "noextend"},
        {Opt_trans, "trans=%s"},
index d652baf5ff919c422664ed8890996d9f71beadc1..6dabbdb666510fcfc570a67e3f24cf598429e080 100644 (file)
@@ -86,7 +86,7 @@ enum {
        Opt_port, Opt_rfdno, Opt_wfdno, Opt_err,
 };
 
-static match_table_t tokens = {
+static const match_table_t tokens = {
        {Opt_port, "port=%u"},
        {Opt_rfdno, "rfdno=%u"},
        {Opt_wfdno, "wfdno=%u"},
index 88f19536efadd7980c8a13970976d47ee487d0bd..576e511990794eacfad7ad525722c4fa077ae852 100644 (file)
@@ -325,7 +325,7 @@ enum {
        Opt_rootcontext = 4,
 };
 
-static match_table_t tokens = {
+static const match_table_t tokens = {
        {Opt_context, CONTEXT_STR "%s"},
        {Opt_fscontext, FSCONTEXT_STR "%s"},
        {Opt_defcontext, DEFCONTEXT_STR "%s"},