Linux NFS development
 help / color / mirror / Atom feed
* [PATCH] NFSD: Remove unused function parameter
@ 2024-09-29 16:29 cel
  2024-09-29 20:12 ` Jeff Layton
  2024-09-29 22:55 ` NeilBrown
  0 siblings, 2 replies; 4+ messages in thread
From: cel @ 2024-09-29 16:29 UTC (permalink / raw)
  To: Neil Brown, Jeff Layton, Olga Kornievskaia, Dai Ngo, Tom Talpey
  Cc: linux-nfs, Chuck Lever

From: Chuck Lever <chuck.lever@oracle.com>

Clean up: Commit 65294c1f2c5e ("nfsd: add a new struct file caching
facility to nfsd") moved the fh_verify() call site out of
nfsd_open(). That was the only user of nfsd_open's @rqstp parameter,
so that parameter can be removed.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
 fs/nfsd/filecache.c |  3 +--
 fs/nfsd/vfs.c       | 11 ++++-------
 fs/nfsd/vfs.h       |  4 ++--
 3 files changed, 7 insertions(+), 11 deletions(-)

diff --git a/fs/nfsd/filecache.c b/fs/nfsd/filecache.c
index 19bb88c7eebd..8158406bac18 100644
--- a/fs/nfsd/filecache.c
+++ b/fs/nfsd/filecache.c
@@ -1121,8 +1121,7 @@ nfsd_file_do_acquire(struct svc_rqst *rqstp, struct net *net,
 			status = nfs_ok;
 			trace_nfsd_file_opened(nf, status);
 		} else {
-			ret = nfsd_open_verified(rqstp, fhp, may_flags,
-						 &nf->nf_file);
+			ret = nfsd_open_verified(fhp, may_flags, &nf->nf_file);
 			if (ret == -EOPENSTALE && stale_retry) {
 				stale_retry = false;
 				nfsd_file_unhash(nf);
diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c
index 22325b590e17..d0bf4ffa5543 100644
--- a/fs/nfsd/vfs.c
+++ b/fs/nfsd/vfs.c
@@ -861,8 +861,7 @@ int nfsd_open_break_lease(struct inode *inode, int access)
  * N.B. After this call fhp needs an fh_put
  */
 static int
-__nfsd_open(struct svc_rqst *rqstp, struct svc_fh *fhp, umode_t type,
-			int may_flags, struct file **filp)
+__nfsd_open(struct svc_fh *fhp, umode_t type, int may_flags, struct file **filp)
 {
 	struct path	path;
 	struct inode	*inode;
@@ -937,7 +936,7 @@ nfsd_open(struct svc_rqst *rqstp, struct svc_fh *fhp, umode_t type,
 retry:
 	err = fh_verify(rqstp, fhp, type, may_flags);
 	if (!err) {
-		host_err = __nfsd_open(rqstp, fhp, type, may_flags, filp);
+		host_err = __nfsd_open(fhp, type, may_flags, filp);
 		if (host_err == -EOPENSTALE && !retried) {
 			retried = true;
 			fh_put(fhp);
@@ -950,7 +949,6 @@ nfsd_open(struct svc_rqst *rqstp, struct svc_fh *fhp, umode_t type,
 
 /**
  * nfsd_open_verified - Open a regular file for the filecache
- * @rqstp: RPC request
  * @fhp: NFS filehandle of the file to open
  * @may_flags: internal permission flags
  * @filp: OUT: open "struct file *"
@@ -958,10 +956,9 @@ nfsd_open(struct svc_rqst *rqstp, struct svc_fh *fhp, umode_t type,
  * Returns zero on success, or a negative errno value.
  */
 int
-nfsd_open_verified(struct svc_rqst *rqstp, struct svc_fh *fhp, int may_flags,
-		   struct file **filp)
+nfsd_open_verified(struct svc_fh *fhp, int may_flags, struct file **filp)
 {
-	return __nfsd_open(rqstp, fhp, S_IFREG, may_flags, filp);
+	return __nfsd_open(fhp, S_IFREG, may_flags, filp);
 }
 
 /*
diff --git a/fs/nfsd/vfs.h b/fs/nfsd/vfs.h
index 3ff146522556..854fb95dfdca 100644
--- a/fs/nfsd/vfs.h
+++ b/fs/nfsd/vfs.h
@@ -114,8 +114,8 @@ __be32		nfsd_setxattr(struct svc_rqst *rqstp, struct svc_fh *fhp,
 int 		nfsd_open_break_lease(struct inode *, int);
 __be32		nfsd_open(struct svc_rqst *, struct svc_fh *, umode_t,
 				int, struct file **);
-int		nfsd_open_verified(struct svc_rqst *rqstp, struct svc_fh *fhp,
-				   int may_flags, struct file **filp);
+int		nfsd_open_verified(struct svc_fh *fhp, int may_flags,
+				struct file **filp);
 __be32		nfsd_splice_read(struct svc_rqst *rqstp, struct svc_fh *fhp,
 				struct file *file, loff_t offset,
 				unsigned long *count,
-- 
2.46.2


^ permalink raw reply related	[flat|nested] 4+ messages in thread
* [PATCH 0/6] Continued work on xdrgen
@ 2024-09-30  0:50 cel
  2024-09-30  0:50 ` [PATCH] NFSD: Remove unused function parameter cel
  0 siblings, 1 reply; 4+ messages in thread
From: cel @ 2024-09-30  0:50 UTC (permalink / raw)
  To: Neil Brown, Jeff Layton, Olga Kornievskaia, Dai Ngo, Tom Talpey
  Cc: linux-nfs, Chuck Lever

From: Chuck Lever <chuck.lever@oracle.com>

This series (intended for v6.13) contains some clean-ups and new
features for the xdrgen tool.

The "Exit status should be zero ..." patch is needed so that "make"
co-operates properly with xdrgen. I've prototyped some Makefile
stanzas that can generate encoder and decoder functions to ensure
this is working correctly (to appear in a later series).

"enum" types are now generated as C typedefs, without the "enum"
classifier. This is to enable the same type name to be used to
represent either an enum (CPU-endian) or a __be32 (network-endian).

So, instead of generating, say, "enum nfsstat3 {};" xdrgen now
generates "nfsstat3" which can be either an enum or a __be32,
depending on a new pragma directive. The goal is to handle the
special case where the upper layer prefers to use __be32
discriminant values for XDR union types.

Comments are welcome.


Chuck Lever (6):
  xdrgen: Exit status should be zero on success
  xdrgen: Clean up type_specifier
  xdrgen: Rename "variable-length strings"
  xdrgen: Rename enum's declaration Jinja2 template
  xdrgen: Rename "enum yada" types as just "yada"
  xdrgen: Implement big-endian enums

 include/linux/sunrpc/xdr.h                    | 21 ++++++++++++
 tools/net/sunrpc/xdrgen/README                | 17 ++++++++++
 tools/net/sunrpc/xdrgen/generators/enum.py    | 19 ++++++++---
 tools/net/sunrpc/xdrgen/generators/pointer.py |  8 ++---
 tools/net/sunrpc/xdrgen/generators/struct.py  |  8 ++---
 tools/net/sunrpc/xdrgen/generators/typedef.py | 10 +++---
 tools/net/sunrpc/xdrgen/generators/union.py   | 34 ++++++++++++++-----
 tools/net/sunrpc/xdrgen/grammars/xdr.lark     |  6 ++--
 .../templates/C/enum/declaration/close.j2     |  4 ---
 .../templates/C/enum/declaration/enum.j2      |  4 +++
 .../xdrgen/templates/C/enum/decoder/enum.j2   |  2 +-
 .../{encoder/enum.j2 => decoder/enum_be.j2}   |  6 ++--
 .../templates/C/enum/definition/close.j2      |  1 +
 .../enum/definition/{close.j2 => close_be.j2} |  1 +
 .../xdrgen/templates/C/enum/encoder/enum.j2   |  2 +-
 .../C/enum/encoder/{enum.j2 => enum_be.j2}    |  6 ++--
 .../{variable_length_string.j2 => string.j2}  |  0
 .../{variable_length_string.j2 => string.j2}  |  0
 .../{variable_length_string.j2 => string.j2}  |  0
 .../{variable_length_string.j2 => string.j2}  |  0
 .../{variable_length_string.j2 => string.j2}  |  0
 .../{variable_length_string.j2 => string.j2}  |  0
 .../{variable_length_string.j2 => string.j2}  |  0
 .../{variable_length_string.j2 => string.j2}  |  0
 .../{variable_length_string.j2 => string.j2}  |  0
 .../{variable_length_string.j2 => string.j2}  |  0
 .../templates/C/union/decoder/case_spec_be.j2 |  2 ++
 .../{variable_length_string.j2 => string.j2}  |  0
 .../templates/C/union/encoder/case_spec_be.j2 |  2 ++
 tools/net/sunrpc/xdrgen/xdr_ast.py            | 21 ++++++------
 tools/net/sunrpc/xdrgen/xdrgen                |  4 ++-
 31 files changed, 125 insertions(+), 53 deletions(-)
 delete mode 100644 tools/net/sunrpc/xdrgen/templates/C/enum/declaration/close.j2
 create mode 100644 tools/net/sunrpc/xdrgen/templates/C/enum/declaration/enum.j2
 copy tools/net/sunrpc/xdrgen/templates/C/enum/{encoder/enum.j2 => decoder/enum_be.j2} (51%)
 copy tools/net/sunrpc/xdrgen/templates/C/enum/definition/{close.j2 => close_be.j2} (60%)
 copy tools/net/sunrpc/xdrgen/templates/C/enum/encoder/{enum.j2 => enum_be.j2} (50%)
 rename tools/net/sunrpc/xdrgen/templates/C/pointer/decoder/{variable_length_string.j2 => string.j2} (100%)
 rename tools/net/sunrpc/xdrgen/templates/C/pointer/definition/{variable_length_string.j2 => string.j2} (100%)
 rename tools/net/sunrpc/xdrgen/templates/C/pointer/encoder/{variable_length_string.j2 => string.j2} (100%)
 rename tools/net/sunrpc/xdrgen/templates/C/struct/decoder/{variable_length_string.j2 => string.j2} (100%)
 rename tools/net/sunrpc/xdrgen/templates/C/struct/definition/{variable_length_string.j2 => string.j2} (100%)
 rename tools/net/sunrpc/xdrgen/templates/C/struct/encoder/{variable_length_string.j2 => string.j2} (100%)
 rename tools/net/sunrpc/xdrgen/templates/C/typedef/declaration/{variable_length_string.j2 => string.j2} (100%)
 rename tools/net/sunrpc/xdrgen/templates/C/typedef/decoder/{variable_length_string.j2 => string.j2} (100%)
 rename tools/net/sunrpc/xdrgen/templates/C/typedef/definition/{variable_length_string.j2 => string.j2} (100%)
 rename tools/net/sunrpc/xdrgen/templates/C/typedef/encoder/{variable_length_string.j2 => string.j2} (100%)
 create mode 100644 tools/net/sunrpc/xdrgen/templates/C/union/decoder/case_spec_be.j2
 rename tools/net/sunrpc/xdrgen/templates/C/union/decoder/{variable_length_string.j2 => string.j2} (100%)
 create mode 100644 tools/net/sunrpc/xdrgen/templates/C/union/encoder/case_spec_be.j2

-- 
2.46.2


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-09-30  0:50 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-29 16:29 [PATCH] NFSD: Remove unused function parameter cel
2024-09-29 20:12 ` Jeff Layton
2024-09-29 22:55 ` NeilBrown
  -- strict thread matches above, loose matches on Subject: below --
2024-09-30  0:50 [PATCH 0/6] Continued work on xdrgen cel
2024-09-30  0:50 ` [PATCH] NFSD: Remove unused function parameter cel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox