- fix version passed to get_supported_ver_and_cost (bz 249574).

This commit is contained in:
Ian Kent 2007-07-27 08:12:52 +00:00
parent a76cb5c9b1
commit 8e33339caa
2 changed files with 45 additions and 1 deletions

View File

@ -0,0 +1,39 @@
diff --git a/modules/replicated.c b/modules/replicated.c
index de1b40c..0764d4a 100644
--- a/modules/replicated.c
+++ b/modules/replicated.c
@@ -607,12 +607,31 @@ static int get_supported_ver_and_cost(struct host *host, unsigned int version, c
parms.pm_prog = NFS_PROGRAM;
+ /*
+ * The version passed in is the version as defined in
+ * include/replicated.h. However, the version we want to send
+ * off to the rpc calls should match the program version of NFS.
+ * So, we do the conversion here.
+ */
if (version & UDP_SELECTED_MASK) {
proto = "udp";
- vers = (version << 8);
- } else {
+ version >>= 8;
+ } else
proto = "tcp";
- vers = version;
+
+ switch (version) {
+ case NFS2_SUPPORTED:
+ vers = NFS2_VERSION;
+ break;
+ case NFS3_SUPPORTED:
+ vers = NFS3_VERSION;
+ break;
+ case NFS4_SUPPORTED:
+ vers = NFS4_VERSION;
+ break;
+ default:
+ crit(LOGOPT_ANY, "called with invalid version: 0x%x\n", version);
+ return 0;
}
rpc_info.proto = getprotobyname(proto);

View File

@ -4,7 +4,7 @@
Summary: A tool for automatically mounting and unmounting filesystems
Name: autofs
Version: 5.0.2
Release: 8
Release: 9
Epoch: 1
License: GPL
Group: System Environment/Daemons
@ -19,6 +19,7 @@ Patch5: autofs-5.0.2-quote-exports.patch
Patch6: autofs-5.0.2-hi-res-time.patch
Patch7: autofs-5.0.2-quoted-slash-alone.patch
Patch8: autofs-5.0.2-fix-dnattr-parse.patch
Patch9: autofs-5.0.2-fix-nfs-version-in-get-supported-ver-and-cost.patch
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: autoconf, hesiod-devel, openldap-devel, bison, flex, libxml2-devel, cyrus-sasl-devel, openssl-devel
Conflicts: kernel < 2.6.17
@ -69,6 +70,7 @@ echo %{version}-%{release} > .version
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%build
#CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=/usr --libdir=%{_libdir}
@ -121,6 +123,9 @@ fi
%{_libdir}/autofs/
%changelog
* Fri Jul 27 2007 Ian Kent <ikent@redhat.com> - 5.0.2-9
- fix version passed to get_supported_ver_and_cost (bz 249574).
* Tue Jul 24 2007 Ian Kent <ikent@redhat.com> - 5.0.2-8
- fix parse confusion between attribute and attribute value.