Re: [PATCH v5 5/9] NFSD add COPY_NOTIFY operation

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

 



Hi Olga,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on nfsd/nfsd-next]
[cannot apply to v5.3-rc3 next-20190809]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Olga-Kornievskaia/server-side-support-for-inter-SSC-copy/20190811-120551
base:   git://linux-nfs.org/~bfields/linux.git nfsd-next
config: x86_64-lkp (attached as .config)
compiler: gcc-7 (Debian 7.4.0-10) 7.4.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

   In file included from fs/nfsd/state.h:42:0,
                    from fs/nfsd/xdr4.h:40,
                    from fs/nfsd/nfs4proc.c:44:
   fs/nfsd/nfsd.h:391:16: warning: 'struct nfs42_netaddr' declared inside parameter list will not be visible outside of this definition or declaration
            struct nfs42_netaddr *netaddr)
                   ^~~~~~~~~~~~~
   fs/nfsd/nfsd.h: In function 'nfsd4_set_netaddr':
   fs/nfsd/nfsd.h:401:18: error: dereferencing pointer to incomplete type 'struct nfs42_netaddr'
      sprintf(netaddr->netid, "tcp");
                     ^~
   In file included from fs/nfsd/nfs4proc.c:44:0:
   fs/nfsd/xdr4.h: At top level:
   fs/nfsd/xdr4.h:527:20: error: field 'cp_src' has incomplete type
     struct nl4_server cp_src;
                       ^~~~~~
   fs/nfsd/xdr4.h:577:20: error: field 'cpn_dst' has incomplete type
     struct nl4_server cpn_dst;
                       ^~~~~~~
   fs/nfsd/xdr4.h:583:20: error: field 'cpn_src' has incomplete type
     struct nl4_server cpn_src;
                       ^~~~~~~
   fs/nfsd/nfs4proc.c: In function 'nfsd4_copy_notify':
>> fs/nfsd/nfs4proc.c:1379:25: error: 'NL4_NETADDR' undeclared (first use in this function); did you mean 'RTM_GETADDR'?
     cn->cpn_src.nl4_type = NL4_NETADDR;
                            ^~~~~~~~~~~
                            RTM_GETADDR
   fs/nfsd/nfs4proc.c:1379:25: note: each undeclared identifier is reported only once for each function it appears in

vim +1379 fs/nfsd/nfs4proc.c

  1349	
  1350	static __be32
  1351	nfsd4_copy_notify(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
  1352			  union nfsd4_op_u *u)
  1353	{
  1354		struct nfsd4_copy_notify *cn = &u->copy_notify;
  1355		__be32 status;
  1356		struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id);
  1357		struct nfs4_stid *stid;
  1358		struct nfs4_cpntf_state *cps;
  1359		struct nfs4_client *clp = cstate->clp;
  1360	
  1361		status = nfs4_preprocess_stateid_op(rqstp, cstate, &cstate->current_fh,
  1362						&cn->cpn_src_stateid, RD_STATE, NULL,
  1363						NULL, &stid);
  1364		if (status)
  1365			return status;
  1366	
  1367		cn->cpn_sec = nn->nfsd4_lease;
  1368		cn->cpn_nsec = 0;
  1369	
  1370		status = nfserrno(-ENOMEM);
  1371		cps = nfs4_alloc_init_cpntf_state(nn, stid);
  1372		if (!cps)
  1373			goto out_err;
  1374		memcpy(&cn->cpn_cnr_stateid, &cps->cp_stateid.stid, sizeof(stateid_t));
  1375	
  1376		/* For now, only return one server address in cpn_src, the
  1377		 * address used by the client to connect to this server.
  1378		 */
> 1379		cn->cpn_src.nl4_type = NL4_NETADDR;
  1380		status = nfsd4_set_netaddr((struct sockaddr *)&rqstp->rq_daddr,
  1381					 &cn->cpn_src.u.nl4_addr);
  1382		WARN_ON_ONCE(status);
  1383		if (status) {
  1384			free_cpntf_state(nn, cps);
  1385			goto out;
  1386		}
  1387		spin_lock(&clp->cpntf_lock);
  1388		list_add(&cps->cpntf, &clp->copy_notifies);
  1389		spin_unlock(&clp->cpntf_lock);
  1390	out:
  1391		return status;
  1392	out_err:
  1393		nfs4_put_stid(stid);
  1394		goto out;
  1395	}
  1396	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip


[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