cifs_buf_release(pSMB); 
cifs_small_buf_release(pSMB); 
CIFSSMBLock(const int xid, struct cifsTconInfo *tcon,	    const __u16 smb_file_id, const __u64 len,	    const __u64 offset, const __u32 numUnlock,	    const __u32 numLock, const __u8 lockType, const int waitFlag){	int rc = 0;	LOCK_REQ *pSMB = NULL;	LOCK_RSP *pSMBr = NULL;	int bytes_returned;	int timeout = 0;	__u16 count;	cFYI(1, ("In CIFSSMBLock - timeout %d numLock %d",waitFlag,numLock));	rc = smb_init(SMB_COM_LOCKING_ANDX, 8, tcon, (void **) &pSMB,		      (void **) &pSMBr);	if (rc)		return rc;	if(lockType == LOCKING_ANDX_OPLOCK_RELEASE) {		timeout = -1; /* no response expected */		pSMB->Timeout = 0;	} else if (waitFlag == TRUE) {		timeout = 3;  /* blocking operation, no timeout */		pSMB->Timeout = cpu_to_le32(-1);/* blocking - do not time out */	} else {		pSMB->Timeout = 0;	}	pSMB->NumberOfLocks = cpu_to_le16(numLock);	pSMB->NumberOfUnlocks = cpu_to_le16(numUnlock);	pSMB->LockType = lockType;	pSMB->AndXCommand = 0xFF;	/* none */	pSMB->Fid = smb_file_id; /* netfid stays le */	if((numLock != 0) || (numUnlock != 0)) {		pSMB->Locks[0].Pid = cpu_to_le16(current->tgid);		/* BB where to store pid high? */		pSMB->Locks[0].LengthLow = cpu_to_le32((u32)len);		pSMB->Locks[0].LengthHigh = cpu_to_le32((u32)(len>>32));		pSMB->Locks[0].OffsetLow = cpu_to_le32((u32)offset);		pSMB->Locks[0].OffsetHigh = cpu_to_le32((u32)(offset>>32));		count = sizeof(LOCKING_ANDX_RANGE);	} else {		/* oplock break */		count = 0;	}	pSMB->hdr.smb_buf_length += count;	pSMB->ByteCount = cpu_to_le16(count);	rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,			 (struct smb_hdr *) pSMBr, &bytes_returned, timeout);	if (rc) {		cFYI(1, ("Send error in Lock = %d", rc));	}	cifs_buf_release(pSMB);	/* Note: On -EAGAIN error only caller can retry on handle based calls 	since file handle passed in no longer valid */	return rc;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/46810cbf3d951c1ce8ce3311639996ad43ca4ed1/cifssmb.c/clean/fs/cifs/cifssmb.c