public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/6] cifs: copy_to_user and copy_from_user fixes
@ 2005-01-15 13:25 Pekka Enberg
  2005-01-15 13:26 ` [PATCH 2/6] cifs: remove dead code Pekka Enberg
  0 siblings, 1 reply; 6+ messages in thread
From: Pekka Enberg @ 2005-01-15 13:25 UTC (permalink / raw)
  To: sfrench; +Cc: linux-kernel

Check return value for copy_to_user() and copy_from_user().

Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
---

 cifssmb.c |   37 ++++++++++++++++++++++---------------
 file.c    |    6 +++++-
 2 files changed, 27 insertions(+), 16 deletions(-)

Index: linux/fs/cifs/cifssmb.c
===================================================================
--- linux.orig/fs/cifs/cifssmb.c	2005-01-12 19:43:26.012611064 +0200
+++ linux/fs/cifs/cifssmb.c	2005-01-12 20:03:29.307682408 +0200
@@ -886,25 +886,29 @@
 	pSMB->Reserved = 0xFFFFFFFF;
 	pSMB->WriteMode = 0;
 	pSMB->Remaining = 0;
-	/* BB can relax this if buffer is big enough in some cases - ie we can 
-	send more  if LARGE_WRITE_X capability returned by the server and if
-	our buffer is big enough or if we convert to iovecs on socket writes
-	and eliminate the copy to the CIFS buffer */
+	/*
+	 * BB can relax this if buffer is big enough in some cases - ie we can 
+	 * send more  if LARGE_WRITE_X capability returned by the server and if
+	 * our buffer is big enough or if we convert to iovecs on socket writes
+	 * and eliminate the copy to the CIFS buffer
+	 */
 	bytes_sent = (tcon->ses->server->maxBuf - MAX_CIFS_HDR_SIZE) & ~0xFF;
 	if (bytes_sent > count)
 		bytes_sent = count;
 	pSMB->DataLengthHigh = 0;
 	pSMB->DataOffset =
 	    cpu_to_le16(offsetof(struct smb_com_write_req,Data) - 4);
-    if(buf)
-	    memcpy(pSMB->Data,buf,bytes_sent);
-	else if(ubuf)
-		copy_from_user(pSMB->Data,ubuf,bytes_sent);
-    else {
-		/* No buffer */
-		if(pSMB)
-			cifs_buf_release(pSMB);
-		return -EINVAL;
+
+	if (buf)
+		memcpy(pSMB->Data, buf, bytes_sent);
+	else if (ubuf) {
+		if (copy_from_user(pSMB->Data, ubuf, bytes_sent)) {
+			rc = -EFAULT;
+			goto out_release;
+		}
+	} else {
+		rc = -EINVAL;
+		goto out_release;
 	}
 
 	byte_count = bytes_sent + 1 /* pad */ ;
@@ -921,11 +925,14 @@
 	} else
 		*nbytes = le16_to_cpu(pSMBr->Count);
 
+ out_release:
 	if (pSMB)
 		cifs_buf_release(pSMB);
 
-	/* Note: On -EAGAIN error only caller can retry on handle based calls 
-		since file handle passed in no longer valid */
+	/*
+	 * Note: On -EAGAIN error only caller can retry on handle based calls
+	 * since file handle passed in no longer valid
+	 */
 
 	return rc;
 }
Index: linux/fs/cifs/file.c
===================================================================
--- linux.orig/fs/cifs/file.c	2005-01-12 19:43:26.018610152 +0200
+++ linux/fs/cifs/file.c	2005-01-12 20:02:29.110833720 +0200
@@ -1165,8 +1165,12 @@
 				 &bytes_read, &smb_read_data);
 
 			pSMBr = (struct smb_com_read_rsp *)smb_read_data;
-			copy_to_user(current_offset,smb_read_data + 4/* RFC1001 hdr*/
+			rc = copy_to_user(current_offset, smb_read_data + 4 /* RFC1001 hdr */
 				+ le16_to_cpu(pSMBr->DataOffset), bytes_read);
+			if (rc) {
+				FreeXid(xid);
+				return -EFAULT;
+			}
 			if(smb_read_data) {
 				cifs_buf_release(smb_read_data);
 				smb_read_data = NULL;



^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 2/6] cifs: remove dead code
  2005-01-15 13:25 [PATCH 1/6] cifs: copy_to_user and copy_from_user fixes Pekka Enberg
@ 2005-01-15 13:26 ` Pekka Enberg
  2005-01-15 13:28   ` [PATCH 3/6] cifs: enum conversion Pekka Enberg
  0 siblings, 1 reply; 6+ messages in thread
From: Pekka Enberg @ 2005-01-15 13:26 UTC (permalink / raw)
  To: sfrench; +Cc: linux-kernel

This patch removes commented out code.

Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
---

 asn1.c        |  122 ----------------------------------------------------------
 cifsencrypt.c |    5 --
 cifsfs.c      |   25 -----------
 cifssmb.c     |   48 +---------------------
 connect.c     |   25 -----------
 dir.c         |   18 --------
 fcntl.c       |    5 --
 file.c        |  105 -------------------------------------------------
 inode.c       |   27 ------------
 link.c        |   13 ------
 misc.c        |    6 --
 readdir.c     |   62 -----------------------------
 transport.c   |    2 
 13 files changed, 6 insertions(+), 457 deletions(-)

Index: 2.6/fs/cifs/asn1.c
===================================================================
--- 2.6.orig/fs/cifs/asn1.c	2005-01-12 23:39:37.335242560 +0200
+++ 2.6/fs/cifs/asn1.c	2005-01-12 23:39:40.806714816 +0200
@@ -236,128 +236,6 @@
 	}
 }
 
-/* static unsigned char asn1_null_decode(struct asn1_ctx *ctx,
-				      unsigned char *eoc)
-{
-	ctx->pointer = eoc;
-	return 1;
-}
-
-static unsigned char asn1_long_decode(struct asn1_ctx *ctx,
-				      unsigned char *eoc, long *integer)
-{
-	unsigned char ch;
-	unsigned int len;
-
-	if (!asn1_octet_decode(ctx, &ch))
-		return 0;
-
-	*integer = (signed char) ch;
-	len = 1;
-
-	while (ctx->pointer < eoc) {
-		if (++len > sizeof(long)) {
-			ctx->error = ASN1_ERR_DEC_BADVALUE;
-			return 0;
-		}
-
-		if (!asn1_octet_decode(ctx, &ch))
-			return 0;
-
-		*integer <<= 8;
-		*integer |= ch;
-	}
-	return 1;
-}
-
-static unsigned char asn1_uint_decode(struct asn1_ctx *ctx,
-				      unsigned char *eoc,
-				      unsigned int *integer)
-{
-	unsigned char ch;
-	unsigned int len;
-
-	if (!asn1_octet_decode(ctx, &ch))
-		return 0;
-
-	*integer = ch;
-	if (ch == 0)
-		len = 0;
-	else
-		len = 1;
-
-	while (ctx->pointer < eoc) {
-		if (++len > sizeof(unsigned int)) {
-			ctx->error = ASN1_ERR_DEC_BADVALUE;
-			return 0;
-		}
-
-		if (!asn1_octet_decode(ctx, &ch))
-			return 0;
-
-		*integer <<= 8;
-		*integer |= ch;
-	}
-	return 1;
-}
-
-static unsigned char asn1_ulong_decode(struct asn1_ctx *ctx,
-				       unsigned char *eoc,
-				       unsigned long *integer)
-{
-	unsigned char ch;
-	unsigned int len;
-
-	if (!asn1_octet_decode(ctx, &ch))
-		return 0;
-
-	*integer = ch;
-	if (ch == 0)
-		len = 0;
-	else
-		len = 1;
-
-	while (ctx->pointer < eoc) {
-		if (++len > sizeof(unsigned long)) {
-			ctx->error = ASN1_ERR_DEC_BADVALUE;
-			return 0;
-		}
-
-		if (!asn1_octet_decode(ctx, &ch))
-			return 0;
-
-		*integer <<= 8;
-		*integer |= ch;
-	}
-	return 1;
-} 
-
-static unsigned char
-asn1_octets_decode(struct asn1_ctx *ctx,
-		   unsigned char *eoc,
-		   unsigned char **octets, unsigned int *len)
-{
-	unsigned char *ptr;
-
-	*len = 0;
-
-	*octets = kmalloc(eoc - ctx->pointer, GFP_ATOMIC);
-	if (*octets == NULL) {
-		return 0;
-	}
-
-	ptr = *octets;
-	while (ctx->pointer < eoc) {
-		if (!asn1_octet_decode(ctx, (unsigned char *) ptr++)) {
-			kfree(*octets);
-			*octets = NULL;
-			return 0;
-		}
-		(*len)++;
-	}
-	return 1;
-} */
-
 static unsigned char
 asn1_subid_decode(struct asn1_ctx *ctx, unsigned long *subid)
 {
Index: 2.6/fs/cifs/cifsencrypt.c
===================================================================
--- 2.6.orig/fs/cifs/cifsencrypt.c	2005-01-12 23:39:37.336242408 +0200
+++ 2.6/fs/cifs/cifsencrypt.c	2005-01-12 23:39:40.807714664 +0200
@@ -120,9 +120,6 @@
 	if(rc)
 		return rc;
 
-	
-/*	cifs_dump_mem("what we think it should be: ",what_we_think_sig_should_be,16); */
-
 	if(memcmp(server_response_sig, what_we_think_sig_should_be, 8))
 		return -EACCES;
 	else
@@ -198,11 +195,9 @@
 {
 	struct HMACMD5Context context;
 	memcpy(v2_session_response + 8, ses->server->cryptKey,8);
-	/* gen_blob(v2_session_response + 16); */
 	hmac_md5_init_limK_to_64(ses->mac_signing_key, 16, &context);
 
 	hmac_md5_update(ses->server->cryptKey,8,&context);
-/*	hmac_md5_update(v2_session_response+16)client thing,8,&context); */ /* BB fix */
 
 	hmac_md5_final(v2_session_response,&context);
 }
Index: 2.6/fs/cifs/cifsfs.c
===================================================================
--- 2.6.orig/fs/cifs/cifsfs.c	2005-01-12 23:39:37.337242256 +0200
+++ 2.6/fs/cifs/cifsfs.c	2005-01-12 23:39:40.808714512 +0200
@@ -109,8 +109,6 @@
 
 	sb->s_magic = CIFS_MAGIC_NUMBER;
 	sb->s_op = &cifs_super_ops;
-/*	if(cifs_sb->tcon->ses->server->maxBuf > MAX_CIFS_HDR_SIZE + 512)
-	    sb->s_blocksize = cifs_sb->tcon->ses->server->maxBuf - MAX_CIFS_HDR_SIZE; */
 #ifdef CONFIG_CIFS_QUOTA
 	sb->s_qcop = &cifs_quotactl_ops;
 #endif
@@ -191,10 +189,6 @@
 
 	rc = CIFSSMBQFSInfo(xid, pTcon, buf, cifs_sb->local_nls);
 
-	/*     
-	   int f_type;
-	   __fsid_t f_fsid;
-	   int f_namelen;  */
 	/* BB get from info put in tcon struct at mount time with call to QFSAttrInfo */
 	FreeXid(xid);
 	return 0;		/* always return success? what if volume is no longer available? */
@@ -400,12 +394,7 @@
 	.statfs = cifs_statfs,
 	.alloc_inode = cifs_alloc_inode,
 	.destroy_inode = cifs_destroy_inode,
-/*	.drop_inode	    = generic_delete_inode, 
-	.delete_inode	= cifs_delete_inode,  *//* Do not need the above two functions     
-   unless later we add lazy close of inodes or unless the kernel forgets to call
-   us with the same number of releases (closes) as opens */
 	.show_options = cifs_show_options,
-/*    .umount_begin   = cifs_umount_begin, *//* consider adding in the future */
 	.remount_fs = cifs_remount,
 };
 
@@ -463,11 +452,6 @@
 		return generic_file_read(file,read_data,read_size,poffset);
 	} else {
 		/* BB do we need to lock inode from here until after invalidate? */
-/*		if(file->f_dentry->d_inode->i_mapping) {
-			filemap_fdatawrite(file->f_dentry->d_inode->i_mapping);
-			filemap_fdatawait(file->f_dentry->d_inode->i_mapping);
-		}*/
-/*		cifs_revalidate(file->f_dentry);*/ /* BB fixme */
 
 		/* BB we should make timer configurable - perhaps 
 		   by simply calling cifs_revalidate here */
@@ -519,7 +503,6 @@
 	.name = "cifs",
 	.get_sb = cifs_get_sb,
 	.kill_sb = kill_anon_super,
-	/*  .fs_flags */
 };
 struct inode_operations cifs_dir_inode_ops = {
 	.create = cifs_create,
@@ -531,7 +514,6 @@
 	.rmdir = cifs_rmdir,
 	.rename = cifs_rename,
 	.permission = cifs_permission,
-/*	revalidate:cifs_revalidate,   */
 	.setattr = cifs_setattr,
 	.symlink = cifs_symlink,
 	.mknod   = cifs_mknod,
@@ -544,7 +526,6 @@
 };
 
 struct inode_operations cifs_file_inode_ops = {
-/*	revalidate:cifs_revalidate, */
 	.setattr = cifs_setattr,
 	.getattr = cifs_getattr, /* do we need this anymore? */
 	.rename = cifs_rename,
@@ -562,9 +543,6 @@
 	.follow_link = cifs_follow_link,
 	.put_link = cifs_put_link,
 	.permission = cifs_permission,
-	/* BB add the following two eventually */
-	/* revalidate: cifs_revalidate,
-	   setattr:    cifs_notify_change, *//* BB do we need notify change */
 #ifdef CONFIG_CIFS_XATTR
 	.setxattr = cifs_setxattr,
 	.getxattr = cifs_getxattr,
@@ -641,7 +619,6 @@
 	} else {
 		CIFSMaxBufSize &= 0x1FE00; /* Round size to even 512 byte mult*/
 	}
-/*	cERROR(1,("CIFSMaxBufSize %d 0x%x",CIFSMaxBufSize,CIFSMaxBufSize)); */
 	cifs_req_cachep = kmem_cache_create("cifs_request",
 					    CIFSMaxBufSize +
 					    MAX_CIFS_HDR_SIZE, 0,
@@ -794,7 +771,6 @@
 				deadlock when oplock received on delete 
 				since vfs_unlink holds the i_sem across
 				the call */
-				/* down(&inode->i_sem);*/
 				if (S_ISREG(inode->i_mode)) {
 					rc = filemap_fdatawrite(inode->i_mapping);
 					if(CIFS_I(inode)->clientCanCacheRead == 0) {
@@ -803,7 +779,6 @@
 					}
 				} else
 					rc = 0;
-				/* up(&inode->i_sem);*/
 				if (rc)
 					CIFS_I(inode)->write_behind_rc = rc;
 				cFYI(1,("Oplock flush inode %p rc %d",inode,rc));
Index: 2.6/fs/cifs/cifssmb.c
===================================================================
--- 2.6.orig/fs/cifs/cifssmb.c	2005-01-12 23:39:39.111972456 +0200
+++ 2.6/fs/cifs/cifssmb.c	2005-01-12 23:39:40.817713144 +0200
@@ -739,8 +739,6 @@
 	if (tcon->ses->capabilities & CAP_UNIX)
 		pSMB->FileAttributes |= cpu_to_le32(ATTR_POSIX_SEMANTICS);
 
-	/* if ((omode & S_IWUGO) == 0)
-		pSMB->FileAttributes |= cpu_to_le32(ATTR_READONLY);*/
 	/*  Above line causes problems due to vfs splitting create into two
 		pieces - need to set mode after file created not while it is
 		being created */
@@ -838,10 +836,6 @@
 			pReadData =
 			    (char *) (&pSMBr->hdr.Protocol) +
 			    le16_to_cpu(pSMBr->DataOffset);
-/*			if(rc = copy_to_user(buf, pReadData, data_length)) {
-				cERROR(1,("Faulting on read rc = %d",rc));
-				rc = -EFAULT;
-			}*/ /* can not use copy_to_user when using page cache*/
 			if(*buf)
 			    memcpy(*buf,pReadData,data_length);
 		}
@@ -979,13 +973,7 @@
 	pSMB->hdr.smb_buf_length += byte_count;
 	pSMB->ByteCount = cpu_to_le16(byte_count);
 
-/*	rc = SendReceive2(xid, tcon->ses, (struct smb_hdr *) pSMB,
-			 (struct smb_hdr *) pSMBr, buf, buflen, &bytes_returned, long_op); */  /* BB fixme BB */
-	if (rc) {
-		cFYI(1, ("Send error in write2 (large write) = %d", rc));
-		*nbytes = 0;
-	} else
-		*nbytes = le16_to_cpu(pSMBr->Count);
+	*nbytes = le16_to_cpu(pSMBr->Count);
 
 	if (pSMB)
 		cifs_small_buf_release(pSMB);
@@ -1774,9 +1762,6 @@
 	ace->e_perm = (__u16)cifs_ace->cifs_e_perm; 
 	ace->e_tag  = (__u16)cifs_ace->cifs_e_tag;
 	ace->e_id   = (__u32)le64_to_cpu(cifs_ace->cifs_uid);
-	/* cFYI(1,("perm %d tag %d id %d",ace->e_perm,ace->e_tag,ace->e_id)); */
-
-	return;
 }
 
 /* Convert ACL from CIFS POSIX wire format to local Linux POSIX ACL xattr */
@@ -1846,7 +1831,6 @@
 		cifs_ace->cifs_uid = cpu_to_le64(-1);
 	} else 
 		cifs_ace->cifs_uid = (__u64)cpu_to_le32(local_ace->e_id);
-        /*cFYI(1,("perm %d tag %d id %d",ace->e_perm,ace->e_tag,ace->e_id));*/
 	return rc;
 }
 
@@ -2079,7 +2063,6 @@
 	int name_len;
 	__u16 params, byte_count;
 
-/* cFYI(1, ("In QPathInfo path %s", searchName)); */ /* BB fixme BB */
 QPathInfoRetry:
 	rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB,
 		      (void **) &pSMBr);
@@ -2537,7 +2520,6 @@
 			psrch_inf->entries_in_buffer  = le16_to_cpu(parms->SearchCount);
 			psrch_inf->index_of_last_entry = 
 				psrch_inf->entries_in_buffer;
-/*cFYI(1,("entries in buf %d index_of_last %d",psrch_inf->entries_in_buffer,psrch_inf->index_of_last_entry));  */
 			*pnetfid = parms->SearchHandle;
 		} else {
 			if(pSMB)
@@ -2590,15 +2572,6 @@
 	pSMB->SearchHandle = searchHandle;      /* always kept as le */
 	pSMB->SearchCount =
 		cpu_to_le16(CIFSMaxBufSize / sizeof (FILE_UNIX_INFO));
-	/* test for Unix extensions */
-/*	if (tcon->ses->capabilities & CAP_UNIX) {
-		pSMB->InformationLevel = cpu_to_le16(SMB_FIND_FILE_UNIX);
-		psrch_inf->info_level = SMB_FIND_FILE_UNIX;
-	} else {
-		pSMB->InformationLevel =
-		   cpu_to_le16(SMB_FIND_FILE_DIRECTORY_INFO);
-		psrch_inf->info_level = SMB_FIND_FILE_DIRECTORY_INFO;
-	} */
 	pSMB->InformationLevel = cpu_to_le16(psrch_inf->info_level);
 	pSMB->ResumeKey = psrch_inf->resume_key;
 	pSMB->SearchFlags =
@@ -2653,8 +2626,6 @@
 			psrch_inf->entries_in_buffer  = le16_to_cpu(parms->SearchCount);
 			psrch_inf->index_of_last_entry +=
 				psrch_inf->entries_in_buffer;
-/*  cFYI(1,("fnxt2 entries in buf %d index_of_last %d",psrch_inf->entries_in_buffer,psrch_inf->index_of_last_entry)); */
-
 			/* BB fixme add unlock here */
 		}
 
@@ -3798,8 +3769,6 @@
 	}
 	if (pSMB)
 		cifs_buf_release(pSMB);
-/*		if (rc == -EAGAIN)
-			goto NotifyRetry; */
 	return rc;	
 }
 #ifdef CONFIG_CIFS_XATTR
@@ -3875,11 +3844,7 @@
 		of these trans2 responses */
 		if (rc || (pSMBr->ByteCount < 4)) 
 			rc = -EIO;	/* bad smb */
-	   /* else if (pFindData){
-			memcpy((char *) pFindData,
-			       (char *) &pSMBr->hdr.Protocol +
-			       data_offset, kl);
-		}*/ else {
+		else {
 			/* check that length of list is not more than bcc */
 			/* check that each entry does not go beyond length
 			   of list */
@@ -3888,7 +3853,6 @@
 			__u16 data_offset = le16_to_cpu(pSMBr->t2.DataOffset);
 			struct fealist * ea_response_data;
 			rc = 0;
-			/* validate_trans2_offsets() */
 			/* BB to check if(start of smb + data_offset > &bcc+ bcc)*/
 			ea_response_data = (struct fealist *)
 				(((char *) &pSMBr->hdr.Protocol) +
@@ -4019,11 +3983,7 @@
 		of these trans2 responses */
 		if (rc || (pSMBr->ByteCount < 4)) 
 			rc = -EIO;	/* bad smb */
-	   /* else if (pFindData){
-			memcpy((char *) pFindData,
-			       (char *) &pSMBr->hdr.Protocol +
-			       data_offset, kl);
-		}*/ else {
+		else {
 			/* check that length of list is not more than bcc */
 			/* check that each entry does not go beyond length
 			   of list */
@@ -4032,7 +3992,6 @@
 			__u16 data_offset = le16_to_cpu(pSMBr->t2.DataOffset);
 			struct fealist * ea_response_data;
 			rc = -ENODATA;
-			/* validate_trans2_offsets() */
 			/* BB to check if(start of smb + data_offset > &bcc+ bcc)*/
 			ea_response_data = (struct fealist *)
 				(((char *) &pSMBr->hdr.Protocol) +
@@ -4176,7 +4135,6 @@
 	we need to ensure that it fits within the smb */
 
 	/*BB add length check that it would fit in negotiated SMB buffer size BB */
-	/* if(ea_value_len > buffer_size - 512 (enough for header)) */
 	if(ea_value_len)
 		memcpy(parm_data->list[0].name+name_len+1,ea_value,ea_value_len);
 
Index: 2.6/fs/cifs/connect.c
===================================================================
--- 2.6.orig/fs/cifs/connect.c	2005-01-12 23:39:37.344241192 +0200
+++ 2.6/fs/cifs/connect.c	2005-01-12 23:39:40.821712536 +0200
@@ -184,7 +184,6 @@
 			if(server->tcpStatus != CifsExiting)
 				server->tcpStatus = CifsGood;
 			spin_unlock(&GlobalMid_Lock);
-	/*		atomic_set(&server->inFlight,0);*/
 			wake_up(&server->response_q);
 		}
 	}
@@ -1200,8 +1199,6 @@
 
 	xid = GetXid();
 
-/* cFYI(1, ("Entering cifs_mount. Xid: %d with: %s", xid, mount_data)); */
-	
 	memset(&volume_info,0,sizeof(struct smb_vol));
 	if (cifs_parse_mount_options(mount_data, devname, &volume_info)) {
 		if(volume_info.UNC)
@@ -1518,7 +1515,6 @@
 				} else
 					cFYI(1, ("No session or bad tcon"));
 				sesInfoFree(pSesInfo);
-				/* pSesInfo = NULL; */
 			}
 		}
 	} else {
@@ -1928,7 +1924,6 @@
 	rc = SendReceive(xid, ses, smb_buffer, smb_buffer_response,
 			 &bytes_returned, 1);
 	if (rc) {
-/*    rc = map_smb_to_linux_error(smb_buffer_response);  *//* done in SendReceive now */
 	} else if ((smb_buffer_response->WordCount == 3)
 		   || (smb_buffer_response->WordCount == 4)) {
 		__u16 action = le16_to_cpu(pSMBr->resp.Action);
@@ -2137,7 +2132,7 @@
 	negotiate_flags =
 	    NTLMSSP_NEGOTIATE_UNICODE | NTLMSSP_NEGOTIATE_OEM |
 	    NTLMSSP_REQUEST_TARGET | NTLMSSP_NEGOTIATE_NTLM | 0x80000000 |
-	    /* NTLMSSP_NEGOTIATE_ALWAYS_SIGN | */ NTLMSSP_NEGOTIATE_128;
+	    NTLMSSP_NEGOTIATE_128;
 	if(sign_CIFS_PDUs)
 		negotiate_flags |= NTLMSSP_NEGOTIATE_SIGN;
 	if(ntlmv2_support)
@@ -2218,7 +2213,6 @@
 		rc = 0;
 
 	if (rc) {
-/*    rc = map_smb_to_linux_error(smb_buffer_response);  *//* done in SendReceive now */
 	} else if ((smb_buffer_response->WordCount == 3)
 		   || (smb_buffer_response->WordCount == 4)) {
 		__u16 action = le16_to_cpu(pSMBr->resp.Action);
@@ -2483,7 +2477,7 @@
 	    NTLMSSP_NEGOTIATE_NTLM | NTLMSSP_NEGOTIATE_TARGET_INFO |
 	    0x80000000 | NTLMSSP_NEGOTIATE_128;
 	if(sign_CIFS_PDUs)
-		negotiate_flags |= /* NTLMSSP_NEGOTIATE_ALWAYS_SIGN |*/ NTLMSSP_NEGOTIATE_SIGN;
+		negotiate_flags |= NTLMSSP_NEGOTIATE_SIGN;
 	if(ntlmv2_flag)
 		negotiate_flags |= NTLMSSP_NEGOTIATE_NTLMV2;
 
@@ -2548,14 +2542,6 @@
 			    cpu_to_le16(len);
 		}
 
-		/* SecurityBlob->WorkstationName.Length = cifs_strtoUCS((wchar_t *) bcc_ptr, "AMACHINE",64, nls_codepage);
-		   SecurityBlob->WorkstationName.Length *= 2;
-		   SecurityBlob->WorkstationName.MaximumLength = cpu_to_le16(SecurityBlob->WorkstationName.Length);
-		   SecurityBlob->WorkstationName.Buffer = cpu_to_le32(SecurityBlobLength);
-		   bcc_ptr += SecurityBlob->WorkstationName.Length;
-		   SecurityBlobLength += SecurityBlob->WorkstationName.Length;
-		   SecurityBlob->WorkstationName.Length = cpu_to_le16(SecurityBlob->WorkstationName.Length);  */
-
 		if ((long) bcc_ptr % 2) {
 			*bcc_ptr = 0;
 			bcc_ptr++;
@@ -2633,7 +2619,6 @@
 	rc = SendReceive(xid, ses, smb_buffer, smb_buffer_response,
 			 &bytes_returned, 1);
 	if (rc) {
-/*    rc = map_smb_to_linux_error(smb_buffer_response);  *//* done in SendReceive now */
 	} else if ((smb_buffer_response->WordCount == 3)
 		   || (smb_buffer_response->WordCount == 4)) {
 		__u16 action = le16_to_cpu(pSMBr->resp.Action);
@@ -2641,9 +2626,6 @@
 		    le16_to_cpu(pSMBr->resp.SecurityBlobLength);
 		if (action & GUEST_LOGIN)
 			cFYI(1, (" Guest login"));	/* BB do we want to set anything in SesInfo struct ? */
-/*        if(SecurityBlob2->MessageType != NtLm??){                               
-                 cFYI("Unexpected message type on auth response is %d ")); 
-        } */
 		if (ses) {
 			cFYI(1,
 			     ("Does UID on challenge %d match auth response UID %d ",
@@ -2856,8 +2838,6 @@
 
 	rc = SendReceive(xid, ses, smb_buffer, smb_buffer_response, &length, 0);
 
-	/* if (rc) rc = map_smb_to_linux_error(smb_buffer_response); */
-	/* above now done in SendReceive */
 	if ((rc == 0) && (tcon != NULL)) {
 		tcon->tidStatus = CifsGood;
 		tcon->tid = smb_buffer_response->Tid;
@@ -3017,7 +2997,6 @@
 					v2_response = kmalloc(16 + 64 /* blob */, GFP_KERNEL);
 					if(v2_response) {
 						CalcNTLMv2_response(pSesInfo,v2_response);
-/*						cifs_calculate_ntlmv2_mac_key(pSesInfo->mac_signing_key, response, ntlm_session_key, */
 						kfree(v2_response);
 					/* BB Put dummy sig in SessSetup PDU? */
 					} else
Index: 2.6/fs/cifs/dir.c
===================================================================
--- 2.6.orig/fs/cifs/dir.c	2005-01-12 23:39:37.345241040 +0200
+++ 2.6/fs/cifs/dir.c	2005-01-12 23:39:40.822712384 +0200
@@ -297,7 +297,6 @@
 				pCifsFile->closePend     = FALSE;
 				init_MUTEX(&pCifsFile->fh_sem);
 				/* put the following in at open now */
-				/* pCifsFile->pfile = file; */ 
 				write_lock(&GlobalSMBSeslock);
 				list_add(&pCifsFile->tlist,&pTcon->openFileList);
 				pCifsInode = CIFS_I(newinode);
@@ -489,11 +488,8 @@
 {
 	int isValid = 1;
 
-/*	lock_kernel(); *//* surely we do not want to lock the kernel for a whole network round trip which could take seconds */
-
 	if (direntry->d_inode) {
 		if (cifs_revalidate(direntry)) {
-			/* unlock_kernel(); */
 			return 0;
 		}
 	} else {
@@ -501,23 +497,9 @@
 		     ("In cifs_d_revalidate with no inode but name = %s and dentry 0x%p",
 		      direntry->d_name.name, direntry));
 	}
-
-/*    unlock_kernel(); */
-
 	return isValid;
 }
 
-/* static int cifs_d_delete(struct dentry *direntry)
-{
-	int rc = 0;
-
-	cFYI(1, ("In cifs d_delete, name = %s", direntry->d_name.name));
-
-	return rc;
-}     */
-
 struct dentry_operations cifs_dentry_ops = {
 	.d_revalidate = cifs_d_revalidate,
-/* d_delete:       cifs_d_delete,       *//* not needed except for debugging */
-	/* no need for d_hash, d_compare, d_release, d_iput ... yet. BB confirm this BB */
 };
Index: 2.6/fs/cifs/fcntl.c
===================================================================
--- 2.6.orig/fs/cifs/fcntl.c	2005-01-12 23:39:37.346240888 +0200
+++ 2.6/fs/cifs/fcntl.c	2005-01-12 23:39:40.823712232 +0200
@@ -58,11 +58,6 @@
 		cifs_ntfy_flags |= FILE_NOTIFY_CHANGE_SECURITY | 
 			FILE_NOTIFY_CHANGE_ATTRIBUTES;
 	}
-/*	if(fcntl_notify_flags & DN_MULTISHOT) {
-		cifs_ntfy_flags |= ;
-	} */ /* BB fixme - not sure how to handle this with CIFS yet */
-
-
 	return cifs_ntfy_flags;
 }
 
Index: 2.6/fs/cifs/file.c
===================================================================
--- 2.6.orig/fs/cifs/file.c	2005-01-12 23:39:39.114972000 +0200
+++ 2.6/fs/cifs/file.c	2005-01-12 23:39:40.826711776 +0200
@@ -340,14 +340,6 @@
 	 and server version of file size can be stale. If we 
 	 knew for sure that inode was not dirty locally we could do this */
 
-/*	buf = kmalloc(sizeof(FILE_ALL_INFO),GFP_KERNEL);
-	if(buf==0) {
-		up(&pCifsFile->fh_sem);
-		if (full_path)
-			kfree(full_path);
-		FreeXid(xid);
-		return -ENOMEM;
-	}*/
 	rc = CIFSSMBOpen(xid, pTcon, full_path, disposition, desiredAccess,
 				CREATE_NOT_DIR, &netfid, &oplock, NULL, cifs_sb->local_nls);
 	if (rc) {
@@ -584,7 +576,6 @@
 			rc = 0;
 
 		} else {
-			/* if rc == ERR_SHARING_VIOLATION ? */
 			rc = 0;	/* do not change lock type to unlock since range in use */
 		}
 
@@ -624,10 +615,6 @@
 	}
 	pTcon = cifs_sb->tcon;
 
-	/*cFYI(1,
-	   (" write %d bytes to offset %lld of %s", write_size,
-	   *poffset, file->f_dentry->d_name.name)); */
-
 	if (file->private_data == NULL) {
 		return -EBADF;
 	} else {
@@ -744,10 +731,6 @@
 	}
 	pTcon = cifs_sb->tcon;
 
-	/*cFYI(1,
-	   (" write %d bytes to offset %lld of %s", write_size,
-	   *poffset, file->f_dentry->d_name.name)); */
-
 	if (file->private_data == NULL) {
 		return -EBADF;
 	} else {
@@ -937,20 +920,6 @@
 	return rc;
 }
 
-#if 0
-static int
-cifs_writepages(struct address_space *mapping, struct writeback_control *wbc)
-{
-	int rc = -EFAULT;
-	int xid;
-
-	xid = GetXid();
-/* call 16K write then Setpageuptodate */
-	FreeXid(xid);
-	return rc;
-}
-#endif
-
 static int
 cifs_writepage(struct page* page, struct writeback_control *wbc)
 {
@@ -986,30 +955,6 @@
 	cFYI(1,("commit write for page %p up to position %lld for %d",page,position,to));
 	if (position > inode->i_size){
 		i_size_write(inode, position);
-		/*if (file->private_data == NULL) {
-			rc = -EBADF;
-		} else {
-			open_file = (struct cifsFileInfo *)file->private_data;
-			cifs_sb = CIFS_SB(inode->i_sb);
-			rc = -EAGAIN;
-			while(rc == -EAGAIN) {
-				if((open_file->invalidHandle) && 
-				  (!open_file->closePend)) {
-					rc = cifs_reopen_file(file->f_dentry->d_inode,file);
-					if(rc != 0)
-						break;
-				}
-				if(!open_file->closePend) {
-					rc = CIFSSMBSetFileSize(xid, cifs_sb->tcon, 
-						position, open_file->netfid,
-						open_file->pid,FALSE);
-				} else {
-					rc = -EBADF;
-					break;
-				}
-			}
-			cFYI(1,(" SetEOF (commit write) rc = %d",rc));
-		}*/
 	}
 	if (!PageUptodate(page)) {
 		position =  ((loff_t)page->index << PAGE_CACHE_SHIFT) + offset;
@@ -1031,7 +976,6 @@
                                         &position);
 		if(rc > 0)
 			rc = 0;
-		/* else if rc < 0 should we set writebehind rc? */
 		kunmap(page);
 	} else {	
 		set_page_dirty(page);
@@ -1060,33 +1004,6 @@
 	return rc;
 }
 
-/* static int
-cifs_sync_page(struct page *page)
-{
-	struct address_space *mapping;
-	struct inode *inode;
-	unsigned long index = page->index;
-	unsigned int rpages = 0;
-	int rc = 0;
-
-	cFYI(1,("sync page %p",page));
-	mapping = page->mapping;
-	if (!mapping)
-		return 0;
-	inode = mapping->host;
-	if (!inode)
-		return 0;*/
-
-/*	fill in rpages then 
-    result = cifs_pagein_inode(inode, index, rpages); *//* BB finish */
-
-/*   cFYI(1, ("rpages is %d for sync page of Index %ld ", rpages, index));
-
-	if (rc < 0)
-		return rc;
-	return 0;
-} */
-
 /*
  * As file closes, flush all cached write data for this inode checking
  * for write behind errors.
@@ -1444,13 +1361,6 @@
 				/* server copy of file can have smaller size than client */
 				/* BB do we need to verify this common case ? this case is ok - 
 				if we are at server EOF we will hit it on next read */
-
-			/* while(!list_empty(page_list) && (i < num_pages)) {
-					page = list_entry(page_list->prev,struct page, list);
-					list_del(&page->list);
-					page_cache_release(page);
-				}
-				break; */
 			}
 		} else {
 			cFYI(1,("No bytes read (%d) at offset %lld . Cleaning remaining pages from readahead list",bytes_read,offset)); 
@@ -1622,10 +1532,6 @@
 			tmp_inode->i_mode = cifs_sb->mnt_dir_mode;
 		}
 		tmp_inode->i_mode |= S_IFDIR;
-/* we no longer mark these because we could not follow them */
-/*        } else if (attr & ATTR_REPARSE) {
-                *pobject_type = DT_LNK;
-                tmp_inode->i_mode |= S_IFLNK;*/
 	} else {
 		*pobject_type = DT_REG;
 		tmp_inode->i_mode |= S_IFREG;
@@ -1746,7 +1652,6 @@
 	} else if (S_ISLNK(tmp_inode->i_mode)) {
 		cFYI(1, ("Symbolic Link inode"));
 		tmp_inode->i_op = &cifs_symlink_inode_ops;
-/* tmp_inode->i_fop = *//* do not need to set to anything */
 	} else {
 		cFYI(1, ("Special inode")); 
 		init_special_inode(tmp_inode, tmp_inode->i_mode,
@@ -2179,7 +2084,6 @@
 					(FILE_DIRECTORY_INFO *) ((char *) pfindData
 						 + le32_to_cpu(pfindData->NextEntryOffset));
 				/* BB also should check to make sure that pointer is not beyond the end of the SMB */
-				/* if(pfindData > lastFindData) rc = -EIO; break; */
 			}	/* end for loop */
 			if ((findParms.EndofSearch != 0) && cifsFile) {
 				cifsFile->srch_inf.endOfSearch = TRUE;
@@ -2405,13 +2309,6 @@
         loff_t offset = (loff_t)page->index << PAGE_CACHE_SHIFT;
 	cFYI(1,("prepare write for page %p from %d to %d",page,from,to));
 	if (!PageUptodate(page)) {
-	/*	if (to - from != PAGE_CACHE_SIZE) {
-			void *kaddr = kmap_atomic(page, KM_USER0);
-			memset(kaddr, 0, from);
-			memset(kaddr + to, 0, PAGE_CACHE_SIZE - to);
-			flush_dcache_page(page);
-			kunmap_atomic(kaddr, KM_USER0);
-		} */
 		/* If we are writing a full page it will be up to date,
 		no need to read from the server */
 		if((to==PAGE_CACHE_SIZE) && (from == 0))
@@ -2440,6 +2337,4 @@
 	.prepare_write = cifs_prepare_write, 
 	.commit_write = cifs_commit_write,
 	.set_page_dirty = __set_page_dirty_nobuffers,
-   /* .sync_page = cifs_sync_page, */
-	/*.direct_IO = */
 };
Index: 2.6/fs/cifs/inode.c
===================================================================
--- 2.6.orig/fs/cifs/inode.c	2005-01-12 23:39:37.350240280 +0200
+++ 2.6/fs/cifs/inode.c	2005-01-12 23:39:40.828711472 +0200
@@ -49,7 +49,6 @@
 	/* we could have done a find first instead but this returns more info */
 	rc = CIFSSMBUnixQPathInfo(xid, pTcon, search_path, &findData,
 				  cifs_sb->local_nls);
-	/* dump_mem("\nUnixQPathInfo return data", &findData, sizeof(findData)); */
 	if (rc) {
 		if (rc == -EREMOTE) {
 			tmp_path =
@@ -149,9 +148,6 @@
 		size of 512 is required to be used for calculating num blocks */
 		 
 
-/*		inode->i_blocks = 
-	                (inode->i_blksize - 1 + num_of_bytes) >> inode->i_blkbits;*/
-
 		/* 512 bytes (2**9) is the fake blocksize that must be used */
 		/* for this calculation */
 			inode->i_blocks = (512 - 1 + num_of_bytes) >> 9;
@@ -174,7 +170,6 @@
 		} else if (S_ISLNK(inode->i_mode)) {
 			cFYI(1, (" Symbolic Link inode "));
 			inode->i_op = &cifs_symlink_inode_ops;
-/* tmp_inode->i_fop = *//* do not need to set to anything */
 		} else {
 			cFYI(1, (" Init special inode "));
 			init_special_inode(inode, inode->i_mode,
@@ -215,7 +210,6 @@
 		rc = CIFSSMBQPathInfo(xid, pTcon, search_path, pfindData,
 			      cifs_sb->local_nls);
 	}
-	/* dump_mem("\nQPathInfo return data",&findData, sizeof(findData)); */
 	if (rc) {
 		if (rc == -EREMOTE) {
 			tmp_path =
@@ -261,11 +255,6 @@
 			Are there Windows server or network appliances
 			for which IndexNumber field is not guaranteed unique? */
 		
-			/* if(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_SERVER_INUM) {
-				(*pinode)->i_ino = 
-					(unsigned long)pfindData->IndexNumber;
-			} */ /*NB: ino incremented to unique num in new_inode*/
-
 			insert_inode_hash(*pinode);
 		}
 		inode = *pinode;
@@ -295,7 +284,6 @@
 			/* new inode, can safely set these fields */
 			inode->i_mode = cifs_sb->mnt_file_mode;
 
-/*		if (attr & ATTR_REPARSE)  */
 /* 		We no longer handle these as symlinks because we could not */
 /* 		follow them due to the absolute path with drive letter */
 		if (attr & ATTR_DIRECTORY) {
@@ -391,9 +379,7 @@
 
 /* Unlink can be called from rename so we can not grab
 	the sem here since we deadlock otherwise */
-/*	down(&direntry->d_sb->s_vfs_rename_sem);*/
 	full_path = build_path_from_dentry(direntry);
-/*	up(&direntry->d_sb->s_vfs_rename_sem);*/
 	if(full_path == NULL) {
 		FreeXid(xid);
 		return -ENOMEM;
@@ -730,16 +716,12 @@
 					 direntry->d_sb,xid);
 		if(rc) {
 			cFYI(1,("error on getting revalidate info %d",rc));
-/*			if(rc != -ENOENT)
-				rc = 0; */ /* BB should we cache info on certain errors? */
 		}
 	} else {
 		rc = cifs_get_inode_info(&direntry->d_inode, full_path, NULL,
 				    direntry->d_sb,xid);
 		if(rc) {
 			cFYI(1,("error on getting revalidate info %d",rc));
-/*			if(rc != -ENOENT)
-				rc = 0; */  /* BB should we cache info on certain errors? */
 		}
 	}
 	/* should we remap certain errors, access denied?, to zero */
@@ -765,7 +747,6 @@
 		documentation indicates i_sem may be taken by the kernel 
 		on lookup and rename which could deadlock if we grab
 		the i_sem here as well */
-/*	down(&direntry->d_inode->i_sem);*/
 	/* need to write out dirty pages here  */
 	if(direntry->d_inode->i_mapping) {
 		/* do we need to lock inode until after invalidate completes below? */
@@ -780,7 +761,6 @@
 			invalidate_remote_inode(direntry->d_inode);
 		}
 	}
-/*	up(&direntry->d_inode->i_sem);*/
 	
 	if (full_path)
 		kfree(full_path);
@@ -907,7 +887,6 @@
 		}
         
 	/*  Server is ok setting allocation size implicitly - no need to call: */
-	/*CIFSSMBSetEOF(xid, pTcon, full_path, attrs->ia_size, TRUE, cifs_sb->local_nls);*/
 
 		if (rc == 0) {
 			rc = vmtruncate(direntry->d_inode, attrs->ia_size);
@@ -917,19 +896,16 @@
 	if (attrs->ia_valid & ATTR_UID) {
 		cFYI(1, (" CIFS - UID changed to %d", attrs->ia_uid));
 		uid = attrs->ia_uid;
-		/*        entry->uid = cpu_to_le16(attr->ia_uid); */
 	}
 	if (attrs->ia_valid & ATTR_GID) {
 		cFYI(1, (" CIFS - GID changed to %d", attrs->ia_gid));
 		gid = attrs->ia_gid;
-		/*      entry->gid = cpu_to_le16(attr->ia_gid); */
 	}
 
 	time_buf.Attributes = 0;
 	if (attrs->ia_valid & ATTR_MODE) {
 		cFYI(1, (" CIFS - Mode changed to 0x%x", attrs->ia_mode));
 		mode = attrs->ia_mode;
-		/* entry->mode = cpu_to_le16(attr->ia_mode); */
 	}
 
 	if ((cifs_sb->tcon->ses->capabilities & CAP_UNIX)
@@ -947,7 +923,6 @@
 					cpu_to_le32(cifsInode->cifsAttrs & (~ATTR_READONLY));
 		}
 		/* BB to be implemented - via Windows security descriptors or streams */
-		/* CIFSSMBWinSetPerms(xid,pTcon,full_path,mode,uid,gid,cifs_sb->local_nls);*/
 	}
 
 	if (attrs->ia_valid & ATTR_ATIME) {
@@ -987,8 +962,6 @@
 			below rather than here */
 			/* Better to return EOPNOTSUPP until function
 			below is ready */
-			/* CIFSSMBSetTimesLegacy(xid, pTcon, full_path,
-        	        FILE_INFO_STANDARD * data, cifs_sb->local_nls); */
 		}
 	}
 
Index: 2.6/fs/cifs/link.c
===================================================================
--- 2.6.orig/fs/cifs/link.c	2005-01-12 23:39:37.352239976 +0200
+++ 2.6/fs/cifs/link.c	2005-01-12 23:39:40.829711320 +0200
@@ -67,14 +67,6 @@
 			rc = -EOPNOTSUPP;  
 	}
 
-/* if (!rc)     */
-	{
-		/*   renew_parental_timestamps(old_file);
-		   inode->i_nlink++;
-		   mark_inode_dirty(inode);
-		   d_instantiate(direntry, inode); */
-		/* BB add call to either mark inode dirty or refresh its data and timestamp to current time */
-	}
 	d_drop(direntry);	/* force new lookup from server */
 	cifsInode = CIFS_I(old_file->d_inode);
 	cifsInode->time = 0;	/* will force revalidate to go get info when needed */
@@ -124,7 +116,6 @@
 					     PATH_MAX-1,
 					     cifs_sb->local_nls);
 	else {
-		/* rc = CIFSSMBQueryReparseLinkInfo */
 		/* BB Add code to Query ReparsePoint info */
 		/* BB Add MAC style xsymlink check here if enabled */
 	}
@@ -178,8 +169,6 @@
 	if (cifs_sb->tcon->ses->capabilities & CAP_UNIX)
 		rc = CIFSUnixCreateSymLink(xid, pTcon, full_path, symname,
 					   cifs_sb->local_nls);
-	/* else
-	   rc = CIFSCreateReparseSymLink(xid, pTcon, fromName, toName,cifs_sb_target->local_nls); */
 
 	if (rc == 0) {
 		if (pTcon->ses->capabilities & CAP_UNIX)
@@ -228,9 +217,7 @@
 
 /* BB would it be safe against deadlock to grab this sem 
       even though rename itself grabs the sem and calls lookup? */
-/*       down(&inode->i_sb->s_vfs_rename_sem);*/
 	full_path = build_path_from_dentry(direntry);
-/*       up(&inode->i_sb->s_vfs_rename_sem);*/
 
 	if(full_path == NULL) {
 		FreeXid(xid);
Index: 2.6/fs/cifs/misc.c
===================================================================
--- 2.6.orig/fs/cifs/misc.c	2005-01-12 23:39:37.353239824 +0200
+++ 2.6/fs/cifs/misc.c	2005-01-12 23:39:40.830711168 +0200
@@ -59,8 +59,6 @@
 _FreeXid(unsigned int xid)
 {
 	spin_lock(&GlobalMid_Lock);
-	/* if(GlobalTotalActiveXid == 0)
-		BUG(); */
 	GlobalTotalActiveXid--;
 	spin_unlock(&GlobalMid_Lock);
 }
@@ -175,13 +173,11 @@
 {
 
 	if (buf_to_free == NULL) {
-		/* cFYI(1, ("Null buffer passed to cifs_buf_release"));*/
 		return;
 	}
 	mempool_free(buf_to_free,cifs_req_poolp);
 
 	atomic_dec(&bufAllocCount);
-	return;
 }
 
 struct smb_hdr *
@@ -197,7 +193,6 @@
 	    (struct smb_hdr *) mempool_alloc(cifs_sm_req_poolp, SLAB_KERNEL | SLAB_NOFS);
 	if (ret_buf) {
 	/* No need to clear memory here, cleared in header assemble */
-	/*	memset(ret_buf, 0, sizeof(struct smb_hdr) + 27);*/
 		atomic_inc(&smBufAllocCount);
 	}
 	return ret_buf;
@@ -404,7 +399,6 @@
 				+ data_offset);
 			cFYI(1,("dnotify on %s with action: 0x%x",pnotify->FileName,
 				pnotify->Action));  /* BB removeme BB */
-	             /*   cifs_dump_mem("Received notify Data is: ",buf,sizeof(struct smb_hdr)+60); */
 			return TRUE;
 		}
 		if(pSMBr->hdr.Status.CifsError) {
Index: 2.6/fs/cifs/readdir.c
===================================================================
--- 2.6.orig/fs/cifs/readdir.c	2005-01-12 23:39:37.355239520 +0200
+++ 2.6/fs/cifs/readdir.c	2005-01-12 23:39:40.832710864 +0200
@@ -47,30 +47,6 @@
 	      FILE_UNIX_INFO * pfindData, int *pobject_type);
 
 
-/* BB fixme - add debug wrappers around this function to disable it fixme BB */
-/* static void dump_cifs_file_struct(struct file * file, char * label)
-{
-	struct cifsFileInfo * cf;
-
-	if(file) {
-		cf = (struct cifsFileInfo *)file->private_data;
-		if(cf == NULL) {
-			cFYI(1,("empty cifs private file data"));
-			return;
-		}
-		if(cf->invalidHandle) {
-			cFYI(1,("invalid handle"));
-		}
-		if(cf->srch_inf.endOfSearch) {
-			cFYI(1,("end of search"));
-		}
-		if(cf->srch_inf.emptyDir) {
-			cFYI(1,("empty dir"));
-		}
-		
-	}
-} */
-
 static int initiate_cifs_search(const int xid, struct file * file)
 {
 	int rc = 0;
@@ -255,7 +231,6 @@
 	first_entry_in_buffer = 
 		cifsFile->srch_inf.index_of_last_entry - 
 			cifsFile->srch_inf.entries_in_buffer;
-/*	dump_cifs_file_struct(file, "In fce ");*/
 	if(index_to_find < first_entry_in_buffer) {
 		/* close and restart search */
 		cFYI(1,("search backing up - close and restart search"));
@@ -290,7 +265,6 @@
 		char * current_entry;
 		char * end_of_smb = cifsFile->srch_inf.ntwrk_buf_start + 
 			smbCalcSize((struct smb_hdr *)cifsFile->srch_inf.ntwrk_buf_start);
-/*	dump_cifs_file_struct(file,"found entry in fce "); */
 		first_entry_in_buffer = cifsFile->srch_inf.index_of_last_entry -
 			cifsFile->srch_inf.entries_in_buffer;
 		pos_in_buf = index_to_find - first_entry_in_buffer;
@@ -325,7 +299,6 @@
 		*num_to_ret = 0;
 	} else
 		*num_to_ret = cifsFile->srch_inf.entries_in_buffer - pos_in_buf;
-/*	dump_cifs_file_struct(file, "end fce ");*/
 
 	return rc;
 }
@@ -388,7 +361,6 @@
 		pqst->len = len;
 	}
 	pqst->hash = full_name_hash(pqst->name,pqst->len);
-/*	cFYI(1,("filldir on %s",pqst->name));  */
 	return rc;
 }
 
@@ -533,32 +505,15 @@
 		FreeXid(xid);
 		return -EIO;
 	}
-/*	dump_cifs_file_struct(file, "Begin rdir "); */
 
 	cifs_sb = CIFS_SB(file->f_dentry->d_sb);
 	pTcon = cifs_sb->tcon;
 	if(pTcon == NULL)
 		return -EINVAL;
 
-/*	cFYI(1,("readdir2 pos: %lld",file->f_pos)); */
-
 	switch ((int) file->f_pos) {
 	case 0:
-		/*if (filldir(direntry, ".", 1, file->f_pos,
-		     file->f_dentry->d_inode->i_ino, DT_DIR) < 0) {
-			cERROR(1, ("Filldir for current dir failed "));
-			rc = -ENOMEM;
-			break;
-		}
-		file->f_pos++; */
 	case 1:
-		/* if (filldir(direntry, "..", 2, file->f_pos,
-		     file->f_dentry->d_parent->d_inode->i_ino, DT_DIR) < 0) {
-			cERROR(1, ("Filldir for parent dir failed "));
-			rc = -ENOMEM;
-			break;
-		}
-		file->f_pos++; */
 	case 2:
 		/* 1) If search is active, 
 			is in current search buffer? 
@@ -586,14 +541,7 @@
 				rc = 0;
 				break;
 			}
-		} /* else {
-			cifsFile->invalidHandle = TRUE;
-			CIFSFindClose(xid, pTcon, cifsFile->netfid);
-		} 
-		if(cifsFile->search_resume_name) {
-			kfree(cifsFile->search_resume_name);
-			cifsFile->search_resume_name = NULL;
-		} */
+		}
 /* BB account for . and .. in f_pos */
 		/* dump_cifs_file_struct(file, "rdir after default ");*/
 
@@ -618,13 +566,6 @@
 				cERROR(1,("beyond end of smb with num to fill %d i %d",num_to_fill,i)); /* BB removeme BB */
 				break;
 			}
-/*			if((!(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_SERVER_INUM)) || 
-			   (cifsFile->srch_inf.info_level != something that supports server inodes)) {
-				create dentry
-				create inode
-				fill in inode new_inode (which makes number locally)
-			}
-			also create local inode for per reasons unless new mount parm says otherwise */
 			rc = cifs_filldir2(current_entry, file, 
 					filldir, direntry,tmp_buf);
 			file->f_pos++;
@@ -641,7 +582,6 @@
 	} /* end switch */
 
 rddir2_exit:
-	/* dump_cifs_file_struct(file, "end rdir ");  */
 	FreeXid(xid);
 	return rc;
 }
Index: 2.6/fs/cifs/transport.c
===================================================================
--- 2.6.orig/fs/cifs/transport.c	2005-01-12 23:39:37.356239368 +0200
+++ 2.6/fs/cifs/transport.c	2005-01-12 23:39:40.833710712 +0200
@@ -285,8 +285,6 @@
 	rc = cifs_sign_smb(in_buf, ses, &midQ->sequence_number);
 
 	midQ->midState = MID_REQUEST_SUBMITTED;
-/*	rc = smb_send2(ses->server->ssocket, in_buf, in_buf->smb_buf_length, piovec,
-		      (struct sockaddr *) &(ses->server->addr.sockAddr));*/
 	if(rc < 0) {
 		DeleteMidQEntry(midQ);
 		up(&ses->server->tcpSem);



^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 3/6] cifs: enum conversion
  2005-01-15 13:26 ` [PATCH 2/6] cifs: remove dead code Pekka Enberg
@ 2005-01-15 13:28   ` Pekka Enberg
  2005-01-15 13:29     ` [PATCH 4/6] cifs: remove spurious casts Pekka Enberg
  0 siblings, 1 reply; 6+ messages in thread
From: Pekka Enberg @ 2005-01-15 13:28 UTC (permalink / raw)
  To: sfrench; +Cc: linux-kernel

Convert #defines to proper enums and remove duplicate symbols.

Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
---

 asn1.c    |   72 +++--
 cifspdu.h |  798 ++++++++++++++++++++++++++++++++------------------------------
 2 files changed, 464 insertions(+), 406 deletions(-)

Index: 2.6/fs/cifs/asn1.c
===================================================================
--- 2.6.orig/fs/cifs/asn1.c	2005-01-15 15:07:18.115524784 +0200
+++ 2.6/fs/cifs/asn1.c	2005-01-15 15:07:20.647139920 +0200
@@ -34,46 +34,54 @@
  *****************************************************************************/
 
 /* Class */
-#define ASN1_UNI	0	/* Universal */
-#define ASN1_APL	1	/* Application */
-#define ASN1_CTX	2	/* Context */
-#define ASN1_PRV	3	/* Private */
+enum {
+	ASN1_UNI = 0,	/* Universal */
+	ASN1_APL = 1,	/* Application */
+	ASN1_CTX = 2,	/* Context */
+	ASN1_PRV = 3	/* Private */
+};
 
 /* Tag */
-#define ASN1_EOC	0	/* End Of Contents or N/A */
-#define ASN1_BOL	1	/* Boolean */
-#define ASN1_INT	2	/* Integer */
-#define ASN1_BTS	3	/* Bit String */
-#define ASN1_OTS	4	/* Octet String */
-#define ASN1_NUL	5	/* Null */
-#define ASN1_OJI	6	/* Object Identifier  */
-#define ASN1_OJD	7	/* Object Description */
-#define ASN1_EXT	8	/* External */
-#define ASN1_SEQ	16	/* Sequence */
-#define ASN1_SET	17	/* Set */
-#define ASN1_NUMSTR	18	/* Numerical String */
-#define ASN1_PRNSTR	19	/* Printable String */
-#define ASN1_TEXSTR	20	/* Teletext String */
-#define ASN1_VIDSTR	21	/* Video String */
-#define ASN1_IA5STR	22	/* IA5 String */
-#define ASN1_UNITIM	23	/* Universal Time */
-#define ASN1_GENTIM	24	/* General Time */
-#define ASN1_GRASTR	25	/* Graphical String */
-#define ASN1_VISSTR	26	/* Visible String */
-#define ASN1_GENSTR	27	/* General String */
+enum {
+	ASN1_EOC    = 0,	/* End Of Contents or N/A */
+	ASN1_BOL    = 1,	/* Boolean */
+	ASN1_INT    = 2,	/* Integer */
+	ASN1_BTS    = 3,	/* Bit String */
+	ASN1_OTS    = 4,	/* Octet String */
+	ASN1_NUL    = 5,	/* Null */
+	ASN1_OJI    = 6,	/* Object Identifier  */
+	ASN1_OJD    = 7,	/* Object Description */
+	ASN1_EXT    = 8,	/* External */
+	ASN1_SEQ    = 16,	/* Sequence */
+	ASN1_SET    = 17,	/* Set */
+	ASN1_NUMSTR = 18,	/* Numerical String */
+	ASN1_PRNSTR = 19,	/* Printable String */
+	ASN1_TEXSTR = 20,	/* Teletext String */
+	ASN1_VIDSTR = 21,	/* Video String */
+	ASN1_IA5STR = 22,	/* IA5 String */
+	ASN1_UNITIM = 23,	/* Universal Time */
+	ASN1_GENTIM = 24,	/* General Time */
+	ASN1_GRASTR = 25,	/* Graphical String */
+	ASN1_VISSTR = 26,	/* Visible String */
+	ASN1_GENSTR = 27	/* General String */
+};
 
 /* Primitive / Constructed methods*/
-#define ASN1_PRI	0	/* Primitive */
-#define ASN1_CON	1	/* Constructed */
+enum {
+	ASN1_PRI = 0,	/* Primitive */
+	ASN1_CON = 1	/* Constructed */
+};
 
 /*
  * Error codes.
  */
-#define ASN1_ERR_NOERROR		0
-#define ASN1_ERR_DEC_EMPTY		2
-#define ASN1_ERR_DEC_EOC_MISMATCH	3
-#define ASN1_ERR_DEC_LENGTH_MISMATCH	4
-#define ASN1_ERR_DEC_BADVALUE		5
+enum {
+	ASN1_ERR_NOERROR 		= 0,
+	ASN1_ERR_DEC_EMPTY		= 2,
+	ASN1_ERR_DEC_EOC_MISMATCH	= 3,
+	ASN1_ERR_DEC_LENGTH_MISMATCH	= 4,
+	ASN1_ERR_DEC_BADVALUE		= 5
+};
 
 #define SPNEGO_OID_LEN 7
 #define NTLMSSP_OID_LEN  10
Index: 2.6/fs/cifs/cifspdu.h
===================================================================
--- 2.6.orig/fs/cifs/cifspdu.h	2005-01-12 23:46:16.000000000 +0200
+++ 2.6/fs/cifs/cifspdu.h	2005-01-15 15:11:07.013726968 +0200
@@ -28,61 +28,62 @@
 #define BAD_PROT    CIFS_PROT+1
 
 /* SMB command codes */
-/* Some commands have minimal (wct=0,bcc=0), or uninteresting, responses
- (ie which include no useful data other than the SMB error code itself).
- Knowing this helps avoid response buffer allocations and copy in some cases */
-#define SMB_COM_CREATE_DIRECTORY      0x00 /* trivial response */
-#define SMB_COM_DELETE_DIRECTORY      0x01 /* trivial response */
-#define SMB_COM_CLOSE                 0x04 /* triv req/rsp, timestamp ignored */
-#define SMB_COM_DELETE                0x06 /* trivial response */
-#define SMB_COM_RENAME                0x07 /* trivial response */
-#define SMB_COM_LOCKING_ANDX          0x24 /* trivial response */
-#define SMB_COM_COPY                  0x29 /* trivial rsp, fail filename ignrd*/
-#define SMB_COM_READ_ANDX             0x2E
-#define SMB_COM_WRITE_ANDX            0x2F
-#define SMB_COM_TRANSACTION2          0x32
-#define SMB_COM_TRANSACTION2_SECONDARY 0x33
-#define SMB_COM_FIND_CLOSE2           0x34 /* trivial response */
-#define SMB_COM_TREE_DISCONNECT       0x71 /* trivial response */
-#define SMB_COM_NEGOTIATE             0x72
-#define SMB_COM_SESSION_SETUP_ANDX    0x73
-#define SMB_COM_LOGOFF_ANDX           0x74 /* trivial response */
-#define SMB_COM_TREE_CONNECT_ANDX     0x75
-#define SMB_COM_NT_TRANSACT           0xA0
-#define SMB_COM_NT_TRANSACT_SECONDARY 0xA1
-#define SMB_COM_NT_CREATE_ANDX        0xA2
-#define SMB_COM_NT_RENAME             0xA5 /* trivial response */
+/* Some commands have minimal (wct=0,bcc=0), or uninteresting, responses (ie
+ * which include no useful data other than the SMB error code itself). Knowing
+ * this helps avoid response buffer allocations and copy in some cases
+ */
+enum {
+	SMB_COM_CREATE_DIRECTORY      = 0x00, /* trivial response */
+	SMB_COM_DELETE_DIRECTORY      = 0x01, /* trivial response */
+	SMB_COM_CLOSE                 = 0x04, /* triv req/rsp, timestamp ignored */
+	SMB_COM_DELETE                = 0x06, /* trivial response */
+	SMB_COM_RENAME                = 0x07, /* trivial response */
+	SMB_COM_LOCKING_ANDX          = 0x24, /* trivial response */
+	SMB_COM_COPY                  = 0x29, /* trivial rsp, fail filename ignrd*/
+	SMB_COM_READ_ANDX             = 0x2E,
+	SMB_COM_WRITE_ANDX            = 0x2F,
+	SMB_COM_TRANSACTION2          = 0x32,
+	SMB_COM_TRANSACTION2_SECONDARY = 0x33,
+	SMB_COM_FIND_CLOSE2           = 0x34, /* trivial response */
+	SMB_COM_TREE_DISCONNECT       = 0x71, /* trivial response */
+	SMB_COM_NEGOTIATE             = 0x72,
+	SMB_COM_SESSION_SETUP_ANDX    = 0x73,
+	SMB_COM_LOGOFF_ANDX           = 0x74, /* trivial response */
+	SMB_COM_TREE_CONNECT_ANDX     = 0x75,
+	SMB_COM_NT_TRANSACT           = 0xA0,
+	SMB_COM_NT_TRANSACT_SECONDARY = 0xA1,
+	SMB_COM_NT_CREATE_ANDX        = 0xA2,
+	SMB_COM_NT_RENAME             = 0xA5 /* trivial response */
+};
 
 /* Transact2 subcommand codes */
-#define TRANS2_OPEN                   0x00
-#define TRANS2_FIND_FIRST             0x01
-#define TRANS2_FIND_NEXT              0x02
-#define TRANS2_QUERY_FS_INFORMATION   0x03
-#define TRANS2_QUERY_PATH_INFORMATION 0x05
-#define TRANS2_SET_PATH_INFORMATION   0x06
-#define TRANS2_QUERY_FILE_INFORMATION 0x07
-#define TRANS2_SET_FILE_INFORMATION   0x08
-#define TRANS2_GET_DFS_REFERRAL       0x10
-#define TRANS2_REPORT_DFS_INCOSISTENCY 0x11
+enum {
+	TRANS2_OPEN                   = 0x00,
+	TRANS2_FIND_FIRST             = 0x01,
+	TRANS2_FIND_NEXT              = 0x02,
+	TRANS2_QUERY_FS_INFORMATION   = 0x03,
+	TRANS2_QUERY_PATH_INFORMATION = 0x05,
+	TRANS2_SET_PATH_INFORMATION   = 0x06,
+	TRANS2_QUERY_FILE_INFORMATION = 0x07,
+	TRANS2_SET_FILE_INFORMATION   = 0x08,
+	TRANS2_GET_DFS_REFERRAL       = 0x10,
+	TRANS2_REPORT_DFS_INCOSISTENCY = 0x11
+};
 
 /* NT Transact subcommand codes */
-#define NT_TRANSACT_CREATE            0x01
-#define NT_TRANSACT_IOCTL             0x02
-#define NT_TRANSACT_SET_SECURITY_DESC 0x03
-#define NT_TRANSACT_NOTIFY_CHANGE     0x04
-#define NT_TRANSACT_RENAME            0x05
-#define NT_TRANSACT_QUERY_SECURITY_DESC 0x06
-#define NT_TRANSACT_GET_USER_QUOTA    0x07
-#define NT_TRANSACT_SET_USER_QUOTA    0x08
+enum {
+	NT_TRANSACT_CREATE            = 0x01,
+	NT_TRANSACT_IOCTL             = 0x02,
+	NT_TRANSACT_SET_SECURITY_DESC = 0x03,
+	NT_TRANSACT_NOTIFY_CHANGE     = 0x04,
+	NT_TRANSACT_RENAME            = 0x05,
+	NT_TRANSACT_QUERY_SECURITY_DESC = 0x06,
+	NT_TRANSACT_GET_USER_QUOTA    = 0x07,
+	NT_TRANSACT_SET_USER_QUOTA    = 0x08
+};
 
 #define MAX_CIFS_HDR_SIZE 256	/* chained NTCreateXReadX will probably be biggest */
 
-/* internal cifs vfs structures */
-/*****************************************************************
- * All constants go here
- *****************************************************************
- */
-
 /*
  * Starting value for maximum SMB size negotiation
  */
@@ -111,31 +112,37 @@
 /*
  * Flags on SMB open
  */
-#define SMBOPEN_WRITE_THROUGH 0x4000
-#define SMBOPEN_DENY_ALL      0x0010
-#define SMBOPEN_DENY_WRITE    0x0020
-#define SMBOPEN_DENY_READ     0x0030
-#define SMBOPEN_DENY_NONE     0x0040
-#define SMBOPEN_READ          0x0000
-#define SMBOPEN_WRITE         0x0001
-#define SMBOPEN_READWRITE     0x0002
-#define SMBOPEN_EXECUTE       0x0003
-
-#define SMBOPEN_OCREATE       0x0010
-#define SMBOPEN_OTRUNC        0x0002
-#define SMBOPEN_OAPPEND       0x0001
+enum {
+	SMBOPEN_WRITE_THROUGH = 0x4000,
+	SMBOPEN_DENY_ALL      = 0x0010,
+	SMBOPEN_DENY_WRITE    = 0x0020,
+	SMBOPEN_DENY_READ     = 0x0030,
+	SMBOPEN_DENY_NONE     = 0x0040,
+	SMBOPEN_READ          = 0x0000,
+	SMBOPEN_WRITE         = 0x0001,
+	SMBOPEN_READWRITE     = 0x0002,
+	SMBOPEN_EXECUTE       = 0x0003
+};
+
+enum {
+	SMBOPEN_OCREATE       = 0x0010,
+	SMBOPEN_OTRUNC        = 0x0002,
+	SMBOPEN_OAPPEND       = 0x0001
+};
 
 /*
  * SMB flag definitions 
  */
-#define SMBFLG_EXTD_LOCK 0x01	/* server supports lock-read write-unlock primitives */
-#define SMBFLG_RCV_POSTED 0x02	/* obsolete */
-#define SMBFLG_RSVD 0x04
-#define SMBFLG_CASELESS 0x08	/* all pathnames treated as caseless (off implies case sensitive file handling requested) */
-#define SMBFLG_CANONICAL_PATH_FORMAT 0x10	/* obsolete */
-#define SMBFLG_OLD_OPLOCK 0x20	/* obsolete */
-#define SMBFLG_OLD_OPLOCK_NOTIFY 0x40	/* obsolete */
-#define SMBFLG_RESPONSE 0x80	/* this PDU is a response from server */
+enum {
+	SMBFLG_EXTD_LOCK	= 0x01,  /* server supports lock-read write-unlock primitives */
+	SMBFLG_RCV_POSTED	= 0x02,	 /* obsolete */
+	SMBFLG_RSVD		= 0x04,
+	SMBFLG_CASELESS		= 0x08,	 /* all pathnames treated as caseless (off implies case sensitive file handling requested) */
+	SMBFLG_CANONICAL_PATH_FORMAT = 0x10, /* obsolete */
+	SMBFLG_OLD_OPLOCK	= 0x20,	 /* obsolete */
+	SMBFLG_OLD_OPLOCK_NOTIFY = 0x40, /* obsolete */
+	SMBFLG_RESPONSE		= 0x80 	 /* this PDU is a response from server */
+};
 
 /*
  * SMB flag2 definitions 
@@ -159,41 +166,43 @@
  * file and can have any suitable combination of the following values:
  */
 
-#define FILE_READ_DATA        0x00000001	/* Data can be read from the file   */
-#define FILE_WRITE_DATA       0x00000002	/* Data can be written to the file  */
-#define FILE_APPEND_DATA      0x00000004	/* Data can be appended to the file */
-#define FILE_READ_EA          0x00000008	/* Extended attributes associated   */
-					 /* with the file can be read        */
-#define FILE_WRITE_EA         0x00000010	/* Extended attributes associated   */
-					 /* with the file can be written     */
-#define FILE_EXECUTE          0x00000020	/*Data can be read into memory from */
-					 /* the file using system paging I/O */
-#define FILE_DELETE_CHILD     0x00000040
-#define FILE_READ_ATTRIBUTES  0x00000080	/* Attributes associated with the   */
-					 /* file can be read                 */
-#define FILE_WRITE_ATTRIBUTES 0x00000100	/* Attributes associated with the   */
-					 /* file can be written              */
-#define DELETE                0x00010000	/* The file can be deleted          */
-#define READ_CONTROL          0x00020000	/* The access control list and      */
-					 /* ownership associated with the    */
-					 /* file can be read                 */
-#define WRITE_DAC             0x00040000	/* The access control list and      */
-					 /* ownership associated with the    */
-					 /* file can be written.             */
-#define WRITE_OWNER           0x00080000	/* Ownership information associated */
-					 /* with the file can be written     */
-#define SYNCHRONIZE           0x00100000	/* The file handle can waited on to */
-					 /* synchronize with the completion  */
-					 /* of an input/output request       */
-#define GENERIC_ALL           0x10000000
-#define GENERIC_EXECUTE       0x20000000
-#define GENERIC_WRITE         0x40000000
-#define GENERIC_READ          0x80000000
+enum {
+	FILE_READ_DATA        = 0x00000001, /* Data can be read from the file   */
+	FILE_WRITE_DATA       = 0x00000002, /* Data can be written to the file  */
+	FILE_APPEND_DATA      = 0x00000004, /* Data can be appended to the file */
+	FILE_READ_EA          = 0x00000008, /* Extended attributes associated   */
+					    /* with the file can be read        */
+	FILE_WRITE_EA         = 0x00000010, /* Extended attributes associated   */
+					    /* with the file can be written     */
+	FILE_EXECUTE          = 0x00000020, /* Data can be read into memory from */
+					    /* the file using system paging I/O */
+	FILE_DELETE_CHILD     = 0x00000040,
+	FILE_READ_ATTRIBUTES  = 0x00000080, /* Attributes associated with the   */
+					    /* file can be read                 */
+	FILE_WRITE_ATTRIBUTES = 0x00000100, /* Attributes associated with the   */
+					    /* file can be written              */
+	DELETE                = 0x00010000, /* The file can be deleted          */
+	READ_CONTROL          = 0x00020000, /* The access control list and      */
+					    /* ownership associated with the    */
+					    /* file can be read                 */
+	WRITE_DAC             = 0x00040000, /* The access control list and      */
+					    /* ownership associated with the    */
+					    /* file can be written.             */
+	WRITE_OWNER           = 0x00080000, /* Ownership information associated */
+					    /* with the file can be written     */
+	SYNCHRONIZE           = 0x00100000, /* The file handle can waited on to */
+					    /* synchronize with the completion  */
+					    /* of an input/output request       */
+	GENERIC_ALL           = 0x10000000,
+	GENERIC_EXECUTE       = 0x20000000,
+	GENERIC_WRITE         = 0x40000000,
+	GENERIC_READ          = 0x80000000
 					 /* In summary - Relevant file       */
 					 /* access flags from CIFS are       */
 					 /* file_read_data, file_write_data  */
 					 /* file_execute, file_read_attributes */
 					 /* write_dac, and delete.           */
+};
 
 /*
  * Invalid readdir handle
@@ -211,75 +220,91 @@
 #define ASCII_NULL 0x00
 
 /*
- * Server type values (returned on EnumServer API
+ * Server type values (returned on EnumServer API)
  */
-#define CIFS_SV_TYPE_DC     0x00000008
-#define CIFS_SV_TYPE_BACKDC 0x00000010
+enum {
+	CIFS_SV_TYPE_DC     = 0x00000008,
+	CIFS_SV_TYPE_BACKDC = 0x00000010
+};
 
 /*
- * Alias type flags (From EnumAlias API call
+ * Alias type flags (From EnumAlias API call)
  */
-#define CIFS_ALIAS_TYPE_FILE 0x0001
-#define CIFS_SHARE_TYPE_FILE 0x0000
+enum {
+	CIFS_ALIAS_TYPE_FILE = 0x0001,
+	CIFS_SHARE_TYPE_FILE = 0x0000
+};
 
 /*
  * File Attribute flags
  */
-#define ATTR_READONLY  0x0001
-#define ATTR_HIDDEN    0x0002
-#define ATTR_SYSTEM    0x0004
-#define ATTR_VOLUME    0x0008
-#define ATTR_DIRECTORY 0x0010
-#define ATTR_ARCHIVE   0x0020
-#define ATTR_DEVICE    0x0040
-#define ATTR_NORMAL    0x0080
-#define ATTR_TEMPORARY 0x0100
-#define ATTR_SPARSE    0x0200
-#define ATTR_REPARSE   0x0400
-#define ATTR_COMPRESSED 0x0800
-#define ATTR_OFFLINE    0x1000	/* ie file not immediately available - offline storage */
-#define ATTR_NOT_CONTENT_INDEXED 0x2000
-#define ATTR_ENCRYPTED  0x4000
-#define ATTR_POSIX_SEMANTICS 0x01000000
-#define ATTR_BACKUP_SEMANTICS 0x02000000
-#define ATTR_DELETE_ON_CLOSE 0x04000000
-#define ATTR_SEQUENTIAL_SCAN 0x08000000
-#define ATTR_RANDOM_ACCESS   0x10000000
-#define ATTR_NO_BUFFERING    0x20000000
-#define ATTR_WRITE_THROUGH   0x80000000
+enum {
+	 ATTR_READONLY		= 0x0001,
+	 ATTR_HIDDEN		= 0x0002,
+	 ATTR_SYSTEM		= 0x0004,
+	 ATTR_VOLUME		= 0x0008,
+	 ATTR_DIRECTORY		= 0x0010,
+	 ATTR_ARCHIVE		= 0x0020,
+	 ATTR_DEVICE		= 0x0040,
+	 ATTR_NORMAL		= 0x0080,
+	 ATTR_TEMPORARY		= 0x0100,
+	 ATTR_SPARSE		= 0x0200,
+	 ATTR_REPARSE		= 0x0400,
+	 ATTR_COMPRESSED	= 0x0800,
+	 ATTR_OFFLINE		= 0x1000, /* ie file not immediately available - offline storage */
+	 ATTR_NOT_CONTENT_INDEXED = 0x2000,
+	 ATTR_ENCRYPTED		= 0x4000,
+	 ATTR_POSIX_SEMANTICS	= 0x01000000,
+	 ATTR_BACKUP_SEMANTICS	= 0x02000000,
+	 ATTR_DELETE_ON_CLOSE	= 0x04000000,
+	 ATTR_SEQUENTIAL_SCAN	= 0x08000000,
+	 ATTR_RANDOM_ACCESS	= 0x10000000,
+	 ATTR_NO_BUFFERING	= 0x20000000,
+	 ATTR_WRITE_THROUGH	= 0x80000000
+};
 
 /* ShareAccess flags */
-#define FILE_NO_SHARE     0x00000000
-#define FILE_SHARE_READ   0x00000001
-#define FILE_SHARE_WRITE  0x00000002
-#define FILE_SHARE_DELETE 0x00000004
-#define FILE_SHARE_ALL    0x00000007
+enum {
+	 FILE_NO_SHARE     = 0x00000000,
+	 FILE_SHARE_READ   = 0x00000001,
+	 FILE_SHARE_WRITE  = 0x00000002,
+	 FILE_SHARE_DELETE = 0x00000004,
+	 FILE_SHARE_ALL    = 0x00000007
+};
 
 /* CreateDisposition flags */
-#define FILE_SUPERSEDE    0x00000000
-#define FILE_OPEN         0x00000001
-#define FILE_CREATE       0x00000002
-#define FILE_OPEN_IF      0x00000003
-#define FILE_OVERWRITE    0x00000004
-#define FILE_OVERWRITE_IF 0x00000005
+enum {
+	 FILE_SUPERSEDE    = 0x00000000,
+	 FILE_OPEN         = 0x00000001,
+	 FILE_CREATE       = 0x00000002,
+	 FILE_OPEN_IF      = 0x00000003,
+	 FILE_OVERWRITE    = 0x00000004,
+	 FILE_OVERWRITE_IF = 0x00000005
+};
 
 /* CreateOptions */
-#define CREATE_NOT_FILE		0x00000001	/* if set must not be file */
-#define CREATE_WRITE_THROUGH	0x00000002
-#define CREATE_NOT_DIR		0x00000040	/* if set must not be directory */
-#define CREATE_RANDOM_ACCESS	0x00000800
-#define CREATE_DELETE_ON_CLOSE	0x00001000
-#define OPEN_REPARSE_POINT	0x00200000
+enum {
+	 CREATE_NOT_FILE	= 0x00000001,	/* if set must not be file */
+	 CREATE_WRITE_THROUGH	= 0x00000002,
+	 CREATE_NOT_DIR		= 0x00000040,	/* if set must not be directory */
+	 CREATE_RANDOM_ACCESS	= 0x00000800,
+	 CREATE_DELETE_ON_CLOSE	= 0x00001000,
+	 OPEN_REPARSE_POINT	= 0x00200000
+};
 
 /* ImpersonationLevel flags */
-#define SECURITY_ANONYMOUS      0
-#define SECURITY_IDENTIFICATION 1
-#define SECURITY_IMPERSONATION  2
-#define SECURITY_DELEGATION     3
+enum {
+	 SECURITY_ANONYMOUS      = 0,
+	 SECURITY_IDENTIFICATION = 1,
+	 SECURITY_IMPERSONATION  = 2,
+	 SECURITY_DELEGATION     = 3,
+};
 
 /* SecurityFlags */
-#define SECURITY_CONTEXT_TRACKING 0x01
-#define SECURITY_EFFECTIVE_ONLY   0x02
+enum {
+	 SECURITY_CONTEXT_TRACKING = 0x01,
+	 SECURITY_EFFECTIVE_ONLY   = 0x02
+};
 
 /*
  * Default PID value, used in all SMBs where the PID is not important
@@ -290,8 +315,10 @@
  * We use the same routine for Copy and Move SMBs.  This flag is used to
  * distinguish
  */
-#define CIFS_COPY_OP 1
-#define CIFS_RENAME_OP 2
+enum {
+	 CIFS_COPY_OP   = 1,
+	 CIFS_RENAME_OP = 2
+};
 
 #define GETU16(var)  (*((__u16 *)var))	/* BB check for endian issues */
 #define GETU32(var)  (*((__u32 *)var))	/* BB check for endian issues */
@@ -408,31 +435,35 @@
 } NEGOTIATE_RSP;
 
 /* SecurityMode bits */
-#define SECMODE_USER          0x01	/* off indicates share level security */
-#define SECMODE_PW_ENCRYPT    0x02
-#define SECMODE_SIGN_ENABLED  0x04	/* SMB security signatures enabled */
-#define SECMODE_SIGN_REQUIRED 0x08	/* SMB security signatures required */
+enum {
+	 SECMODE_USER          = 0x01,	/* off indicates share level security */
+	 SECMODE_PW_ENCRYPT    = 0x02,
+	 SECMODE_SIGN_ENABLED  = 0x04,	/* SMB security signatures enabled */
+	 SECMODE_SIGN_REQUIRED = 0x08	/* SMB security signatures required */
+};
 
 /* Negotiate response Capabilities */
-#define CAP_RAW_MODE           0x00000001
-#define CAP_MPX_MODE           0x00000002
-#define CAP_UNICODE            0x00000004
-#define CAP_LARGE_FILES        0x00000008
-#define CAP_NT_SMBS            0x00000010	/* implies CAP_NT_FIND */
-#define CAP_RPC_REMOTE_APIS    0x00000020
-#define CAP_STATUS32           0x00000040
-#define CAP_LEVEL_II_OPLOCKS   0x00000080
-#define CAP_LOCK_AND_READ      0x00000100
-#define CAP_NT_FIND            0x00000200
-#define CAP_DFS                0x00001000
-#define CAP_INFOLEVEL_PASSTHRU 0x00002000
-#define CAP_LARGE_READ_X       0x00004000
-#define CAP_LARGE_WRITE_X      0x00008000
-#define CAP_UNIX               0x00800000
-#define CAP_RESERVED           0x02000000
-#define CAP_BULK_TRANSFER      0x20000000
-#define CAP_COMPRESSED_DATA    0x40000000
-#define CAP_EXTENDED_SECURITY  0x80000000
+enum {
+	 CAP_RAW_MODE           = 0x00000001,
+	 CAP_MPX_MODE           = 0x00000002,
+	 CAP_UNICODE            = 0x00000004,
+	 CAP_LARGE_FILES        = 0x00000008,
+	 CAP_NT_SMBS            = 0x00000010,	/* implies CAP_NT_FIND */
+	 CAP_RPC_REMOTE_APIS    = 0x00000020,
+	 CAP_STATUS32           = 0x00000040,
+	 CAP_LEVEL_II_OPLOCKS   = 0x00000080,
+	 CAP_LOCK_AND_READ      = 0x00000100,
+	 CAP_NT_FIND            = 0x00000200,
+	 CAP_DFS                = 0x00001000,
+	 CAP_INFOLEVEL_PASSTHRU = 0x00002000,
+	 CAP_LARGE_READ_X       = 0x00004000,
+	 CAP_LARGE_WRITE_X      = 0x00008000,
+	 CAP_UNIX               = 0x00800000,
+	 CAP_RESERVED           = 0x02000000,
+	 CAP_BULK_TRANSFER      = 0x20000000,
+	 CAP_COMPRESSED_DATA    = 0x40000000,
+	 CAP_EXTENDED_SECURITY  = 0x80000000
+};
 
 typedef union smb_com_session_setup_andx {
 	struct {		/* request format */
@@ -523,16 +554,6 @@
 
 #define CIFS_NETWORK_OPSYS "CIFS VFS Client for Linux"
 
-/* Capabilities bits (for NTLM SessSetup request) */
-#define CAP_UNICODE            0x00000004
-#define CAP_LARGE_FILES        0x00000008
-#define CAP_NT_SMBS            0x00000010
-#define CAP_STATUS32           0x00000040
-#define CAP_LEVEL_II_OPLOCKS   0x00000080
-#define CAP_NT_FIND            0x00000200	/* reserved should be zero (presumably because NT_SMBs implies the same thing) */
-#define CAP_BULK_TRANSFER      0x20000000
-#define CAP_EXTENDED_SECURITY  0x80000000
-
 /* Action bits */
 #define GUEST_LOGIN 1
 
@@ -561,11 +582,16 @@
 } TCONX_RSP;
 
 /* tree connect Flags */
-#define DISCONNECT_TID          0x0001
-#define TCON_EXTENDED_SECINFO   0x0008
+enum {
+	 DISCONNECT_TID          = 0x0001,
+	 TCON_EXTENDED_SECINFO   = 0x0008
+};
+
 /* OptionalSupport bits */
-#define SMB_SUPPORT_SEARCH_BITS 0x0001	/* must have bits (exclusive searches suppt. */
-#define SMB_SHARE_IS_IN_DFS     0x0002
+enum {
+	 SMB_SUPPORT_SEARCH_BITS = 0x0001,	/* must have bits (exclusive searches suppt. */
+	 SMB_SHARE_IS_IN_DFS     = 0x0002
+};
 
 typedef struct smb_com_logoff_andx_req {
 
@@ -614,9 +640,11 @@
 } FINDCLOSE_REQ;
 
 /* OpenFlags */
-#define REQ_OPLOCK         0x00000002
-#define REQ_BATCHOPLOCK    0x00000004
-#define REQ_OPENDIRONLY    0x00000008
+enum {
+	 REQ_OPLOCK         = 0x00000002,
+	 REQ_BATCHOPLOCK    = 0x00000004,
+	 REQ_OPENDIRONLY    = 0x00000008
+};
 
 typedef struct smb_com_open_req {	/* also handles create */
 	struct smb_hdr hdr;	/* wct = 24 */
@@ -640,10 +668,12 @@
 } OPEN_REQ;
 
 /* open response: oplock levels */
-#define OPLOCK_NONE  	 0
-#define OPLOCK_EXCLUSIVE 1
-#define OPLOCK_BATCH	 2
-#define OPLOCK_READ	 3  /* level 2 oplock */
+enum {
+	 OPLOCK_NONE  	  = 0,
+	 OPLOCK_EXCLUSIVE = 1,
+	 OPLOCK_BATCH	  = 2,
+	 OPLOCK_READ	  = 3  /* level 2 oplock */
+};
 
 /* open response for CreateAction shifted left */
 #define CIFS_CREATE_ACTION 0x20000 /* file created */
@@ -740,11 +770,13 @@
 	__le32 LengthLow;
 } LOCKING_ANDX_RANGE;
 
-#define LOCKING_ANDX_SHARED_LOCK     0x01
-#define LOCKING_ANDX_OPLOCK_RELEASE  0x02
-#define LOCKING_ANDX_CHANGE_LOCKTYPE 0x04
-#define LOCKING_ANDX_CANCEL_LOCK     0x08
-#define LOCKING_ANDX_LARGE_FILES     0x10	/* always on for us */
+enum {
+	 LOCKING_ANDX_SHARED_LOCK     = 0x01,
+	 LOCKING_ANDX_OPLOCK_RELEASE  = 0x02,
+	 LOCKING_ANDX_CHANGE_LOCKTYPE = 0x04,
+	 LOCKING_ANDX_CANCEL_LOCK     = 0x08,
+	 LOCKING_ANDX_LARGE_FILES     = 0x10	/* always on for us */
+};
 
 typedef struct smb_com_lock_req {
 	struct smb_hdr hdr;	/* wct = 8 */
@@ -779,13 +811,15 @@
 	/* followed by NewFileName */
 } RENAME_REQ;
 
-	/* copy request flags */
-#define COPY_MUST_BE_FILE      0x0001
-#define COPY_MUST_BE_DIR       0x0002
-#define COPY_TARGET_MODE_ASCII 0x0004 /* if not set, binary */
-#define COPY_SOURCE_MODE_ASCII 0x0008 /* if not set, binary */
-#define COPY_VERIFY_WRITES     0x0010
-#define COPY_TREE              0x0020 
+/* copy request flags */
+enum {
+	 COPY_MUST_BE_FILE      = 0x0001,
+	 COPY_MUST_BE_DIR       = 0x0002,
+	 COPY_TARGET_MODE_ASCII = 0x0004, /* if not set, binary */
+	 COPY_SOURCE_MODE_ASCII = 0x0008, /* if not set, binary */
+	 COPY_VERIFY_WRITES     = 0x0010,
+	 COPY_TREE              = 0x0020 
+};
 
 typedef struct smb_com_copy_req {
 	struct smb_hdr hdr;	/* wct = 3 */
@@ -807,9 +841,11 @@
 	unsigned char ErrorFileName[1]; /* only present if error in copy */
 } COPY_RSP;
 
-#define CREATE_HARD_LINK		0x103
-#define MOVEFILE_COPY_ALLOWED		0x0002
-#define MOVEFILE_REPLACE_EXISTING	0x0001
+enum {
+	 CREATE_HARD_LINK		= 0x103,
+	 MOVEFILE_COPY_ALLOWED		= 0x0002,
+	 MOVEFILE_REPLACE_EXISTING	= 0x0001
+};
 
 typedef struct smb_com_nt_rename_req {	/* A5 - also used for create hardlink */
 	struct smb_hdr hdr;	/* wct = 4 */
@@ -949,29 +985,34 @@
 	__u16 ByteCount;
 	/* __u8 Pad[3]; */
 } TRANSACT_CHANGE_NOTIFY_RSP;
+
 /* Completion Filter flags for Notify */
-#define FILE_NOTIFY_CHANGE_FILE_NAME    0x00000001
-#define FILE_NOTIFY_CHANGE_DIR_NAME     0x00000002
-#define FILE_NOTIFY_CHANGE_NAME         0x00000003
-#define FILE_NOTIFY_CHANGE_ATTRIBUTES   0x00000004
-#define FILE_NOTIFY_CHANGE_SIZE         0x00000008
-#define FILE_NOTIFY_CHANGE_LAST_WRITE   0x00000010
-#define FILE_NOTIFY_CHANGE_LAST_ACCESS  0x00000020
-#define FILE_NOTIFY_CHANGE_CREATION     0x00000040
-#define FILE_NOTIFY_CHANGE_EA           0x00000080
-#define FILE_NOTIFY_CHANGE_SECURITY     0x00000100
-#define FILE_NOTIFY_CHANGE_STREAM_NAME  0x00000200
-#define FILE_NOTIFY_CHANGE_STREAM_SIZE  0x00000400
-#define FILE_NOTIFY_CHANGE_STREAM_WRITE 0x00000800
-
-#define FILE_ACTION_ADDED		0x00000001
-#define FILE_ACTION_REMOVED		0x00000002
-#define FILE_ACTION_MODIFIED		0x00000003
-#define FILE_ACTION_RENAMED_OLD_NAME	0x00000004
-#define FILE_ACTION_RENAMED_NEW_NAME	0x00000005
-#define FILE_ACTION_ADDED_STREAM	0x00000006
-#define FILE_ACTION_REMOVED_STREAM	0x00000007
-#define FILE_ACTION_MODIFIED_STREAM	0x00000008
+enum {
+	 FILE_NOTIFY_CHANGE_FILE_NAME    = 0x00000001,
+	 FILE_NOTIFY_CHANGE_DIR_NAME     = 0x00000002,
+	 FILE_NOTIFY_CHANGE_NAME         = 0x00000003,
+	 FILE_NOTIFY_CHANGE_ATTRIBUTES   = 0x00000004,
+	 FILE_NOTIFY_CHANGE_SIZE         = 0x00000008,
+	 FILE_NOTIFY_CHANGE_LAST_WRITE   = 0x00000010,
+	 FILE_NOTIFY_CHANGE_LAST_ACCESS  = 0x00000020,
+	 FILE_NOTIFY_CHANGE_CREATION     = 0x00000040,
+	 FILE_NOTIFY_CHANGE_EA           = 0x00000080,
+	 FILE_NOTIFY_CHANGE_SECURITY     = 0x00000100,
+	 FILE_NOTIFY_CHANGE_STREAM_NAME  = 0x00000200,
+	 FILE_NOTIFY_CHANGE_STREAM_SIZE  = 0x00000400,
+	 FILE_NOTIFY_CHANGE_STREAM_WRITE = 0x00000800
+};
+
+enum {
+	 FILE_ACTION_ADDED		= 0x00000001,
+	 FILE_ACTION_REMOVED		= 0x00000002,
+	 FILE_ACTION_MODIFIED		= 0x00000003,
+	 FILE_ACTION_RENAMED_OLD_NAME	= 0x00000004,
+	 FILE_ACTION_RENAMED_NEW_NAME	= 0x00000005,
+	 FILE_ACTION_ADDED_STREAM	= 0x00000006,
+	 FILE_ACTION_REMOVED_STREAM	= 0x00000007,
+	 FILE_ACTION_MODIFIED_STREAM	= 0x00000008
+};
 
 /* response contains array of the following structures */
 struct file_notify_information {
@@ -1003,9 +1044,11 @@
 };
 
 /* quota sub commands */
-#define QUOTA_LIST_CONTINUE	    0
-#define QUOTA_LIST_START	0x100
-#define QUOTA_FOR_SID		0x101
+enum {
+	 QUOTA_LIST_CONTINUE	= 0,
+	 QUOTA_LIST_START	= 0x100,
+	 QUOTA_FOR_SID		= 0x101
+};
 
 struct trans2_req {
 	/* struct smb_hdr hdr precedes. Set wct = 14+ */
@@ -1058,61 +1101,66 @@
 };
 
 /* PathInfo/FileInfo infolevels */
-#define SMB_INFO_STANDARD                   1
-#define SMB_SET_FILE_EA                     2
-#define SMB_QUERY_FILE_EA_SIZE              2
-#define SMB_INFO_QUERY_EAS_FROM_LIST        3
-#define SMB_INFO_QUERY_ALL_EAS              4
-#define SMB_INFO_IS_NAME_VALID              6
-#define SMB_QUERY_FILE_BASIC_INFO       0x101
-#define SMB_QUERY_FILE_STANDARD_INFO    0x102
-#define SMB_QUERY_FILE_EA_INFO          0x103
-#define SMB_QUERY_FILE_NAME_INFO        0x104
-#define SMB_QUERY_FILE_ALLOCATION_INFO  0x105
-#define SMB_QUERY_FILE_END_OF_FILEINFO  0x106
-#define SMB_QUERY_FILE_ALL_INFO         0x107
-#define SMB_QUERY_ALT_NAME_INFO         0x108
-#define SMB_QUERY_FILE_STREAM_INFO      0x109
-#define SMB_QUERY_FILE_COMPRESSION_INFO 0x10B
-#define SMB_QUERY_FILE_UNIX_BASIC       0x200
-#define SMB_QUERY_FILE_UNIX_LINK        0x201
-#define SMB_QUERY_POSIX_ACL             0x204
-#define SMB_QUERY_XATTR                 0x205
-#define SMB_QUERY_FILE_INTERNAL_INFO    0x3ee
-#define SMB_QUERY_FILE_ACCESS_INFO      0x3f0
-#define SMB_QUERY_FILE_NAME_INFO2       0x3f1 /* 0x30 bytes */
-#define SMB_QUERY_FILE_POSITION_INFO    0x3f6 
-#define SMB_QUERY_FILE_MODE_INFO        0x3f8
-#define SMB_QUERY_FILE_ALGN_INFO        0x3f9 
-
-
-#define SMB_SET_FILE_BASIC_INFO	        0x101
-#define SMB_SET_FILE_DISPOSITION_INFO   0x102
-#define SMB_SET_FILE_ALLOCATION_INFO    0x103
-#define SMB_SET_FILE_END_OF_FILE_INFO   0x104
-#define SMB_SET_FILE_UNIX_BASIC         0x200
-#define SMB_SET_FILE_UNIX_LINK          0x201
-#define SMB_SET_FILE_UNIX_HLINK         0x203
-#define SMB_SET_POSIX_ACL               0x204
-#define SMB_SET_XATTR                   0x205
-#define SMB_SET_FILE_BASIC_INFO2        0x3ec
-#define SMB_SET_FILE_RENAME_INFORMATION 0x3f2 /* BB check if qpathinfo level too */
-#define SMB_FILE_ALL_INFO2              0x3fa
-#define SMB_SET_FILE_ALLOCATION_INFO2   0x3fb
-#define SMB_SET_FILE_END_OF_FILE_INFO2  0x3fc
-#define SMB_FILE_MOVE_CLUSTER_INFO      0x407
-#define SMB_FILE_QUOTA_INFO             0x408
-#define SMB_FILE_REPARSEPOINT_INFO      0x409
-#define SMB_FILE_MAXIMUM_INFO           0x40d
+enum {
+	 SMB_INFO_STANDARD               = 1,
+	 SMB_SET_FILE_EA                 = 2,
+	 SMB_QUERY_FILE_EA_SIZE          = 2,
+	 SMB_INFO_QUERY_EAS_FROM_LIST    = 3,
+	 SMB_INFO_QUERY_ALL_EAS          = 4,
+	 SMB_INFO_IS_NAME_VALID          = 6,
+	 SMB_QUERY_FILE_BASIC_INFO       = 0x101,
+	 SMB_QUERY_FILE_STANDARD_INFO    = 0x102,
+	 SMB_QUERY_FILE_EA_INFO          = 0x103,
+	 SMB_QUERY_FILE_NAME_INFO        = 0x104,
+	 SMB_QUERY_FILE_ALLOCATION_INFO  = 0x105,
+	 SMB_QUERY_FILE_END_OF_FILEINFO  = 0x106,
+	 SMB_QUERY_FILE_ALL_INFO         = 0x107,
+	 SMB_QUERY_ALT_NAME_INFO         = 0x108,
+	 SMB_QUERY_FILE_STREAM_INFO      = 0x109,
+	 SMB_QUERY_FILE_COMPRESSION_INFO = 0x10B,
+	 SMB_QUERY_FILE_UNIX_BASIC       = 0x200,
+	 SMB_QUERY_FILE_UNIX_LINK        = 0x201,
+	 SMB_QUERY_POSIX_ACL             = 0x204,
+	 SMB_QUERY_XATTR                 = 0x205,
+	 SMB_QUERY_FILE_INTERNAL_INFO    = 0x3ee,
+	 SMB_QUERY_FILE_ACCESS_INFO      = 0x3f0,
+	 SMB_QUERY_FILE_NAME_INFO2       = 0x3f1, /* = 0x30 bytes */
+	 SMB_QUERY_FILE_POSITION_INFO    = 0x3f6,
+	 SMB_QUERY_FILE_MODE_INFO        = 0x3f8,
+	 SMB_QUERY_FILE_ALGN_INFO        = 0x3f9 
+};
+
+enum {
+	 SMB_SET_FILE_BASIC_INFO	 = 0x101,
+	 SMB_SET_FILE_DISPOSITION_INFO   = 0x102,
+	 SMB_SET_FILE_ALLOCATION_INFO    = 0x103,
+	 SMB_SET_FILE_END_OF_FILE_INFO   = 0x104,
+	 SMB_SET_FILE_UNIX_BASIC         = 0x200,
+	 SMB_SET_FILE_UNIX_LINK          = 0x201,
+	 SMB_SET_FILE_UNIX_HLINK         = 0x203,
+	 SMB_SET_POSIX_ACL               = 0x204,
+	 SMB_SET_XATTR                   = 0x205,
+	 SMB_SET_FILE_BASIC_INFO2        = 0x3ec,
+	 SMB_SET_FILE_RENAME_INFORMATION = 0x3f2, /* BB check if qpathinfo level too */
+	 SMB_FILE_ALL_INFO2              = 0x3fa,
+	 SMB_SET_FILE_ALLOCATION_INFO2   = 0x3fb,
+	 SMB_SET_FILE_END_OF_FILE_INFO2  = 0x3fc,
+	 SMB_FILE_MOVE_CLUSTER_INFO      = 0x407,
+	 SMB_FILE_QUOTA_INFO             = 0x408,
+	 SMB_FILE_REPARSEPOINT_INFO      = 0x409,
+	 SMB_FILE_MAXIMUM_INFO           = 0x40d
+};
 
 /* Find File infolevels */
-#define SMB_FIND_FILE_DIRECTORY_INFO      0x101
-#define SMB_FIND_FILE_FULL_DIRECTORY_INFO 0x102
-#define SMB_FIND_FILE_NAMES_INFO          0x103
-#define SMB_FIND_FILE_BOTH_DIRECTORY_INFO 0x104
-#define SMB_FIND_FILE_ID_FULL_DIR_INFO    0x105
-#define SMB_FIND_FILE_ID_BOTH_DIR_INFO    0x106
-#define SMB_FIND_FILE_UNIX                0x202
+enum {
+	 SMB_FIND_FILE_DIRECTORY_INFO      = 0x101,
+	 SMB_FIND_FILE_FULL_DIRECTORY_INFO = 0x102,
+	 SMB_FIND_FILE_NAMES_INFO          = 0x103,
+	 SMB_FIND_FILE_BOTH_DIRECTORY_INFO = 0x104,
+	 SMB_FIND_FILE_ID_FULL_DIR_INFO    = 0x105,
+	 SMB_FIND_FILE_ID_BOTH_DIR_INFO    = 0x106,
+	 SMB_FIND_FILE_UNIX                = 0x202
+};
 
 typedef struct smb_com_transaction2_qpi_req {
 	struct smb_hdr hdr;	/* wct = 14+ */
@@ -1223,11 +1271,13 @@
 /*
  * Flags on T2 FINDFIRST and FINDNEXT 
  */
-#define CIFS_SEARCH_CLOSE_ALWAYS  0x0001
-#define CIFS_SEARCH_CLOSE_AT_END  0x0002
-#define CIFS_SEARCH_RETURN_RESUME 0x0004
-#define CIFS_SEARCH_CONTINUE_FROM_LAST 0x0008
-#define CIFS_SEARCH_BACKUP_SEARCH 0x0010
+enum {
+	 CIFS_SEARCH_CLOSE_ALWAYS  = 0x0001,
+	 CIFS_SEARCH_CLOSE_AT_END  = 0x0002,
+	 CIFS_SEARCH_RETURN_RESUME = 0x0004,
+	 CIFS_SEARCH_CONTINUE_FROM_LAST = 0x0008,
+	 CIFS_SEARCH_BACKUP_SEARCH = 0x0010
+};
 
 /*
  * Size of the resume key on FINDFIRST and FINDNEXT calls
@@ -1318,17 +1368,19 @@
 } T2_FNEXT_RSP_PARMS;
 
 /* QFSInfo Levels */
-#define SMB_INFO_ALLOCATION         1
-#define SMB_INFO_VOLUME             2
-#define SMB_QUERY_FS_VOLUME_INFO    0x102
-#define SMB_QUERY_FS_SIZE_INFO      0x103
-#define SMB_QUERY_FS_DEVICE_INFO    0x104
-#define SMB_QUERY_FS_ATTRIBUTE_INFO 0x105
-#define SMB_QUERY_CIFS_UNIX_INFO    0x200
-#define SMB_QUERY_LABEL_INFO        0x3ea
-#define SMB_QUERY_FS_QUOTA_INFO     0x3ee
-#define SMB_QUERY_FS_FULL_SIZE_INFO 0x3ef
-#define SMB_QUERY_OBJECTID_INFO     0x3f0
+enum {
+	 SMB_INFO_ALLOCATION         = 1,
+	 SMB_INFO_VOLUME             = 2,
+	 SMB_QUERY_FS_VOLUME_INFO    = 0x102,
+	 SMB_QUERY_FS_SIZE_INFO      = 0x103,
+	 SMB_QUERY_FS_DEVICE_INFO    = 0x104,
+	 SMB_QUERY_FS_ATTRIBUTE_INFO = 0x105,
+	 SMB_QUERY_CIFS_UNIX_INFO    = 0x200,
+	 SMB_QUERY_LABEL_INFO        = 0x3ea,
+	 SMB_QUERY_FS_QUOTA_INFO     = 0x3ee,
+	 SMB_QUERY_FS_FULL_SIZE_INFO = 0x3ef,
+	 SMB_QUERY_OBJECTID_INFO     = 0x3f0
+};
 
 typedef struct smb_com_transaction2_qfsi_req {
 	struct smb_hdr hdr;	/* wct = 14+ */
@@ -1410,8 +1462,10 @@
 } TRANSACTION2_GET_DFS_REFER_RSP;
 
 /* DFS Flags */
-#define DFSREF_REFERRAL_SERVER  0x0001
-#define DFSREF_STORAGE_SERVER   0x0002
+enum {
+	 DFSREF_REFERRAL_SERVER  = 0x0001,
+	 DFSREF_STORAGE_SERVER   = 0x0002
+};
 
 /* IOCTL information */
 /* List of ioctl function codes that look to be of interest to remote clients like this. */
@@ -1419,30 +1473,34 @@
 /* Some of the following such as the encryption/compression ones would be                */
 /* invoked from tools via a specialized hook into the VFS rather than via the            */
 /* standard vfs entry points */
-#define FSCTL_REQUEST_OPLOCK_LEVEL_1 0x00090000
-#define FSCTL_REQUEST_OPLOCK_LEVEL_2 0x00090004
-#define FSCTL_REQUEST_BATCH_OPLOCK   0x00090008
-#define FSCTL_LOCK_VOLUME            0x00090018
-#define FSCTL_UNLOCK_VOLUME          0x0009001C
-#define FSCTL_GET_COMPRESSION        0x0009003C
-#define FSCTL_SET_COMPRESSION        0x0009C040
-#define FSCTL_REQUEST_FILTER_OPLOCK  0x0009008C
-#define FSCTL_FILESYS_GET_STATISTICS 0x00090090
-#define FSCTL_SET_REPARSE_POINT      0x000900A4
-#define FSCTL_GET_REPARSE_POINT      0x000900A8
-#define FSCTL_DELETE_REPARSE_POINT   0x000900AC
-#define FSCTL_SET_SPARSE             0x000900C4
-#define FSCTL_SET_ZERO_DATA          0x000900C8
-#define FSCTL_SET_ENCRYPTION         0x000900D7
-#define FSCTL_ENCRYPTION_FSCTL_IO    0x000900DB
-#define FSCTL_WRITE_RAW_ENCRYPTED    0x000900DF
-#define FSCTL_READ_RAW_ENCRYPTED     0x000900E3
-#define FSCTL_SIS_COPYFILE           0x00090100
-#define FSCTL_SIS_LINK_FILES         0x0009C104
-
-#define IO_REPARSE_TAG_MOUNT_POINT   0xA0000003
-#define IO_REPARSE_TAG_HSM           0xC0000004
-#define IO_REPARSE_TAG_SIS           0x80000007
+enum {
+	 FSCTL_REQUEST_OPLOCK_LEVEL_1 = 0x00090000,
+	 FSCTL_REQUEST_OPLOCK_LEVEL_2 = 0x00090004,
+	 FSCTL_REQUEST_BATCH_OPLOCK   = 0x00090008,
+	 FSCTL_LOCK_VOLUME            = 0x00090018,
+	 FSCTL_UNLOCK_VOLUME          = 0x0009001C,
+	 FSCTL_GET_COMPRESSION        = 0x0009003C,
+	 FSCTL_SET_COMPRESSION        = 0x0009C040,
+	 FSCTL_REQUEST_FILTER_OPLOCK  = 0x0009008C,
+	 FSCTL_FILESYS_GET_STATISTICS = 0x00090090,
+	 FSCTL_SET_REPARSE_POINT      = 0x000900A4,
+	 FSCTL_GET_REPARSE_POINT      = 0x000900A8,
+	 FSCTL_DELETE_REPARSE_POINT   = 0x000900AC,
+	 FSCTL_SET_SPARSE             = 0x000900C4,
+	 FSCTL_SET_ZERO_DATA          = 0x000900C8,
+	 FSCTL_SET_ENCRYPTION         = 0x000900D7,
+	 FSCTL_ENCRYPTION_FSCTL_IO    = 0x000900DB,
+	 FSCTL_WRITE_RAW_ENCRYPTED    = 0x000900DF,
+	 FSCTL_READ_RAW_ENCRYPTED     = 0x000900E3,
+	 FSCTL_SIS_COPYFILE           = 0x00090100,
+	 FSCTL_SIS_LINK_FILES         = 0x0009C104
+};
+
+enum {
+	 IO_REPARSE_TAG_MOUNT_POINT   = 0xA0000003,
+	 IO_REPARSE_TAG_HSM           = 0xC0000004,
+	 IO_REPARSE_TAG_SIS           = 0x80000007
+};
 
 /*
  ************************************************************************
@@ -1501,29 +1559,33 @@
 	__le64 Capability;
 } FILE_SYSTEM_UNIX_INFO;	/* Unix extensions info, level 0x200 */
 /* Linux/Unix extensions capability flags */
-#define CIFS_UNIX_FCNTL_CAP             0x00000001 /* support for fcntl locks */
-#define CIFS_UNIX_POSIX_ACL_CAP         0x00000002
-#define CIFS_UNIX_XATTR_CAP             0x00000004 /*support for new namespace*/
+enum {
+	 CIFS_UNIX_FCNTL_CAP             = 0x00000001, /* support for fcntl locks */
+	 CIFS_UNIX_POSIX_ACL_CAP         = 0x00000002,
+	 CIFS_UNIX_XATTR_CAP             = 0x00000004 /*support for new namespace*/
+};
 
 /* DeviceType Flags */
-#define FILE_DEVICE_CD_ROM              0x00000002
-#define FILE_DEVICE_CD_ROM_FILE_SYSTEM  0x00000003
-#define FILE_DEVICE_DFS                 0x00000006
-#define FILE_DEVICE_DISK                0x00000007
-#define FILE_DEVICE_DISK_FILE_SYSTEM    0x00000008
-#define FILE_DEVICE_FILE_SYSTEM         0x00000009
-#define FILE_DEVICE_NAMED_PIPE          0x00000011
-#define FILE_DEVICE_NETWORK             0x00000012
-#define FILE_DEVICE_NETWORK_FILE_SYSTEM 0x00000014
-#define FILE_DEVICE_NULL                0x00000015
-#define FILE_DEVICE_PARALLEL_PORT       0x00000016
-#define FILE_DEVICE_PRINTER             0x00000018
-#define FILE_DEVICE_SERIAL_PORT         0x0000001b
-#define FILE_DEVICE_STREAMS             0x0000001e
-#define FILE_DEVICE_TAPE                0x0000001f
-#define FILE_DEVICE_TAPE_FILE_SYSTEM    0x00000020
-#define FILE_DEVICE_VIRTUAL_DISK        0x00000024
-#define FILE_DEVICE_NETWORK_REDIRECTOR  0x00000028
+enum {
+	 FILE_DEVICE_CD_ROM              = 0x00000002,
+	 FILE_DEVICE_CD_ROM_FILE_SYSTEM  = 0x00000003,
+	 FILE_DEVICE_DFS                 = 0x00000006,
+	 FILE_DEVICE_DISK                = 0x00000007,
+	 FILE_DEVICE_DISK_FILE_SYSTEM    = 0x00000008,
+	 FILE_DEVICE_FILE_SYSTEM         = 0x00000009,
+	 FILE_DEVICE_NAMED_PIPE          = 0x00000011,
+	 FILE_DEVICE_NETWORK             = 0x00000012,
+	 FILE_DEVICE_NETWORK_FILE_SYSTEM = 0x00000014,
+	 FILE_DEVICE_NULL                = 0x00000015,
+	 FILE_DEVICE_PARALLEL_PORT       = 0x00000016,
+	 FILE_DEVICE_PRINTER             = 0x00000018,
+	 FILE_DEVICE_SERIAL_PORT         = 0x0000001b,
+	 FILE_DEVICE_STREAMS             = 0x0000001e,
+	 FILE_DEVICE_TAPE                = 0x0000001f,
+	 FILE_DEVICE_TAPE_FILE_SYSTEM    = 0x00000020,
+	 FILE_DEVICE_VIRTUAL_DISK        = 0x00000024,
+	 FILE_DEVICE_NETWORK_REDIRECTOR  = 0x00000028
+};
 
 typedef struct {
 	__le32 DeviceType;
@@ -1565,13 +1627,16 @@
 } FILE_ALL_INFO;		/* level 0x107 QPathInfo */
 
 /* defines for enumerating possible values of the Unix type field below */
-#define UNIX_FILE      0
-#define UNIX_DIR       1
-#define UNIX_SYMLINK   2
-#define UNIX_CHARDEV   3
-#define UNIX_BLOCKDEV  4
-#define UNIX_FIFO      5
-#define UNIX_SOCKET    6
+enum {
+	 UNIX_FILE      = 0,
+	 UNIX_DIR       = 1,
+	 UNIX_SYMLINK   = 2,
+	 UNIX_CHARDEV   = 3,
+	 UNIX_BLOCKDEV  = 4,
+	 UNIX_FIFO      = 5,
+	 UNIX_SOCKET    = 6
+};
+
 typedef struct {
 	__le64 EndOfFile;
 	__le64 NumOfBytes;
@@ -1660,21 +1725,6 @@
 	struct cifs_posix_ace default_ace_arraay[] */
 };  /* level 0x204 */
 
-/* types of access control entries already defined in posix_acl.h */
-/* #define CIFS_POSIX_ACL_USER_OBJ	 0x01
-#define CIFS_POSIX_ACL_USER      0x02
-#define CIFS_POSIX_ACL_GROUP_OBJ 0x04
-#define CIFS_POSIX_ACL_GROUP     0x08
-#define CIFS_POSIX_ACL_MASK      0x10
-#define CIFS_POSIX_ACL_OTHER     0x20 */
-
-/* types of perms */
-/* #define CIFS_POSIX_ACL_EXECUTE   0x01
-#define CIFS_POSIX_ACL_WRITE     0x02
-#define CIFS_POSIX_ACL_READ	     0x04 */
-
-/* end of POSIX ACL definitions */
-
 struct file_internal_info {
 	__u64  UniqueId; /* inode number */
 };      /* level 0x3ee */



^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 4/6] cifs: remove spurious casts
  2005-01-15 13:28   ` [PATCH 3/6] cifs: enum conversion Pekka Enberg
@ 2005-01-15 13:29     ` Pekka Enberg
  2005-01-15 13:30       ` [PATCH 5/6] cifs: reduce deep nesting Pekka Enberg
  0 siblings, 1 reply; 6+ messages in thread
From: Pekka Enberg @ 2005-01-15 13:29 UTC (permalink / raw)
  To: sfrench; +Cc: linux-kernel

Remove spurious void pointer casts.

Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
---

 cifsfs.c    |    9 ++++-----
 dir.c       |    6 ++----
 file.c      |   32 +++++++++++++-------------------
 misc.c      |   17 ++++-------------
 readdir.c   |    6 +++---
 transport.c |    5 ++---
 6 files changed, 28 insertions(+), 47 deletions(-)

Index: linux/fs/cifs/cifsfs.c
===================================================================
--- linux.orig/fs/cifs/cifsfs.c	2005-01-12 20:13:39.874862088 +0200
+++ linux/fs/cifs/cifsfs.c	2005-01-12 20:13:47.453709928 +0200
@@ -221,10 +221,9 @@
 static struct inode *
 cifs_alloc_inode(struct super_block *sb)
 {
-	struct cifsInodeInfo *cifs_inode;
-	cifs_inode =
-	    (struct cifsInodeInfo *) kmem_cache_alloc(cifs_inode_cachep,
-						      SLAB_KERNEL);
+	struct cifsInodeInfo *cifs_inode =
+		kmem_cache_alloc(cifs_inode_cachep, SLAB_KERNEL);
+
 	if (!cifs_inode)
 		return NULL;
 	cifs_inode->cifsAttrs = 0x20;	/* default */
@@ -578,7 +577,7 @@
 static void
 cifs_init_once(void *inode, kmem_cache_t * cachep, unsigned long flags)
 {
-	struct cifsInodeInfo *cifsi = (struct cifsInodeInfo *) inode;
+	struct cifsInodeInfo *cifsi = inode;
 
 	if ((flags & (SLAB_CTOR_VERIFY | SLAB_CTOR_CONSTRUCTOR)) ==
 	    SLAB_CTOR_CONSTRUCTOR) {
Index: linux/fs/cifs/dir.c
===================================================================
--- linux.orig/fs/cifs/dir.c	2005-01-12 20:13:40.114825608 +0200
+++ linux/fs/cifs/dir.c	2005-01-12 20:13:47.454709776 +0200
@@ -284,12 +284,10 @@
 			/* mknod case - do not leave file open */
 			CIFSSMBClose(xid, pTcon, fileHandle);
 		} else if(newinode) {
-			pCifsFile = (struct cifsFileInfo *)
-			   kmalloc(sizeof (struct cifsFileInfo), GFP_KERNEL);
+			pCifsFile = kmalloc(sizeof (struct cifsFileInfo), GFP_KERNEL);
 		
 			if (pCifsFile) {
-				memset((char *)pCifsFile, 0,
-				       sizeof (struct cifsFileInfo));
+				memset(pCifsFile, 0, sizeof (struct cifsFileInfo));
 				pCifsFile->netfid = fileHandle;
 				pCifsFile->pid = current->tgid;
 				pCifsFile->pInode = newinode;
Index: linux/fs/cifs/file.c
===================================================================
--- linux.orig/fs/cifs/file.c	2005-01-12 20:13:40.119824848 +0200
+++ linux/fs/cifs/file.c	2005-01-12 20:13:47.457709320 +0200
@@ -166,7 +166,7 @@
 			kmalloc(sizeof (struct cifsFileInfo), GFP_KERNEL);
 		if (file->private_data) {
 			memset(file->private_data, 0, sizeof(struct cifsFileInfo));
-			pCifsFile = (struct cifsFileInfo *) file->private_data;
+			pCifsFile = file->private_data;
 			pCifsFile->netfid = netfid;
 			pCifsFile->pid = current->tgid;
 			init_MUTEX(&pCifsFile->fh_sem);
@@ -285,7 +285,7 @@
 	if(inode == NULL)
 		return -EBADF;
 	if (file->private_data) {
-		pCifsFile = (struct cifsFileInfo *) file->private_data;
+		pCifsFile = file->private_data;
 	} else
 		return -EBADF;
 
@@ -399,8 +399,7 @@
 	int xid;
 	struct cifs_sb_info *cifs_sb;
 	struct cifsTconInfo *pTcon;
-	struct cifsFileInfo *pSMBFile =
-		(struct cifsFileInfo *) file->private_data;
+	struct cifsFileInfo *pSMBFile = file->private_data;
 
 	xid = GetXid();
 
@@ -446,8 +445,7 @@
 {
 	int rc = 0;
 	int xid;
-	struct cifsFileInfo *pCFileStruct =
-	    (struct cifsFileInfo *) file->private_data;
+	struct cifsFileInfo *pCFileStruct = file->private_data;
 	char * ptmp;
 
 	cFYI(1, ("Closedir inode = 0x%p with ", inode));
@@ -618,7 +616,7 @@
 	if (file->private_data == NULL) {
 		return -EBADF;
 	} else {
-		open_file = (struct cifsFileInfo *) file->private_data;
+		open_file = file->private_data;
 	}
 	
 	xid = GetXid();
@@ -734,7 +732,7 @@
 	if (file->private_data == NULL) {
 		return -EBADF;
 	} else {
-		open_file = (struct cifsFileInfo *) file->private_data;
+		open_file = file->private_data;
 	}
 	
 	xid = GetXid();
@@ -1057,7 +1055,7 @@
 		FreeXid(xid);
 		return -EBADF;
 	}
-	open_file = (struct cifsFileInfo *)file->private_data;
+	open_file = file->private_data;
 
 	if((file->f_flags & O_ACCMODE) == O_WRONLY) {
 		cFYI(1,("attempting read on write only file instance"));
@@ -1136,7 +1134,7 @@
 		FreeXid(xid);
 		return -EBADF;
 	}
-	open_file = (struct cifsFileInfo *)file->private_data;
+	open_file = file->private_data;
 
 	if((file->f_flags & O_ACCMODE) == O_WRONLY) {
 		cFYI(1,("attempting read on write only file instance"));
@@ -1274,7 +1272,7 @@
 		FreeXid(xid);
 		return -EBADF;
 	}
-	open_file = (struct cifsFileInfo *)file->private_data;
+	open_file = file->private_data;
 	cifs_sb = CIFS_SB(file->f_dentry->d_sb);
 	pTcon = cifs_sb->tcon;
 
@@ -1712,9 +1710,7 @@
 static void reset_resume_key(struct file * dir_file, 
 				unsigned char * filename, 
 				unsigned int len,int Unicode,struct nls_table * nls_tab) {
-	struct cifsFileInfo *cifsFile;
-
-	cifsFile = (struct cifsFileInfo *)dir_file->private_data;
+	struct cifsFileInfo *cifsFile = dir_file->private_data;
 	if(cifsFile == NULL)
 		return;
 	if(cifsFile->search_resume_name) {
@@ -1897,8 +1893,7 @@
 		/* fallthrough */
 	case 2:
 		if (file->private_data != NULL) {
-			cifsFile =
-				(struct cifsFileInfo *) file->private_data;
+			cifsFile = file->private_data;
 			if (cifsFile->srch_inf.endOfSearch) {
 				if(cifsFile->srch_inf.emptyDir) {
 					cFYI(1, ("End of search, empty dir"));
@@ -1930,8 +1925,7 @@
 			if (file->private_data) {
 				memset(file->private_data, 0,
 				       sizeof (struct cifsFileInfo));
-				cifsFile =
-				    (struct cifsFileInfo *) file->private_data;
+				cifsFile = file->private_data;
 				cifsFile->netfid = searchHandle;
 				cifsFile->invalidHandle = FALSE;
 				init_MUTEX(&cifsFile->fh_sem);
@@ -2104,7 +2098,7 @@
 			     ("Readdir on closed srch, pos = %lld",
 			      file->f_pos));
 		} else {
-			cifsFile = (struct cifsFileInfo *) file->private_data;
+			cifsFile = file->private_data;
 			if (cifsFile->srch_inf.endOfSearch) {
 				rc = 0;
 				cFYI(1, ("End of search "));
Index: linux/fs/cifs/misc.c
===================================================================
--- linux.orig/fs/cifs/misc.c	2005-01-12 20:13:40.124824088 +0200
+++ linux/fs/cifs/misc.c	2005-01-12 20:13:47.459709016 +0200
@@ -66,11 +66,7 @@
 struct cifsSesInfo *
 sesInfoAlloc(void)
 {
-	struct cifsSesInfo *ret_buf;
-
-	ret_buf =
-	    (struct cifsSesInfo *) kmalloc(sizeof (struct cifsSesInfo),
-					   GFP_KERNEL);
+	struct cifsSesInfo *ret_buf = kmalloc(sizeof(*ret_buf), GFP_KERNEL);
 	if (ret_buf) {
 		memset(ret_buf, 0, sizeof (struct cifsSesInfo));
 		write_lock(&GlobalSMBSeslock);
@@ -109,10 +105,7 @@
 struct cifsTconInfo *
 tconInfoAlloc(void)
 {
-	struct cifsTconInfo *ret_buf;
-	ret_buf =
-	    (struct cifsTconInfo *) kmalloc(sizeof (struct cifsTconInfo),
-					    GFP_KERNEL);
+	struct cifsTconInfo *ret_buf = kmalloc(sizeof (*ret_buf), GFP_KERNEL);
 	if (ret_buf) {
 		memset(ret_buf, 0, sizeof (struct cifsTconInfo));
 		write_lock(&GlobalSMBSeslock);
@@ -155,8 +148,7 @@
    but it may be more efficient to always alloc same size 
    albeit slightly larger than necessary and maxbuffersize 
    defaults to this and can not be bigger */
-	ret_buf =
-	    (struct smb_hdr *) mempool_alloc(cifs_req_poolp, SLAB_KERNEL | SLAB_NOFS);
+	ret_buf = mempool_alloc(cifs_req_poolp, SLAB_KERNEL | SLAB_NOFS);
 
 	/* clear the first few header bytes */
 	/* for most paths, more is cleared in header_assemble */
@@ -189,8 +181,7 @@
    but it may be more efficient to always alloc same size 
    albeit slightly larger than necessary and maxbuffersize 
    defaults to this and can not be bigger */
-	ret_buf =
-	    (struct smb_hdr *) mempool_alloc(cifs_sm_req_poolp, SLAB_KERNEL | SLAB_NOFS);
+	ret_buf = mempool_alloc(cifs_sm_req_poolp, SLAB_KERNEL | SLAB_NOFS);
 	if (ret_buf) {
 	/* No need to clear memory here, cleared in header assemble */
 		atomic_inc(&smBufAllocCount);
Index: linux/fs/cifs/readdir.c
===================================================================
--- linux.orig/fs/cifs/readdir.c	2005-01-12 20:13:40.126823784 +0200
+++ linux/fs/cifs/readdir.c	2005-01-12 20:13:47.460708864 +0200
@@ -65,7 +65,7 @@
 	} else {
 		memset(file->private_data,0,sizeof(struct cifsFileInfo));
 	}
-	cifsFile = (struct cifsFileInfo *)file->private_data;
+	cifsFile = file->private_data;
 	cifsFile->invalidHandle = TRUE;
 	cifsFile->srch_inf.endOfSearch = FALSE;
 
@@ -221,7 +221,7 @@
 	int pos_in_buf = 0;
 	loff_t first_entry_in_buffer;
 	loff_t index_to_find = file->f_pos;
-	struct cifsFileInfo * cifsFile = (struct cifsFileInfo *)file->private_data;
+	struct cifsFileInfo * cifsFile = file->private_data;
 	/* check if index in the buffer */
 	
 	if((cifsFile == NULL) || (ppCurrentEntry == NULL) || (num_to_ret == NULL))
@@ -534,7 +534,7 @@
 			FreeXid(xid);
 			return rc;
 		}
-		cifsFile = (struct cifsFileInfo *) file->private_data;
+		cifsFile = file->private_data;
 		if (cifsFile->srch_inf.endOfSearch) {
 			if(cifsFile->srch_inf.emptyDir) {
 				cFYI(1, ("End of search, empty dir"));
Index: linux/fs/cifs/transport.c
===================================================================
--- linux.orig/fs/cifs/transport.c	2005-01-12 20:13:40.127823632 +0200
+++ linux/fs/cifs/transport.c	2005-01-12 20:13:47.462708560 +0200
@@ -48,7 +48,7 @@
 		return NULL;
 	}
 	
-	temp = (struct mid_q_entry *) mempool_alloc(cifs_mid_poolp,SLAB_KERNEL | SLAB_NOFS);
+	temp = mempool_alloc(cifs_mid_poolp,SLAB_KERNEL | SLAB_NOFS);
 	if (temp == NULL)
 		return temp;
 	else {
@@ -90,8 +90,7 @@
 		cERROR(1, ("Null parms passed to AllocOplockQEntry"));
 		return NULL;
 	}
-	temp = (struct oplock_q_entry *) kmem_cache_alloc(cifs_oplock_cachep,
-						       SLAB_KERNEL);
+	temp = kmem_cache_alloc(cifs_oplock_cachep, SLAB_KERNEL);
 	if (temp == NULL)
 		return temp;
 	else {



^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 5/6] cifs: reduce deep nesting
  2005-01-15 13:29     ` [PATCH 4/6] cifs: remove spurious casts Pekka Enberg
@ 2005-01-15 13:30       ` Pekka Enberg
  2005-01-15 13:31         ` [PATCH 6/6] cifs: convert schedule_timeout to msleep and ssleep Pekka Enberg
  0 siblings, 1 reply; 6+ messages in thread
From: Pekka Enberg @ 2005-01-15 13:30 UTC (permalink / raw)
  To: sfrench; +Cc: linux-kernel

This patch converts deep if statement nesting to use gotos in few places.

Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
---

 cifsfs.c  |   51 +++++++++++++++++++++++++++++++--------------------
 connect.c |   44 ++++++++++++++++++++------------------------
 2 files changed, 51 insertions(+), 44 deletions(-)

Index: linux/fs/cifs/cifsfs.c
===================================================================
--- linux.orig/fs/cifs/cifsfs.c	2005-01-11 08:04:55.007622032 +0200
+++ linux/fs/cifs/cifsfs.c	2005-01-11 08:04:57.454250088 +0200
@@ -839,26 +839,37 @@
 	}
 
 	rc = cifs_init_inodecache();
-	if (!rc) {
-		rc = cifs_init_mids();
-		if (!rc) {
-			rc = cifs_init_request_bufs();
-			if (!rc) {
-				rc = register_filesystem(&cifs_fs_type);
-				if (!rc) {                
-					rc = (int)kernel_thread(cifs_oplock_thread, NULL, 
-						CLONE_FS | CLONE_FILES | CLONE_VM);
-					if(rc > 0)
-						return 0;
-					else 
-						cERROR(1,("error %d create oplock thread",rc));
-				}
-				cifs_destroy_request_bufs();
-			}
-			cifs_destroy_mids();
-		}
-		cifs_destroy_inodecache();
-	}
+	if (rc)
+		goto failed_init_inodecache;
+
+	rc = cifs_init_mids();
+	if (rc)
+		goto failed_init_mids;
+
+	rc = cifs_init_request_bufs();
+	if (rc)
+		goto failed_init_request_bufs;
+
+	rc = register_filesystem(&cifs_fs_type);
+	if (rc)
+		goto failed_register_filesystem;
+
+	rc = kernel_thread(cifs_oplock_thread, NULL,
+			   CLONE_FS | CLONE_FILES | CLONE_VM);
+	if (rc <= 0)
+		goto failed_kernel_thread;
+
+	return 0;
+
+ failed_kernel_thread:
+	cERROR(1,("error %d create oplock thread",rc));
+ failed_register_filesystem:
+	cifs_destroy_request_bufs();
+ failed_init_request_bufs:
+	cifs_destroy_mids();
+ failed_init_mids:
+	cifs_destroy_inodecache();
+ failed_init_inodecache:
 #ifdef CONFIG_PROC_FS
 	cifs_proc_clean();
 #endif
Index: linux/fs/cifs/connect.c
===================================================================
--- linux.orig/fs/cifs/connect.c	2005-01-11 08:04:50.326333696 +0200
+++ linux/fs/cifs/connect.c	2005-01-11 08:04:57.457249632 +0200
@@ -122,11 +122,9 @@
 	read_lock(&GlobalSMBSeslock);
 	list_for_each(tmp, &GlobalSMBSessionList) {
 		ses = list_entry(tmp, struct cifsSesInfo, cifsSessionList);
-		if (ses->server) {
-			if (ses->server == server) {
-				ses->status = CifsNeedReconnect;
-				ses->ipc_tid = 0;
-			}
+		if (ses->server && ses->server == server) {
+			ses->status = CifsNeedReconnect;
+			ses->ipc_tid = 0;
 		}
 		/* else tcp and smb sessions need reconnection */
 	}
@@ -857,33 +855,31 @@
 		 char *userName, struct TCP_Server_Info **psrvTcp)
 {
 	struct list_head *tmp;
-	struct cifsSesInfo *ses;
+	struct cifsSesInfo *ret = NULL;
 	*psrvTcp = NULL;
 	read_lock(&GlobalSMBSeslock);
 
 	list_for_each(tmp, &GlobalSMBSessionList) {
-		ses = list_entry(tmp, struct cifsSesInfo, cifsSessionList);
-		if (ses->server) {
-			if((target_ip_addr && 
-				(ses->server->addr.sockAddr.sin_addr.s_addr
-				  == target_ip_addr->s_addr)) || (target_ip6_addr
-				&& memcmp(&ses->server->addr.sockAddr6.sin6_addr,
-					target_ip6_addr,sizeof(*target_ip6_addr)))){
-				/* BB lock server and tcp session and increment use count here?? */
-				*psrvTcp = ses->server;	/* found a match on the TCP session */
-				/* BB check if reconnection needed */
-				if (strncmp
-				    (ses->userName, userName,
-				     MAX_USERNAME_SIZE) == 0){
-					read_unlock(&GlobalSMBSeslock);
-					return ses;	/* found exact match on both tcp and SMB sessions */
-				}
+		struct cifsSesInfo * ses = list_entry(tmp, struct cifsSesInfo, cifsSessionList);
+		if (!ses->server)
+			continue;
+		if((target_ip_addr && 
+			(ses->server->addr.sockAddr.sin_addr.s_addr
+			  == target_ip_addr->s_addr)) || (target_ip6_addr
+			&& memcmp(&ses->server->addr.sockAddr6.sin6_addr,
+				target_ip6_addr,sizeof(*target_ip6_addr)))){
+			/* BB lock server and tcp session and increment use count here?? */
+			*psrvTcp = ses->server;	/* found a match on the TCP session */
+			/* BB check if reconnection needed */
+			if (strncmp(ses->userName, userName, MAX_USERNAME_SIZE) == 0) {
+				ret = ses;
+				goto out;
 			}
 		}
-		/* else tcp and smb sessions need reconnection */
 	}
+ out:
 	read_unlock(&GlobalSMBSeslock);
-	return NULL;
+	return ret;
 }
 
 static struct cifsTconInfo *



^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 6/6] cifs: convert schedule_timeout to msleep and ssleep
  2005-01-15 13:30       ` [PATCH 5/6] cifs: reduce deep nesting Pekka Enberg
@ 2005-01-15 13:31         ` Pekka Enberg
  0 siblings, 0 replies; 6+ messages in thread
From: Pekka Enberg @ 2005-01-15 13:31 UTC (permalink / raw)
  To: sfrench; +Cc: linux-kernel

This patch converts cifs code to use msleep() and ssleep() instead of
schedule_timeout().

Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
---

 cifsfs.c  |    9 ++++-----
 connect.c |   25 +++++++++----------------
 2 files changed, 13 insertions(+), 21 deletions(-)

Index: 2.6/fs/cifs/cifsfs.c
===================================================================
--- 2.6.orig/fs/cifs/cifsfs.c	2005-01-12 23:33:14.476445944 +0200
+++ 2.6/fs/cifs/cifsfs.c	2005-01-12 23:37:09.402731720 +0200
@@ -32,6 +32,7 @@
 #include <linux/seq_file.h>
 #include <linux/vfs.h>
 #include <linux/mempool.h>
+#include <linux/delay.h>
 #include "cifsfs.h"
 #include "cifspdu.h"
 #define DECLARE_GLOBALS_HERE
@@ -748,14 +749,12 @@
 
 	oplockThread = current;
 	do {
-		set_current_state(TASK_INTERRUPTIBLE);
-		
-		schedule_timeout(1*HZ);  
+		ssleep(1);
+
 		spin_lock(&GlobalMid_Lock);
 		if(list_empty(&GlobalOplock_Q)) {
 			spin_unlock(&GlobalMid_Lock);
-			set_current_state(TASK_INTERRUPTIBLE);
-			schedule_timeout(39*HZ);
+			ssleep(39);
 		} else {
 			oplock_item = list_entry(GlobalOplock_Q.next, 
 				struct oplock_q_entry, qhead);
Index: 2.6/fs/cifs/connect.c
===================================================================
--- 2.6.orig/fs/cifs/connect.c	2005-01-12 23:33:14.479445488 +0200
+++ 2.6/fs/cifs/connect.c	2005-01-12 23:37:47.396955720 +0200
@@ -29,6 +29,7 @@
 #include <linux/ctype.h>
 #include <linux/utsname.h>
 #include <linux/mempool.h>
+#include <linux/delay.h>
 #include <asm/uaccess.h>
 #include <asm/processor.h>
 #include "cifspdu.h"
@@ -174,8 +175,7 @@
 					server->workstation_RFC1001_name);
 		}
 		if(rc) {
-			set_current_state(TASK_INTERRUPTIBLE);
-			schedule_timeout(3 * HZ);
+			ssleep(3);
 		} else {
 			atomic_inc(&tcpSesReconnectCount);
 			spin_lock(&GlobalMid_Lock);
@@ -226,8 +226,7 @@
 
 		if (smb_buffer == NULL) {
 			cERROR(1,("Can not get memory for SMB response"));
-			set_current_state(TASK_INTERRUPTIBLE);
-			schedule_timeout(HZ * 3); /* give system time to free memory */
+			ssleep(3);
 			continue;
 		}
 		iov.iov_base = smb_buffer;
@@ -308,8 +307,7 @@
 				} else {
 					/* give server a second to
 					clean up before reconnect attempt */
-					set_current_state(TASK_INTERRUPTIBLE);
-					schedule_timeout(HZ);
+					ssleep(1);
 					/* always try 445 first on reconnect
 					since we get NACK on some if we ever
 					connected to port 139 (the NACK is 
@@ -433,8 +431,7 @@
 	and get out of SendReceive.  */
 	wake_up_all(&server->request_q);
 	/* give those requests time to exit */
-	set_current_state(TASK_INTERRUPTIBLE);
-	schedule_timeout(HZ/8);
+	msleep(125);
 
 	if(server->ssocket) {
 		sock_release(csocket);
@@ -471,17 +468,15 @@
 		}
 		spin_unlock(&GlobalMid_Lock);
 		read_unlock(&GlobalSMBSeslock);
-		set_current_state(TASK_INTERRUPTIBLE);
 		/* 1/8th of sec is more than enough time for them to exit */
-		schedule_timeout(HZ/8); 
+		msleep(125);
 	}
 
 	if (list_empty(&server->pending_mid_q)) {
 		/* mpx threads have not exited yet give them 
 		at least the smb send timeout time for long ops */
 		cFYI(1, ("Wait for exit from demultiplex thread"));
-		set_current_state(TASK_INTERRUPTIBLE);
-		schedule_timeout(46 * HZ);	
+		ssleep(46);
 		/* if threads still have not exited they are probably never
 		coming home not much else we can do but free the memory */
 	}
@@ -497,8 +492,7 @@
 			GFP_KERNEL);
 	}
 
-	set_current_state(TASK_INTERRUPTIBLE);
-	schedule_timeout(HZ/4);
+	msleep(250);
 	return 0;
 }
 
@@ -2924,8 +2918,7 @@
 	
 	cifs_sb->tcon = NULL;
 	if (ses) {
-		set_current_state(TASK_INTERRUPTIBLE);
-		schedule_timeout(HZ / 2);
+		msleep(500);
 	}
 	if (ses)
 		sesInfoFree(ses);



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2005-01-15 13:42 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-01-15 13:25 [PATCH 1/6] cifs: copy_to_user and copy_from_user fixes Pekka Enberg
2005-01-15 13:26 ` [PATCH 2/6] cifs: remove dead code Pekka Enberg
2005-01-15 13:28   ` [PATCH 3/6] cifs: enum conversion Pekka Enberg
2005-01-15 13:29     ` [PATCH 4/6] cifs: remove spurious casts Pekka Enberg
2005-01-15 13:30       ` [PATCH 5/6] cifs: reduce deep nesting Pekka Enberg
2005-01-15 13:31         ` [PATCH 6/6] cifs: convert schedule_timeout to msleep and ssleep Pekka Enberg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox