nfsd: fix version-setting regression on old kernels
authorJ. Bruce Fields <bfields@citi.umich.edu>
Thu, 4 Feb 2010 22:03:53 +0000 (17:03 -0500)
committerSteve Dickson <steved@redhat.com>
Thu, 4 Feb 2010 22:04:33 +0000 (17:04 -0500)
commitf808c94e8abb104e5248ee92acf6aeaf2e06e76a
treeda12e3b350ed4a134fda2d4e39f6a5a67acbd40e
parent6318d601cf182d2848d397af323ca9c4fbdecb97
nfsd: fix version-setting regression on old kernels

/proc/fs/nfsd/versions was extended to allow turning on/off minor
versions by echoing "+4.1" or "-4.1" to /proc/fs/nsfd/versions.

Unfortunately, pre-2.6.30 kernels just stop parsing at first non-digit,
so "-4.1" is interpreted as "-4".  If new nfs-utils (on old kernel)
writes "+2", "+3", "+4", then "-4.1", result therefore is to turn off
4.1.

Given that historical behavior, it may have been a mistake to extend the
interface the way we did; but at this point we're probably stuck with
it.  So, just reverse the order we write versions in.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Steve Dickson <steved@redhat.com>
utils/nfsd/nfssvc.c