+++ /dev/null
-diff --git a/include/configs/mx53_loco.h b/include/configs/mx53_loco.h
-index 0f57f78..e8a6414 100644
---- a/include/configs/mx53_loco.h
-+++ b/include/configs/mx53_loco.h
-@@ -114,22 +114,30 @@
- #define CONFIG_RD_LOADADDR (CONFIG_LOADADDR + 0x300000)
-
- #define CONFIG_EXTRA_ENV_SETTINGS \
-- "netdev=eth0\0" \
-- "ethprime=FEC0\0" \
-- "uboot=u-boot.bin\0" \
-- "kernel=uImage\0" \
-- "nfsroot=/opt/eldk/arm\0" \
-- "bootargs_base=setenv bootargs console=ttymxc0,115200\0"\
-- "bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs "\
-- "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0"\
-- "bootcmd_net=run bootargs_base bootargs_nfs; " \
-- "tftpboot ${loadaddr} ${kernel}; bootm\0" \
-- "bootargs_mmc=setenv bootargs ${bootargs} ip=dhcp " \
-- "root=/dev/mmcblk0p1 rootwait rw\0" \
-- "bootcmd_mmc=run bootargs_base bootargs_mmc; " \
-- "mmc dev 0; " \
-- "mmc read ${loadaddr} 0x800 0x1800; bootm\0" \
-- "bootcmd=run bootcmd_mmc\0" \
-+ "script=boot.scr\0" \
-+ "uimage=uImage\0" \
-+ "mmcdev=0\0" \
-+ "mmcpart=1\0" \
-+ "mmcroot=/dev/mmcblk0p2 rw\0" \
-+ "mmcrootfstype=ext3 rootwait\0" \
-+ "mmcargs=setenv bootargs console=ttymxc0,${baudrate} " \
-+ "root=${mmcroot} " \
-+ "rootfstype=${mmcrootfstype}\0" \
-+ "loadbootscript=" \
-+ "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
-+ "bootscript=echo Running bootscript from mmc ...; " \
-+ "source\0" \
-+ "loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
-+ "mmcboot=echo Booting from mmc ...; " \
-+ "run mmcargs; " \
-+ "bootm\0" \
-+ "netargs=setenv bootargs console=ttymxc0,${baudrate} " \
-+ "root=/dev/nfs " \
-+ "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
-+ "netboot=echo Booting from net ...; " \
-+ "run netargs; " \
-+ "dhcp ${uimage}; bootm\0" \
-+ "bootcmd=run loaduimage; run mmcboot;\0" \
- \
-
-
+++ /dev/null
-From 7ae3e4c665bd27111ee8ae2b801251b1d32f44cc Mon Sep 17 00:00:00 2001
-From: Daiane Angolini <daiane.angolini@freescale.com>
-Date: Wed, 20 Mar 2013 03:57:54 -0500
-Subject: [PATCH] mx6dl_sabresd: Change default environment to work with OE
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Daiane Angolini <daiane.angolini@freescale.com>
----
- include/configs/mx6dl_sabresd.h | 41 ++++++++++++++++++++++----------------
- 1 files changed, 24 insertions(+), 17 deletions(-)
-
-diff --git a/include/configs/mx6dl_sabresd.h b/include/configs/mx6dl_sabresd.h
-index a496453..6499d25 100644
---- a/include/configs/mx6dl_sabresd.h
-+++ b/include/configs/mx6dl_sabresd.h
-@@ -121,23 +121,30 @@
- #define CONFIG_RD_LOADADDR (CONFIG_LOADADDR + 0x300000)
-
- #define CONFIG_EXTRA_ENV_SETTINGS \
-- "netdev=eth0\0" \
-- "ethprime=FEC0\0" \
-- "uboot=u-boot.bin\0" \
-- "kernel=uImage\0" \
-- "nfsroot=/opt/eldk/arm\0" \
-- "bootargs_base=setenv bootargs console=ttymxc0,115200\0"\
-- "bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs "\
-- "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0"\
-- "bootcmd_net=run bootargs_base bootargs_nfs; " \
-- "tftpboot ${loadaddr} ${kernel}; bootm\0" \
-- "bootargs_mmc=setenv bootargs ${bootargs} ip=dhcp " \
-- "root=/dev/mmcblk0p1 rootwait\0" \
-- "bootcmd_mmc=run bootargs_base bootargs_mmc; " \
-- "mmc dev 3; " \
-- "mmc read ${loadaddr} 0x800 0x2000; bootm\0" \
-- "bootcmd=run bootcmd_net\0" \
--
-+ "script=boot.scr\0" \
-+ "uimage=uImage\0" \
-+ "mmcdev=2\0" \
-+ "mmcpart=1\0" \
-+ "mmcroot=/dev/mmcblk1p2 rw\0" \
-+ "mmcrootfstype=ext3 rootwait\0" \
-+ "mmcargs=setenv bootargs console=ttymxc0,${baudrate} " \
-+ "root=${mmcroot} " \
-+ "rootfstype=${mmcrootfstype}\0" \
-+ "loadbootscript=" \
-+ "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
-+ "bootscript=echo Running bootscript from mmc ...; " \
-+ "source\0" \
-+ "loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
-+ "mmcboot=echo Booting from mmc ...; " \
-+ "run mmcargs; " \
-+ "bootm\0" \
-+ "netargs=setenv bootargs console=ttymxc0,${baudrate} " \
-+ "root=/dev/nfs " \
-+ "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
-+ "netboot=echo Booting from net ...; " \
-+ "run netargs; " \
-+ "dhcp ${uimage}; bootm\0" \
-+ "bootcmd=run loaduimage; run mmcboot;\0" \
-
- #define CONFIG_ARP_TIMEOUT 200UL
-
---
-1.7.5.4
-
+++ /dev/null
-From a81c7686f8c0c4fc6e88228f215092c00d4714c1 Mon Sep 17 00:00:00 2001
-From: Daiane Angolini <daiane.angolini@freescale.com>
-Date: Tue, 30 Oct 2012 07:47:59 -0500
-Subject: [PATCH] mx6q_sabreauto: Fix the patch for the default environment
- variable
-
-Signed-off-by: Daiane Angolini <daiane.angolini@freescale.com>
----
- include/configs/mx6q_sabreauto.h | 41 ++++++++++++++++++++++---------------
- 1 files changed, 24 insertions(+), 17 deletions(-)
-
-diff --git a/include/configs/mx6q_sabreauto.h b/include/configs/mx6q_sabreauto.h
-index 5f8f02c..5910eca 100644
---- a/include/configs/mx6q_sabreauto.h
-+++ b/include/configs/mx6q_sabreauto.h
-@@ -121,23 +121,30 @@
- #define CONFIG_RD_LOADADDR (CONFIG_LOADADDR + 0x300000)
-
- #define CONFIG_EXTRA_ENV_SETTINGS \
-- "netdev=eth0\0" \
-- "ethprime=FEC0\0" \
-- "uboot=u-boot.bin\0" \
-- "kernel=uImage\0" \
-- "nfsroot=/opt/eldk/arm\0" \
-- "bootargs_base=setenv bootargs console=ttymxc3,115200\0"\
-- "bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs "\
-- "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0"\
-- "bootcmd_net=run bootargs_base bootargs_nfs; " \
-- "tftpboot ${loadaddr} ${kernel}; bootm\0" \
-- "bootargs_mmc=setenv bootargs ${bootargs} " \
-- "root=/dev/mmcblk0p1 rootwait\0" \
-- "bootcmd_mmc=run bootargs_base bootargs_mmc; " \
-- "mmc dev 2; " \
-- "mmc read ${loadaddr} 0x800 0x2000; bootm\0" \
-- "bootcmd=run bootcmd_mmc\0" \
--
-+ "script=boot.scr\0" \
-+ "uimage=uImage\0" \
-+ "mmcdev=2\0" \
-+ "mmcpart=1\0" \
-+ "mmcroot=/dev/mmcblk0p2 rw\0" \
-+ "mmcrootfstype=ext3 rootwait\0" \
-+ "mmcargs=setenv bootargs console=ttymxc3,${baudrate} " \
-+ "root=${mmcroot} " \
-+ "rootfstype=${mmcrootfstype}\0" \
-+ "loadbootscript=" \
-+ "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
-+ "bootscript=echo Running bootscript from mmc ...; " \
-+ "source\0" \
-+ "loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
-+ "mmcboot=echo Booting from mmc ...; " \
-+ "run mmcargs; " \
-+ "bootm\0" \
-+ "netargs=setenv bootargs console=ttymxc3,${baudrate} " \
-+ "root=/dev/nfs " \
-+ "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
-+ "netboot=echo Booting from net ...; " \
-+ "run netargs; " \
-+ "dhcp ${uimage}; bootm\0" \
-+ "bootcmd=run loaduimage; run mmcboot;\0" \
-
- #define CONFIG_ARP_TIMEOUT 200UL
-
---
-1.7.5.4
-
+++ /dev/null
-From 970f04b228a60c805cce41ef8403ba2c8cb56d97 Mon Sep 17 00:00:00 2001
-From: Otavio Salvador <otavio@ossystems.com.br>
-Date: Wed, 13 Feb 2013 15:15:28 -0200
-Subject: [PATCH] mx6q_sabresd: Change default environment to work with OE
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
----
- include/configs/mx6q_sabresd.h | 40 ++++++++++++++++++++++++----------------
- 1 file changed, 24 insertions(+), 16 deletions(-)
-
-diff --git a/include/configs/mx6q_sabresd.h b/include/configs/mx6q_sabresd.h
-index 6f07961..db31a34 100644
---- a/include/configs/mx6q_sabresd.h
-+++ b/include/configs/mx6q_sabresd.h
-@@ -116,22 +116,30 @@
- #define CONFIG_RD_LOADADDR (0x1300000)
-
- #define CONFIG_EXTRA_ENV_SETTINGS \
-- "netdev=eth0\0" \
-- "ethprime=FEC0\0" \
-- "uboot=u-boot.bin\0" \
-- "kernel=uImage\0" \
-- "nfsroot=/opt/eldk/arm\0" \
-- "bootargs_base=setenv bootargs console=ttymxc0,115200\0"\
-- "bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs "\
-- "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0"\
-- "bootcmd_net=run bootargs_base bootargs_nfs; " \
-- "tftpboot ${loadaddr} ${kernel}; bootm\0" \
-- "bootargs_mmc=setenv bootargs ${bootargs} ip=dhcp " \
-- "root=/dev/mmcblk0p1 rootwait\0" \
-- "bootcmd_mmc=run bootargs_base bootargs_mmc; " \
-- "mmc dev 3; " \
-- "mmc read ${loadaddr} 0x800 0x2000; bootm\0" \
-- "bootcmd=run bootcmd_net\0" \
-+ "script=boot.scr\0" \
-+ "uimage=uImage\0" \
-+ "mmcdev=2\0" \
-+ "mmcpart=1\0" \
-+ "mmcroot=/dev/mmcblk0p2 rw\0" \
-+ "mmcrootfstype=ext3 rootwait\0" \
-+ "mmcargs=setenv bootargs console=ttymxc3,${baudrate} " \
-+ "root=${mmcroot} " \
-+ "rootfstype=${mmcrootfstype}\0" \
-+ "loadbootscript=" \
-+ "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
-+ "bootscript=echo Running bootscript from mmc ...; " \
-+ "source\0" \
-+ "loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
-+ "mmcboot=echo Booting from mmc ...; " \
-+ "run mmcargs; " \
-+ "bootm\0" \
-+ "netargs=setenv bootargs console=ttymxc3,${baudrate} " \
-+ "root=/dev/nfs " \
-+ "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
-+ "netboot=echo Booting from net ...; " \
-+ "run netargs; " \
-+ "dhcp ${uimage}; bootm\0" \
-+ "bootcmd=run loaduimage; run mmcboot;\0" \
-
-
- #define CONFIG_ARP_TIMEOUT 200UL
---
-1.8.1
-
+++ /dev/null
-From bf99fdddbca321f7e74ed82febbe4b5539e3ac66 Mon Sep 17 00:00:00 2001
-From: Daiane Angolini <daiane.angolini@freescale.com>
-Date: Thu, 14 Mar 2013 16:35:35 -0300
-Subject: [PATCH] mx6sl_evk: Change the patch for the default environment
- variable
-
-Upstream-Status: Pending
-
-Signed-off-by: Daiane Angolini <daiane.angolini@freescale.com>
----
- include/configs/mx6sl_evk.h | 40 ++++++++++++++++++++++++----------------
- 1 file changed, 24 insertions(+), 16 deletions(-)
-
-diff --git a/include/configs/mx6sl_evk.h b/include/configs/mx6sl_evk.h
-index 4c327bc..dfb6374 100644
---- a/include/configs/mx6sl_evk.h
-+++ b/include/configs/mx6sl_evk.h
-@@ -122,22 +122,30 @@
- #define CONFIG_RD_LOADADDR 0x81000000
-
- #define CONFIG_EXTRA_ENV_SETTINGS \
-- "netdev=eth0\0" \
-- "ethprime=FEC0\0" \
-- "uboot=u-boot.bin\0" \
-- "kernel=uImage\0" \
-- "nfsroot=/opt/eldk/arm\0" \
-- "bootargs_base=setenv bootargs console=ttymxc0,115200\0"\
-- "bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs "\
-- "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0"\
-- "bootcmd_net=run bootargs_base bootargs_nfs; " \
-- "tftpboot ${loadaddr} ${kernel}; bootm\0" \
-- "bootargs_mmc=setenv bootargs ${bootargs} " \
-- "root=/dev/mmcblk0p1 rootwait\0" \
-- "bootcmd_mmc=run bootargs_base bootargs_mmc; " \
-- "mmc dev 1; " \
-- "mmc read ${loadaddr} 0x800 0x2000; bootm\0" \
-- "bootcmd=run bootcmd_mmc\0" \
-+ "script=boot.scr\0" \
-+ "uimage=uImage\0" \
-+ "mmcdev=1\0" \
-+ "mmcpart=1\0" \
-+ "mmcroot=/dev/mmcblk0p2 rw\0" \
-+ "mmcrootfstype=ext3 rootwait\0" \
-+ "mmcargs=setenv bootargs console=ttymxc0,${baudrate} " \
-+ "root=${mmcroot} " \
-+ "rootfstype=${mmcrootfstype}\0" \
-+ "loadbootscript=" \
-+ "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
-+ "bootscript=echo Running bootscript from mmc ...; " \
-+ "source\0" \
-+ "loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
-+ "mmcboot=echo Booting from mmc ...; " \
-+ "run mmcargs; " \
-+ "bootm\0" \
-+ "netargs=setenv bootargs console=ttymxc0,${baudrate} " \
-+ "root=/dev/nfs " \
-+ "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
-+ "netboot=echo Booting from net ...; " \
-+ "run netargs; " \
-+ "dhcp ${uimage}; bootm\0" \
-+ "bootcmd=run loaduimage; run mmcboot;\0" \
-
-
- #define CONFIG_ARP_TIMEOUT 200UL
---
-1.7.10.4
-
+++ /dev/null
-From 4a6353dad68074bb7ae08817cd7beb5cd13f2359 Mon Sep 17 00:00:00 2001
-From: Otavio Salvador <otavio@ossystems.com.br>
-Date: Mon, 18 Jun 2012 12:02:56 -0300
-Subject: [PATCH] NFS: Fix nfsroot support
-
-The NFS support to use alternative ports breaks building of regular
-NFS root support as the API has been change in an incompatible way.
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
----
- fs/nfs/nfsroot.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/fs/nfs/nfsroot.c b/fs/nfs/nfsroot.c
-index df101d9..e1578e1 100644
---- a/fs/nfs/nfsroot.c
-+++ b/fs/nfs/nfsroot.c
-@@ -506,7 +506,7 @@ static int __init root_nfs_get_handle(void)
- if (!request.fh)
- goto out;
- set_sockaddr(&sin, servaddr, htons(mount_port));
-- status = nfs_mount(&request);
-+ status = nfs_mount(&request, NFS_MNT_PROGRAM);
- if (status < 0)
- printk(KERN_ERR "Root-NFS: Server returned error %d "
- "while mounting %s\n", status, nfs_export_path);
---
-1.7.10
-
+++ /dev/null
-From e85103e27b7591337d3240cf0ab2670d0ab73d52 Mon Sep 17 00:00:00 2001
-From: Jason Wessel <jason.wessel@windriver.com>
-Date: Wed, 7 Jan 2009 00:59:33 -0500
-Subject: [PATCH] NFS: allow nfs root mount to use alternate rpc ports
-
-Allow an nfs root mount to use alternate RPC ports for mountd and nfsd.
-
-Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
-[forward port to 2.6.33+]
-Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
----
- fs/nfs/client.c | 10 ++++++++++
- fs/nfs/internal.h | 4 +++-
- fs/nfs/mount_clnt.c | 3 ++-
- fs/nfs/super.c | 33 ++++++++++++++++++++++++++++++++-
- include/linux/nfs_fs_sb.h | 1 +
- include/linux/nfs_mount.h | 4 +++-
- 6 files changed, 51 insertions(+), 4 deletions(-)
-
-diff --git a/fs/nfs/client.c b/fs/nfs/client.c
-index d25b525..b706c02 100644
---- a/fs/nfs/client.c
-+++ b/fs/nfs/client.c
-@@ -105,6 +105,7 @@ struct nfs_client_initdata {
- const struct nfs_rpc_ops *rpc_ops;
- int proto;
- u32 minorversion;
-+ int nfs_prog;
- };
-
- /*
-@@ -123,6 +124,7 @@ static struct nfs_client *nfs_alloc_client(const struct nfs_client_initdata *cl_
- goto error_0;
-
- clp->rpc_ops = cl_init->rpc_ops;
-+ clp->nfs_prog = cl_init->nfs_prog;
-
- atomic_set(&clp->cl_count, 1);
- clp->cl_cons_state = NFS_CS_INITING;
-@@ -448,6 +450,9 @@ static struct nfs_client *nfs_match_client(const struct nfs_client_initdata *dat
- /* Match nfsv4 minorversion */
- if (clp->cl_minorversion != data->minorversion)
- continue;
-+ if (clp->nfs_prog != data->nfs_prog)
-+ continue;
-+
- /* Match the full socket address */
- if (!nfs_sockaddr_cmp(sap, clap))
- continue;
-@@ -618,6 +623,10 @@ static int nfs_create_rpc_client(struct nfs_client *clp,
- if (!IS_ERR(clp->cl_rpcclient))
- return 0;
-
-+ if (clp->nfs_prog)
-+ nfs_program.number = clp->nfs_prog;
-+ else
-+ nfs_program.number = NFS_PROGRAM;
- clnt = rpc_create(&args);
- if (IS_ERR(clnt)) {
- dprintk("%s: cannot create RPC client. Error = %ld\n",
-@@ -786,6 +795,7 @@ static int nfs_init_server(struct nfs_server *server,
- .addrlen = data->nfs_server.addrlen,
- .rpc_ops = &nfs_v2_clientops,
- .proto = data->nfs_server.protocol,
-+ .nfs_prog = data->nfs_prog,
- };
- struct rpc_timeout timeparms;
- struct nfs_client *clp;
-diff --git a/fs/nfs/internal.h b/fs/nfs/internal.h
-index e70f44b..3e2649f 100644
---- a/fs/nfs/internal.h
-+++ b/fs/nfs/internal.h
-@@ -71,6 +71,8 @@ struct nfs_parsed_mount_data {
- int timeo, retrans;
- int acregmin, acregmax,
- acdirmin, acdirmax;
-+ int nfs_prog;
-+ int mount_prog;
- int namlen;
- unsigned int options;
- unsigned int bsize;
-@@ -116,7 +118,7 @@ struct nfs_mount_request {
- rpc_authflavor_t *auth_flavs;
- };
-
--extern int nfs_mount(struct nfs_mount_request *info);
-+extern int nfs_mount(struct nfs_mount_request *info, int prog);
- extern void nfs_umount(const struct nfs_mount_request *info);
-
- /* client.c */
-diff --git a/fs/nfs/mount_clnt.c b/fs/nfs/mount_clnt.c
-index 59047f8..0a2bd63 100644
---- a/fs/nfs/mount_clnt.c
-+++ b/fs/nfs/mount_clnt.c
-@@ -141,7 +141,7 @@ struct mnt_fhstatus {
- *
- * Uses default timeout parameters specified by underlying transport.
- */
--int nfs_mount(struct nfs_mount_request *info)
-+int nfs_mount(struct nfs_mount_request *info, int m_prog)
- {
- struct mountres result = {
- .fh = info->fh,
-@@ -171,6 +171,7 @@ int nfs_mount(struct nfs_mount_request *info)
- if (info->noresvport)
- args.flags |= RPC_CLNT_CREATE_NONPRIVPORT;
-
-+ mnt_program.number = m_prog;
- mnt_clnt = rpc_create(&args);
- if (IS_ERR(mnt_clnt))
- goto out_clnt_err;
-diff --git a/fs/nfs/super.c b/fs/nfs/super.c
-index f9df16d..0b3bbf8 100644
---- a/fs/nfs/super.c
-+++ b/fs/nfs/super.c
-@@ -94,6 +94,8 @@ enum {
- Opt_mountvers,
- Opt_nfsvers,
- Opt_minorversion,
-+ Opt_mountprog,
-+ Opt_nfsprog,
-
- /* Mount options that take string arguments */
- Opt_sec, Opt_proto, Opt_mountproto, Opt_mounthost,
-@@ -160,6 +162,8 @@ static const match_table_t nfs_mount_option_tokens = {
- { Opt_nfsvers, "nfsvers=%s" },
- { Opt_nfsvers, "vers=%s" },
- { Opt_minorversion, "minorversion=%s" },
-+ { Opt_mountprog, "mountprog=%s" },
-+ { Opt_nfsprog, "nfsprog=%s" },
-
- { Opt_sec, "sec=%s" },
- { Opt_proto, "proto=%s" },
-@@ -787,6 +791,8 @@ static struct nfs_parsed_mount_data *nfs_alloc_parsed_mount_data(unsigned int ve
- data->acregmax = NFS_DEF_ACREGMAX;
- data->acdirmin = NFS_DEF_ACDIRMIN;
- data->acdirmax = NFS_DEF_ACDIRMAX;
-+ data->nfs_prog = NFS_PROGRAM;
-+ data->mount_prog = NFS_MNT_PROGRAM;
- data->mount_server.port = NFS_UNSPEC_PORT;
- data->nfs_server.port = NFS_UNSPEC_PORT;
- data->nfs_server.protocol = XPRT_TRANSPORT_TCP;
-@@ -1168,6 +1174,26 @@ static int nfs_parse_mount_options(char *raw,
- goto out_invalid_value;
- mnt->acdirmax = option;
- break;
-+ case Opt_mountprog:
-+ string = match_strdup(args);
-+ if (string == NULL)
-+ goto out_nomem;
-+ rc = strict_strtoul(string, 10, &option);
-+ kfree(string);
-+ if (rc != 0)
-+ goto out_invalid_value;
-+ mnt->mount_prog = option;
-+ break;
-+ case Opt_nfsprog:
-+ string = match_strdup(args);
-+ if (string == NULL)
-+ goto out_nomem;
-+ rc = strict_strtoul(string, 10, &option);
-+ kfree(string);
-+ if (rc != 0)
-+ goto out_invalid_value;
-+ mnt->nfs_prog = option;
-+ break;
- case Opt_actimeo:
- string = match_strdup(args);
- if (string == NULL)
-@@ -1566,7 +1592,7 @@ static int nfs_try_mount(struct nfs_parsed_mount_data *args,
- * Now ask the mount server to map our export path
- * to a file handle.
- */
-- status = nfs_mount(&request);
-+ status = nfs_mount(&request,args->mount_prog);
- if (status != 0) {
- dfprintk(MOUNT, "NFS: unable to mount server %s, error %d\n",
- request.hostname, status);
-@@ -1739,6 +1765,7 @@ static int nfs_validate_mount_data(void *options,
- {
- struct nfs_mount_data *data = (struct nfs_mount_data *)options;
- struct sockaddr *sap = (struct sockaddr *)&args->nfs_server.address;
-+ args->nfs_prog = NFS_PROGRAM;
-
- if (data == NULL)
- goto out_no_data;
-@@ -1758,6 +1785,8 @@ static int nfs_validate_mount_data(void *options,
- goto out_no_sec;
- case 5:
- memset(data->context, 0, sizeof(data->context));
-+ case 7:
-+ args->nfs_prog = (data->version >= 7) ? data->nfs_prog : NFS_PROGRAM;
- case 6:
- if (data->flags & NFS_MOUNT_VER3) {
- if (data->root.size > NFS3_FHSIZE || data->root.size == 0)
-@@ -2476,6 +2505,8 @@ static int nfs4_validate_mount_data(void *options,
- if (data == NULL)
- goto out_no_data;
-
-+ args->nfs_prog = NFS_PROGRAM;
-+
- switch (data->version) {
- case 1:
- if (data->host_addrlen > sizeof(args->nfs_server.address))
-diff --git a/include/linux/nfs_fs_sb.h b/include/linux/nfs_fs_sb.h
-index d6e10a4..585cba4 100644
---- a/include/linux/nfs_fs_sb.h
-+++ b/include/linux/nfs_fs_sb.h
-@@ -41,6 +41,7 @@ struct nfs_client {
-
- u32 cl_minorversion;/* NFSv4 minorversion */
- struct rpc_cred *cl_machine_cred;
-+ int nfs_prog;
-
- #ifdef CONFIG_NFS_V4
- u64 cl_clientid; /* constant */
-diff --git a/include/linux/nfs_mount.h b/include/linux/nfs_mount.h
-index 4499016..86beb0c 100644
---- a/include/linux/nfs_mount.h
-+++ b/include/linux/nfs_mount.h
-@@ -20,7 +20,7 @@
- * mount-to-kernel version compatibility. Some of these aren't used yet
- * but here they are anyway.
- */
--#define NFS_MOUNT_VERSION 6
-+#define NFS_MOUNT_VERSION 7
- #define NFS_MAX_CONTEXT_LEN 256
-
- struct nfs_mount_data {
-@@ -43,6 +43,8 @@ struct nfs_mount_data {
- struct nfs3_fh root; /* 4 */
- int pseudoflavor; /* 5 */
- char context[NFS_MAX_CONTEXT_LEN + 1]; /* 6 */
-+ int nfs_prog; /* 7 */
-+ int mount_prog; /* 7 */
- };
-
- /* bits in the flags field visible to user space */
---
-1.7.9.1
-