[PATCH] nfsd: ensure that writing '+4' to /proc/fs/nfsd/versions enables minor version 0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



According to commit d3635ff07e8 ("nfsd: fix configuration of supported
minor versions"), it should be possible to use either '4.0' or '4' to
enable or disable minor version 0.

Currently, writing '+4' to /proc/fs/nfsd/versions has no effect unless
no minor versions are enabled.  That leaves rpc.nfsd without an easy
way to re-enable v4.0, since that's what it does when invoked with
'-V 4.0'.

Fixes: d3635ff07e8 ("nfsd: fix configuration of supported minor versions")
Signed-off-by: Scott Mayhew <smayhew@xxxxxxxxxx>
---
 fs/nfsd/nfsctl.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/fs/nfsd/nfsctl.c b/fs/nfsd/nfsctl.c
index d107b4426f7e..b3f9f9233953 100644
--- a/fs/nfsd/nfsctl.c
+++ b/fs/nfsd/nfsctl.c
@@ -614,6 +614,14 @@ static ssize_t __write_versions(struct file *file, char *buf, size_t size)
 					minor = 0;
 					while (nfsd_minorversion(minor, cmd) >= 0)
 						minor++;
+				} else if (cmd == NFSD_SET) {
+					/*
+					 * We have +4 but there are already some minors
+					 * enabled.  We must ensure 4.0 gets enabled,
+					 * since it could be a request from rpc.nfsd.
+					 */
+					if (nfsd_minorversion(0, cmd) < 0)
+						return -EINVAL;
 				}
 				break;
 			default:
-- 
2.14.4

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux