if (open->op_seqid == sop->so_seqid + 1) 
if (open->op_seqid == sop->so_seqid) 
nfsd4_process_open1(struct nfsd4_open *open){	int status;	clientid_t *clientid = &open->op_clientid;	struct nfs4_client *clp = NULL;	unsigned int strhashval;	struct nfs4_stateowner *sop = NULL;	status = nfserr_inval;	if (!check_name(open->op_owner))		goto out;	if (STALE_CLIENTID(&open->op_clientid))		return nfserr_stale_clientid;	strhashval = ownerstr_hashval(clientid->cl_id, open->op_owner);	sop = find_openstateowner_str(strhashval, open);	if (sop) {		open->op_stateowner = sop;		/* check for replay */		if (open->op_seqid == sop->so_seqid){			if (sop->so_replay.rp_buflen)				return NFSERR_REPLAY_ME;			else {				/* The original OPEN failed so spectacularly				 * that we don't even have replay data saved!				 * Therefore, we have no choice but to continue				 * processing this OPEN; presumably, we'll				 * fail again for the same reason.				 */				dprintk("nfsd4_process_open1:"					" replay with no replay cache\n");				goto renew;			}		} else if (sop->so_confirmed) {			if (open->op_seqid == sop->so_seqid + 1)				goto renew;			status = nfserr_bad_seqid;			goto out;		} else {			/* If we get here, we received an OPEN for an			 * unconfirmed nfs4_stateowner. Since the seqid's are			 * different, purge the existing nfs4_stateowner, and			 * instantiate a new one.			 */			clp = sop->so_client;			release_stateowner(sop);		}	} else {		/* nfs4_stateowner not found.		 * Verify clientid and instantiate new nfs4_stateowner.		 * If verify fails this is presumably the result of the		 * client's lease expiring.		 */		status = nfserr_expired;		clp = find_confirmed_client(clientid);		if (clp == NULL)			goto out;	}	status = nfserr_resource;	sop = alloc_init_open_stateowner(strhashval, clp, open);	if (sop == NULL)		goto out;	open->op_stateowner = sop;renew:	status = nfs_ok;	renew_client(sop->so_client);out:	return status;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/bd9aac523b812d58e644fde5e59f5697fb9e3822/nfs4state.c/buggy/fs/nfsd/nfs4state.c