All of lore.kernel.org
 help / color / mirror / Atom feed
* [jlayton:nfsd-tracepoints 9/14] fs/nfsd/nfsproc.c:508:9: error: implicit declaration of function 'trace_nfsd_proc_symlink'; did you mean 'nfsd_proc_symlink'?
@ 2025-03-15  9:33 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2025-03-15  9:33 UTC (permalink / raw)
  To: Jeff Layton; +Cc: oe-kbuild-all

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux.git nfsd-tracepoints
head:   406b15fe7fc917eb20c0cfe48d441442adad9918
commit: 481c829d4945fb5f4f83828214f5e36c02f67f6c [9/14] nfsd: add tracepoints for symlink events
config: csky-randconfig-002-20250315 (https://download.01.org/0day-ci/archive/20250315/202503151700.DSZSysRq-lkp@intel.com/config)
compiler: csky-linux-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250315/202503151700.DSZSysRq-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202503151700.DSZSysRq-lkp@intel.com/

All errors (new ones prefixed by >>):

   fs/nfsd/nfsproc.c: In function 'nfsd_proc_create':
   fs/nfsd/nfsproc.c:295:9: error: implicit declaration of function 'trace_nfsd_proc_create'; did you mean 'nfsd_proc_create'? [-Wimplicit-function-declaration]
     295 |         trace_nfsd_proc_create(rqstp, dirfhp, S_IFREG, argp->name, argp->len);
         |         ^~~~~~~~~~~~~~~~~~~~~~
         |         nfsd_proc_create
   fs/nfsd/nfsproc.c: In function 'nfsd_proc_symlink':
>> fs/nfsd/nfsproc.c:508:9: error: implicit declaration of function 'trace_nfsd_proc_symlink'; did you mean 'nfsd_proc_symlink'? [-Wimplicit-function-declaration]
     508 |         trace_nfsd_proc_symlink(rqstp, &argp->ffh, argp->fname, argp->flen,
         |         ^~~~~~~~~~~~~~~~~~~~~~~
         |         nfsd_proc_symlink
>> fs/nfsd/nfsproc.c:542:1: error: invalid storage class for function 'nfsd_proc_mkdir'
     542 | nfsd_proc_mkdir(struct svc_rqst *rqstp)
         | ^~~~~~~~~~~~~~~
   fs/nfsd/nfsproc.c: In function 'nfsd_proc_mkdir':
   fs/nfsd/nfsproc.c:550:9: error: implicit declaration of function 'trace_nfsd_proc_mkdir'; did you mean 'nfsd_proc_mkdir'? [-Wimplicit-function-declaration]
     550 |         trace_nfsd_proc_mkdir(rqstp, &argp->fh, S_IFDIR, argp->name, argp->len);
         |         ^~~~~~~~~~~~~~~~~~~~~
         |         nfsd_proc_mkdir
   fs/nfsd/nfsproc.c: In function 'nfsd_proc_symlink':
>> fs/nfsd/nfsproc.c:575:1: error: invalid storage class for function 'nfsd_proc_rmdir'
     575 | nfsd_proc_rmdir(struct svc_rqst *rqstp)
         | ^~~~~~~~~~~~~~~
>> fs/nfsd/nfsproc.c:589:13: error: invalid storage class for function 'nfsd_init_dirlist_pages'
     589 | static void nfsd_init_dirlist_pages(struct svc_rqst *rqstp,
         |             ^~~~~~~~~~~~~~~~~~~~~~~
>> fs/nfsd/nfsproc.c:611:1: error: invalid storage class for function 'nfsd_proc_readdir'
     611 | nfsd_proc_readdir(struct svc_rqst *rqstp)
         | ^~~~~~~~~~~~~~~~~
>> fs/nfsd/nfsproc.c:639:1: error: invalid storage class for function 'nfsd_proc_statfs'
     639 | nfsd_proc_statfs(struct svc_rqst *rqstp)
         | ^~~~~~~~~~~~~~~~
>> fs/nfsd/nfsproc.c:824:28: error: initializer element is not constant
     824 |                 .pc_func = nfsd_proc_mkdir,
         |                            ^~~~~~~~~~~~~~~
   fs/nfsd/nfsproc.c:824:28: note: (near initialization for 'nfsd_procedures2[14].pc_func')
   fs/nfsd/nfsproc.c:836:28: error: initializer element is not constant
     836 |                 .pc_func = nfsd_proc_rmdir,
         |                            ^~~~~~~~~~~~~~~
   fs/nfsd/nfsproc.c:836:28: note: (near initialization for 'nfsd_procedures2[15].pc_func')
   fs/nfsd/nfsproc.c:847:28: error: initializer element is not constant
     847 |                 .pc_func = nfsd_proc_readdir,
         |                            ^~~~~~~~~~~~~~~~~
   fs/nfsd/nfsproc.c:847:28: note: (near initialization for 'nfsd_procedures2[16].pc_func')
   fs/nfsd/nfsproc.c:857:28: error: initializer element is not constant
     857 |                 .pc_func = nfsd_proc_statfs,
         |                            ^~~~~~~~~~~~~~~~
   fs/nfsd/nfsproc.c:857:28: note: (near initialization for 'nfsd_procedures2[17].pc_func')
>> fs/nfsd/nfsproc.c:878:1: error: expected declaration or statement at end of input
     878 | };
         | ^
   fs/nfsd/nfsproc.c:871:26: warning: unused variable 'nfsd_version2' [-Wunused-variable]
     871 | const struct svc_version nfsd_version2 = {
         |                          ^~~~~~~~~~~~~
   fs/nfsd/nfsproc.c: At top level:
   fs/nfsd/nfsproc.c:499:1: warning: 'nfsd_proc_symlink' defined but not used [-Wunused-function]
     499 | nfsd_proc_symlink(struct svc_rqst *rqstp)
         | ^~~~~~~~~~~~~~~~~


vim +508 fs/nfsd/nfsproc.c

   497	
   498	static __be32
   499	nfsd_proc_symlink(struct svc_rqst *rqstp)
   500	{
   501		struct nfsd_symlinkargs *argp = rqstp->rq_argp;
   502		struct nfsd_stat *resp = rqstp->rq_resp;
   503		struct nfsd_attrs attrs = {
   504			.na_iattr	= &argp->attrs,
   505		};
   506		struct svc_fh	newfh;
   507	
 > 508		trace_nfsd_proc_symlink(rqstp, &argp->ffh, argp->fname, argp->flen,
   509					argp->tname, argp->tlen);
   510	
   511		if (argp->tlen == 0) {
   512		if (argp->tlen > NFS_MAXPATHLEN) {
   513			resp->status = nfserr_nametoolong;
   514			goto out;
   515		}
   516	
   517		argp->tname = svc_fill_symlink_pathname(rqstp, &argp->first,
   518							page_address(rqstp->rq_arg.pages[0]),
   519							argp->tlen);
   520		if (IS_ERR(argp->tname)) {
   521			resp->status = nfserrno(PTR_ERR(argp->tname));
   522			goto out;
   523		}
   524	
   525		fh_init(&newfh, NFS_FHSIZE);
   526		resp->status = nfsd_symlink(rqstp, &argp->ffh, argp->fname, argp->flen,
   527					    argp->tname, &attrs, &newfh);
   528	
   529		kfree(argp->tname);
   530		fh_put(&argp->ffh);
   531		fh_put(&newfh);
   532	out:
   533		resp->status = nfsd_map_status(resp->status);
   534		return rpc_success;
   535	}
   536	
   537	/*
   538	 * Make directory. This operation is not idempotent.
   539	 * N.B. After this call resp->fh needs an fh_put
   540	 */
   541	static __be32
 > 542	nfsd_proc_mkdir(struct svc_rqst *rqstp)
   543	{
   544		struct nfsd_createargs *argp = rqstp->rq_argp;
   545		struct nfsd_diropres *resp = rqstp->rq_resp;
   546		struct nfsd_attrs attrs = {
   547			.na_iattr	= &argp->attrs,
   548		};
   549	
   550		trace_nfsd_proc_mkdir(rqstp, &argp->fh, S_IFDIR, argp->name, argp->len);
   551	
   552		if (resp->fh.fh_dentry) {
   553			printk(KERN_WARNING
   554				"nfsd_proc_mkdir: response already verified??\n");
   555		}
   556	
   557		argp->attrs.ia_valid &= ~ATTR_SIZE;
   558		fh_init(&resp->fh, NFS_FHSIZE);
   559		resp->status = nfsd_create(rqstp, &argp->fh, argp->name, argp->len,
   560					   &attrs, S_IFDIR, 0, &resp->fh);
   561		fh_put(&argp->fh);
   562		if (resp->status != nfs_ok)
   563			goto out;
   564	
   565		resp->status = fh_getattr(&resp->fh, &resp->stat);
   566	out:
   567		resp->status = nfsd_map_status(resp->status);
   568		return rpc_success;
   569	}
   570	
   571	/*
   572	 * Remove a directory
   573	 */
   574	static __be32
 > 575	nfsd_proc_rmdir(struct svc_rqst *rqstp)
   576	{
   577		struct nfsd_diropargs *argp = rqstp->rq_argp;
   578		struct nfsd_stat *resp = rqstp->rq_resp;
   579	
   580		dprintk("nfsd: RMDIR    %s %.*s\n", SVCFH_fmt(&argp->fh), argp->len, argp->name);
   581	
   582		resp->status = nfsd_unlink(rqstp, &argp->fh, S_IFDIR,
   583					   argp->name, argp->len);
   584		fh_put(&argp->fh);
   585		resp->status = nfsd_map_status(resp->status);
   586		return rpc_success;
   587	}
   588	
 > 589	static void nfsd_init_dirlist_pages(struct svc_rqst *rqstp,
   590					    struct nfsd_readdirres *resp,
   591					    u32 count)
   592	{
   593		struct xdr_buf *buf = &resp->dirlist;
   594		struct xdr_stream *xdr = &resp->xdr;
   595	
   596		memset(buf, 0, sizeof(*buf));
   597	
   598		/* Reserve room for the NULL ptr & eof flag (-2 words) */
   599		buf->buflen = clamp(count, (u32)(XDR_UNIT * 2), (u32)PAGE_SIZE);
   600		buf->buflen -= XDR_UNIT * 2;
   601		buf->pages = rqstp->rq_next_page;
   602		rqstp->rq_next_page++;
   603	
   604		xdr_init_encode_pages(xdr, buf, buf->pages,  NULL);
   605	}
   606	
   607	/*
   608	 * Read a portion of a directory.
   609	 */
   610	static __be32
 > 611	nfsd_proc_readdir(struct svc_rqst *rqstp)
   612	{
   613		struct nfsd_readdirargs *argp = rqstp->rq_argp;
   614		struct nfsd_readdirres *resp = rqstp->rq_resp;
   615		loff_t		offset;
   616	
   617		dprintk("nfsd: READDIR  %s %d bytes at %d\n",
   618			SVCFH_fmt(&argp->fh),		
   619			argp->count, argp->cookie);
   620	
   621		nfsd_init_dirlist_pages(rqstp, resp, argp->count);
   622	
   623		resp->common.err = nfs_ok;
   624		resp->cookie_offset = 0;
   625		offset = argp->cookie;
   626		resp->status = nfsd_readdir(rqstp, &argp->fh, &offset,
   627					    &resp->common, nfssvc_encode_entry);
   628		nfssvc_encode_nfscookie(resp, offset);
   629	
   630		fh_put(&argp->fh);
   631		resp->status = nfsd_map_status(resp->status);
   632		return rpc_success;
   633	}
   634	
   635	/*
   636	 * Get file system info
   637	 */
   638	static __be32
 > 639	nfsd_proc_statfs(struct svc_rqst *rqstp)
   640	{
   641		struct nfsd_fhandle *argp = rqstp->rq_argp;
   642		struct nfsd_statfsres *resp = rqstp->rq_resp;
   643	
   644		dprintk("nfsd: STATFS   %s\n", SVCFH_fmt(&argp->fh));
   645	
   646		resp->status = nfsd_statfs(rqstp, &argp->fh, &resp->stats,
   647					   NFSD_MAY_BYPASS_GSS_ON_ROOT);
   648		fh_put(&argp->fh);
   649		resp->status = nfsd_map_status(resp->status);
   650		return rpc_success;
   651	}
   652	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2025-03-15  9:34 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-15  9:33 [jlayton:nfsd-tracepoints 9/14] fs/nfsd/nfsproc.c:508:9: error: implicit declaration of function 'trace_nfsd_proc_symlink'; did you mean 'nfsd_proc_symlink'? kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.