diff mbox

nfsd: clear NFSEXP_PNFS flags if not supports pnfs in kernel

Message ID 55215117.2050504@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Kinglong Mee April 5, 2015, 3:13 p.m. UTC
nfsd should not show "pnfs" flag in proc file if the filesystem
does not support pnfs.

# cat /proc/fs/nfsd/exports
# Version 1.1
# Path Client(Flags) # IPs
/testfs    *(rw,insecure,no_root_squash,sync,wdelay,no_subtree_check,pnfs,fsid=0,uuid=37b07525:dc5e4203:99cc71b0:3df9dfa5,sec=1)


Signed-off-by: Kinglong Mee <kinglongmee@gmail.com>
---
 fs/nfsd/nfs4layouts.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Christoph Hellwig April 6, 2015, 12:02 p.m. UTC | #1
On Sun, Apr 05, 2015 at 11:13:27PM +0800, Kinglong Mee wrote:
> nfsd should not show "pnfs" flag in proc file if the filesystem
> does not support pnfs.

Hmm, do we want to silently clear or reject it?  Either way the
!CONFIG_NFSD_PNFS stub needs to do the same.
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
J. Bruce Fields April 6, 2015, 7:51 p.m. UTC | #2
On Mon, Apr 06, 2015 at 05:02:47AM -0700, Christoph Hellwig wrote:
> On Sun, Apr 05, 2015 at 11:13:27PM +0800, Kinglong Mee wrote:
> > nfsd should not show "pnfs" flag in proc file if the filesystem
> > does not support pnfs.
> 
> Hmm, do we want to silently clear or reject it?  Either way the
> !CONFIG_NFSD_PNFS stub needs to do the same.

There's a note:

	/* quietly ignore unknown words and anything
	 * following. Newer user-space can try to set
	 * new values, then see what the result was.
	 */

Not sure if that's the best approach, but I guess we should stick with
it.

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

Patch

diff --git a/fs/nfsd/nfs4layouts.c b/fs/nfsd/nfs4layouts.c
index 6904213..f4c9bf3 100644
--- a/fs/nfsd/nfs4layouts.c
+++ b/fs/nfsd/nfs4layouts.c
@@ -125,6 +125,8 @@  void nfsd4_setup_layout_type(struct svc_export *exp)
 	    sb->s_export_op->map_blocks &&
 	    sb->s_export_op->commit_blocks)
 		exp->ex_layout_type = LAYOUT_BLOCK_VOLUME;
+	else
+		exp->ex_flags &= ~NFSEXP_PNFS;
 }
 
 static void