* [jlayton:kdevops 75/81] fs/nfsd/nfsproc.c:447:9: error: implicit declaration of function 'trace_nfsd_proc_remove'; did you mean 'nfsd_proc_remove'?
@ 2025-03-11 18:40 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2025-03-11 18:40 UTC (permalink / raw)
To: Jeff Layton; +Cc: llvm, oe-kbuild-all
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux.git kdevops
head: 86deeee9a2bdf8ba09cfd0ab66dbf448d2e8b82b
commit: 7874515959533baab57e883272ac73bd8ec21b9c [75/81] nfsd: add tracepoints for unlink events
config: sparc-randconfig-001-20250311 (https://download.01.org/0day-ci/archive/20250312/202503120209.pV3QBDxN-lkp@intel.com/config)
compiler: sparc-linux-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250312/202503120209.pV3QBDxN-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/202503120209.pV3QBDxN-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_remove':
>> fs/nfsd/nfsproc.c:447:9: error: implicit declaration of function 'trace_nfsd_proc_remove'; did you mean 'nfsd_proc_remove'? [-Wimplicit-function-declaration]
447 | trace_nfsd_proc_remove(rqstp, &argp->fh, argp->name, argp->len);
| ^~~~~~~~~~~~~~~~~~~~~~
| nfsd_proc_remove
fs/nfsd/nfsproc.c: In function 'nfsd_proc_link':
fs/nfsd/nfsproc.c:482:9: error: implicit declaration of function 'trace_nfsd_proc_link'; did you mean 'nfsd_proc_link'? [-Wimplicit-function-declaration]
482 | trace_nfsd_proc_link(rqstp, &argp->ffh, &argp->tfh, argp->tname, argp->tlen);
| ^~~~~~~~~~~~~~~~~~~~
| nfsd_proc_link
fs/nfsd/nfsproc.c: In function 'nfsd_proc_symlink':
fs/nfsd/nfsproc.c:502:9: error: implicit declaration of function 'trace_nfsd_proc_symlink'; did you mean 'nfsd_proc_symlink'? [-Wimplicit-function-declaration]
502 | trace_nfsd_proc_symlink(rqstp, &argp->ffh, argp->fname, argp->flen,
| ^~~~~~~~~~~~~~~~~~~~~~~
| nfsd_proc_symlink
fs/nfsd/nfsproc.c:536:1: error: invalid storage class for function 'nfsd_proc_mkdir'
536 | nfsd_proc_mkdir(struct svc_rqst *rqstp)
| ^~~~~~~~~~~~~~~
fs/nfsd/nfsproc.c: In function 'nfsd_proc_mkdir':
fs/nfsd/nfsproc.c:544:9: error: implicit declaration of function 'trace_nfsd_proc_mkdir'; did you mean 'nfsd_proc_mkdir'? [-Wimplicit-function-declaration]
544 | 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:569:1: error: invalid storage class for function 'nfsd_proc_rmdir'
569 | nfsd_proc_rmdir(struct svc_rqst *rqstp)
| ^~~~~~~~~~~~~~~
fs/nfsd/nfsproc.c: In function 'nfsd_proc_rmdir':
>> fs/nfsd/nfsproc.c:574:9: error: implicit declaration of function 'trace_nfsd_proc_rmdir'; did you mean 'nfsd_proc_rmdir'? [-Wimplicit-function-declaration]
574 | trace_nfsd_proc_rmdir(rqstp, &argp->fh, argp->name, argp->len);
| ^~~~~~~~~~~~~~~~~~~~~
| nfsd_proc_rmdir
fs/nfsd/nfsproc.c: In function 'nfsd_proc_symlink':
fs/nfsd/nfsproc.c:583:13: error: invalid storage class for function 'nfsd_init_dirlist_pages'
583 | static void nfsd_init_dirlist_pages(struct svc_rqst *rqstp,
| ^~~~~~~~~~~~~~~~~~~~~~~
fs/nfsd/nfsproc.c:605:1: error: invalid storage class for function 'nfsd_proc_readdir'
605 | nfsd_proc_readdir(struct svc_rqst *rqstp)
| ^~~~~~~~~~~~~~~~~
fs/nfsd/nfsproc.c:633:1: error: invalid storage class for function 'nfsd_proc_statfs'
633 | nfsd_proc_statfs(struct svc_rqst *rqstp)
| ^~~~~~~~~~~~~~~~
fs/nfsd/nfsproc.c:818:28: error: initializer element is not constant
818 | .pc_func = nfsd_proc_mkdir,
| ^~~~~~~~~~~~~~~
fs/nfsd/nfsproc.c:818:28: note: (near initialization for 'nfsd_procedures2[14].pc_func')
fs/nfsd/nfsproc.c:830:28: error: initializer element is not constant
830 | .pc_func = nfsd_proc_rmdir,
| ^~~~~~~~~~~~~~~
fs/nfsd/nfsproc.c:830:28: note: (near initialization for 'nfsd_procedures2[15].pc_func')
fs/nfsd/nfsproc.c:841:28: error: initializer element is not constant
841 | .pc_func = nfsd_proc_readdir,
| ^~~~~~~~~~~~~~~~~
fs/nfsd/nfsproc.c:841:28: note: (near initialization for 'nfsd_procedures2[16].pc_func')
fs/nfsd/nfsproc.c:851:28: error: initializer element is not constant
851 | .pc_func = nfsd_proc_statfs,
| ^~~~~~~~~~~~~~~~
fs/nfsd/nfsproc.c:851:28: note: (near initialization for 'nfsd_procedures2[17].pc_func')
fs/nfsd/nfsproc.c:872:1: error: expected declaration or statement at end of input
872 | };
| ^
fs/nfsd/nfsproc.c:865:26: warning: unused variable 'nfsd_version2' [-Wunused-variable]
865 | const struct svc_version nfsd_version2 = {
| ^~~~~~~~~~~~~
fs/nfsd/nfsproc.c: At top level:
fs/nfsd/nfsproc.c:493:1: warning: 'nfsd_proc_symlink' defined but not used [-Wunused-function]
493 | nfsd_proc_symlink(struct svc_rqst *rqstp)
| ^~~~~~~~~~~~~~~~~
vim +447 fs/nfsd/nfsproc.c
440
441 static __be32
442 nfsd_proc_remove(struct svc_rqst *rqstp)
443 {
444 struct nfsd_diropargs *argp = rqstp->rq_argp;
445 struct nfsd_stat *resp = rqstp->rq_resp;
446
> 447 trace_nfsd_proc_remove(rqstp, &argp->fh, argp->name, argp->len);
448
449 /* Unlink. -SIFDIR means file must not be a directory */
450 resp->status = nfsd_unlink(rqstp, &argp->fh, -S_IFDIR,
451 argp->name, argp->len);
452 fh_put(&argp->fh);
453 resp->status = nfsd_map_status(resp->status);
454 return rpc_success;
455 }
456
457 static __be32
458 nfsd_proc_rename(struct svc_rqst *rqstp)
459 {
460 struct nfsd_renameargs *argp = rqstp->rq_argp;
461 struct nfsd_stat *resp = rqstp->rq_resp;
462
463 dprintk("nfsd: RENAME %s %.*s -> \n",
464 SVCFH_fmt(&argp->ffh), argp->flen, argp->fname);
465 dprintk("nfsd: -> %s %.*s\n",
466 SVCFH_fmt(&argp->tfh), argp->tlen, argp->tname);
467
468 resp->status = nfsd_rename(rqstp, &argp->ffh, argp->fname, argp->flen,
469 &argp->tfh, argp->tname, argp->tlen);
470 fh_put(&argp->ffh);
471 fh_put(&argp->tfh);
472 resp->status = nfsd_map_status(resp->status);
473 return rpc_success;
474 }
475
476 static __be32
477 nfsd_proc_link(struct svc_rqst *rqstp)
478 {
479 struct nfsd_linkargs *argp = rqstp->rq_argp;
480 struct nfsd_stat *resp = rqstp->rq_resp;
481
482 trace_nfsd_proc_link(rqstp, &argp->ffh, &argp->tfh, argp->tname, argp->tlen);
483
484 resp->status = nfsd_link(rqstp, &argp->tfh, argp->tname, argp->tlen,
485 &argp->ffh);
486 fh_put(&argp->ffh);
487 fh_put(&argp->tfh);
488 resp->status = nfsd_map_status(resp->status);
489 return rpc_success;
490 }
491
492 static __be32
493 nfsd_proc_symlink(struct svc_rqst *rqstp)
494 {
495 struct nfsd_symlinkargs *argp = rqstp->rq_argp;
496 struct nfsd_stat *resp = rqstp->rq_resp;
497 struct nfsd_attrs attrs = {
498 .na_iattr = &argp->attrs,
499 };
500 struct svc_fh newfh;
501
502 trace_nfsd_proc_symlink(rqstp, &argp->ffh, argp->fname, argp->flen,
503 argp->tname, argp->tlen);
504
505 if (argp->tlen == 0) {
506 if (argp->tlen > NFS_MAXPATHLEN) {
507 resp->status = nfserr_nametoolong;
508 goto out;
509 }
510
511 argp->tname = svc_fill_symlink_pathname(rqstp, &argp->first,
512 page_address(rqstp->rq_arg.pages[0]),
513 argp->tlen);
514 if (IS_ERR(argp->tname)) {
515 resp->status = nfserrno(PTR_ERR(argp->tname));
516 goto out;
517 }
518
519 fh_init(&newfh, NFS_FHSIZE);
520 resp->status = nfsd_symlink(rqstp, &argp->ffh, argp->fname, argp->flen,
521 argp->tname, &attrs, &newfh);
522
523 kfree(argp->tname);
524 fh_put(&argp->ffh);
525 fh_put(&newfh);
526 out:
527 resp->status = nfsd_map_status(resp->status);
528 return rpc_success;
529 }
530
531 /*
532 * Make directory. This operation is not idempotent.
533 * N.B. After this call resp->fh needs an fh_put
534 */
535 static __be32
536 nfsd_proc_mkdir(struct svc_rqst *rqstp)
537 {
538 struct nfsd_createargs *argp = rqstp->rq_argp;
539 struct nfsd_diropres *resp = rqstp->rq_resp;
540 struct nfsd_attrs attrs = {
541 .na_iattr = &argp->attrs,
542 };
543
544 trace_nfsd_proc_mkdir(rqstp, &argp->fh, S_IFDIR, argp->name, argp->len);
545
546 if (resp->fh.fh_dentry) {
547 printk(KERN_WARNING
548 "nfsd_proc_mkdir: response already verified??\n");
549 }
550
551 argp->attrs.ia_valid &= ~ATTR_SIZE;
552 fh_init(&resp->fh, NFS_FHSIZE);
553 resp->status = nfsd_create(rqstp, &argp->fh, argp->name, argp->len,
554 &attrs, S_IFDIR, 0, &resp->fh);
555 fh_put(&argp->fh);
556 if (resp->status != nfs_ok)
557 goto out;
558
559 resp->status = fh_getattr(&resp->fh, &resp->stat);
560 out:
561 resp->status = nfsd_map_status(resp->status);
562 return rpc_success;
563 }
564
565 /*
566 * Remove a directory
567 */
568 static __be32
569 nfsd_proc_rmdir(struct svc_rqst *rqstp)
570 {
571 struct nfsd_diropargs *argp = rqstp->rq_argp;
572 struct nfsd_stat *resp = rqstp->rq_resp;
573
> 574 trace_nfsd_proc_rmdir(rqstp, &argp->fh, argp->name, argp->len);
575
576 resp->status = nfsd_unlink(rqstp, &argp->fh, S_IFDIR,
577 argp->name, argp->len);
578 fh_put(&argp->fh);
579 resp->status = nfsd_map_status(resp->status);
580 return rpc_success;
581 }
582
--
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-11 18:41 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-11 18:40 [jlayton:kdevops 75/81] fs/nfsd/nfsproc.c:447:9: error: implicit declaration of function 'trace_nfsd_proc_remove'; did you mean 'nfsd_proc_remove'? kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox