cifsConvertToUCS((__u16 *) pSMB->FileName, fileName,
cifsConvertToUCS((__le16 *) pSMB->FileName, fileName,
CIFSSMBSetEOF(const int xid, struct cifsTconInfo *tcon, const char *fileName,	      __u64 size, int SetAllocation, 	      const struct nls_table *nls_codepage, int remap){	struct smb_com_transaction2_spi_req *pSMB = NULL;	struct smb_com_transaction2_spi_rsp *pSMBr = NULL;	struct file_end_of_file_info *parm_data;	int name_len;	int rc = 0;	int bytes_returned = 0;	__u16 params, byte_count, data_count, param_offset, offset;	cFYI(1, ("In SetEOF"));SetEOFRetry:	rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB,		      (void **) &pSMBr);	if (rc)		return rc;	if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) {		name_len =		    cifsConvertToUCS((__u16 *) pSMB->FileName, fileName,				     PATH_MAX, nls_codepage, remap);		name_len++;	/* trailing null */		name_len *= 2;	} else {		/* BB improve the check for buffer overruns BB */		name_len = strnlen(fileName, PATH_MAX);		name_len++;	/* trailing null */		strncpy(pSMB->FileName, fileName, name_len);	}	params = 6 + name_len;	data_count = sizeof (struct file_end_of_file_info);	pSMB->MaxParameterCount = cpu_to_le16(2);	pSMB->MaxDataCount = cpu_to_le16(1000);	/* BB find max SMB size from sess */	pSMB->MaxSetupCount = 0;	pSMB->Reserved = 0;	pSMB->Flags = 0;	pSMB->Timeout = 0;	pSMB->Reserved2 = 0;	param_offset = offsetof(struct smb_com_transaction2_spi_req,                                     InformationLevel) - 4;	offset = param_offset + params;	if(SetAllocation) {        	if (tcon->ses->capabilities & CAP_INFOLEVEL_PASSTHRU)	            pSMB->InformationLevel =                	cpu_to_le16(SMB_SET_FILE_ALLOCATION_INFO2);        	else	            pSMB->InformationLevel =        	        cpu_to_le16(SMB_SET_FILE_ALLOCATION_INFO);	} else /* Set File Size */  {    	    if (tcon->ses->capabilities & CAP_INFOLEVEL_PASSTHRU)		    pSMB->InformationLevel =		        cpu_to_le16(SMB_SET_FILE_END_OF_FILE_INFO2);	    else		    pSMB->InformationLevel =		        cpu_to_le16(SMB_SET_FILE_END_OF_FILE_INFO);	}	parm_data =	    (struct file_end_of_file_info *) (((char *) &pSMB->hdr.Protocol) +				       offset);	pSMB->ParameterOffset = cpu_to_le16(param_offset);	pSMB->DataOffset = cpu_to_le16(offset);	pSMB->SetupCount = 1;	pSMB->Reserved3 = 0;	pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION);	byte_count = 3 /* pad */  + params + data_count;	pSMB->DataCount = cpu_to_le16(data_count);	pSMB->TotalDataCount = pSMB->DataCount;	pSMB->ParameterCount = cpu_to_le16(params);	pSMB->TotalParameterCount = pSMB->ParameterCount;	pSMB->Reserved4 = 0;	pSMB->hdr.smb_buf_length += byte_count;	parm_data->FileSize = cpu_to_le64(size);	pSMB->ByteCount = cpu_to_le16(byte_count);	rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,			 (struct smb_hdr *) pSMBr, &bytes_returned, 0);	if (rc) {		cFYI(1, ("SetPathInfo (file size) returned %d", rc));	}	cifs_buf_release(pSMB);	if (rc == -EAGAIN)		goto SetEOFRetry;	return rc;}