diff --git a/fs/cifs/cifs_debug.c b/fs/cifs/cifs_debug.c
index 4061e43..8381713 100644
--- a/fs/cifs/cifs_debug.c
+++ b/fs/cifs/cifs_debug.c
@@ -283,6 +283,12 @@
 			atomic_read(&tcon->num_t2renames));
 		buf += item_length;
 		length += item_length;
+		item_length = sprintf(buf,"\nFindFirst: %d FNext %d FClose %d",
+			atomic_read(&tcon->num_ffirst),
+			atomic_read(&tcon->num_fnext),
+			atomic_read(&tcon->num_fclose));
+		buf += item_length;
+		length += item_length;
 	}
 	read_unlock(&GlobalSMBSeslock);
 
@@ -360,7 +366,7 @@
 	if (pde)
 		pde->write_proc = oplockEnabled_write;
 
-	pde = create_proc_read_entry("ReenableOldCifsReaddirCode", 0, proc_fs_cifs,
+	pde = create_proc_read_entry("Experimental", 0, proc_fs_cifs,
 				quotaEnabled_read, NULL);
 	if (pde)
 		pde->write_proc = quotaEnabled_write;
@@ -419,7 +425,7 @@
 	remove_proc_entry("ExtendedSecurity",proc_fs_cifs);
 	remove_proc_entry("PacketSigningEnabled",proc_fs_cifs);
 	remove_proc_entry("LinuxExtensionsEnabled",proc_fs_cifs);
-	remove_proc_entry("ReenableOldCifsReaddirCode",proc_fs_cifs);
+	remove_proc_entry("Experimental",proc_fs_cifs);
 	remove_proc_entry("LookupCacheEnabled",proc_fs_cifs);
 	remove_proc_entry("cifs", proc_root_fs);
 }
diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c
index f3dfae7..56d79fd 100644
--- a/fs/cifs/cifssmb.c
+++ b/fs/cifs/cifssmb.c
@@ -964,7 +964,7 @@
 	__u32 bytes_sent;
 	__u16 byte_count;
 
-	cERROR(1,("write2 at %lld %d bytes",offset,count)); /* BB removeme BB */
+	cFYI(1,("write2 at %lld %d bytes",offset,count)); /* BB removeme BB */
 	rc = small_smb_init(SMB_COM_WRITE_ANDX, 14, tcon, (void **) &pSMB);
 	if (rc)
 		return rc;
diff --git a/fs/cifs/file.c b/fs/cifs/file.c
index f55c0c7..ddb25a0 100644
--- a/fs/cifs/file.c
+++ b/fs/cifs/file.c
@@ -845,11 +845,10 @@
 				if (rc != 0)
 					break;
 			}
-#ifdef CIFS_EXPERIMENTAL
+#ifdef CONFIG_CIFS_EXPERIMENTAL
 			/* BB FIXME We can not sign across two buffers yet */
-			cERROR(1,("checking signing")); /* BB removeme BB */
-			if(pTcon->ses->server->secMode & 
-			   (SECMODE_SIGN_REQUIRED | SECMODE_SIGN_ENABLED) == 0)
+			if((experimEnabled) && ((pTcon->ses->server->secMode & 
+			 (SECMODE_SIGN_REQUIRED | SECMODE_SIGN_ENABLED)) == 0)) {
 				rc = CIFSSMBWrite2(xid, pTcon,
 						open_file->netfid,
 						min_t(const int, cifs_sb->wsize,
diff --git a/fs/cifs/transport.c b/fs/cifs/transport.c
index 04f4af0..496a273 100644
--- a/fs/cifs/transport.c
+++ b/fs/cifs/transport.c
@@ -197,7 +197,7 @@
 	iov[0].iov_base = smb_buffer;
 	iov[0].iov_len = len;
 	iov[1].iov_base = data;
-	iov[2].iov_len = datalen;
+	iov[1].iov_len = datalen;
 	smb_msg.msg_name = sin;
 	smb_msg.msg_namelen = sizeof (struct sockaddr);
 	smb_msg.msg_control = NULL;
@@ -210,7 +210,8 @@
 	   Flags2 is converted in SendReceive */
 
 	smb_buffer->smb_buf_length = cpu_to_be32(smb_buffer->smb_buf_length);
-	cFYI(1, ("Sending smb of length %d ", len + datalen));
+	cFYI(1, ("Sending smb:  hdrlen %d datalen %d",
+		 smb_hdr_length,datalen));
 	dump_smb(smb_buffer, len);
 
 	while (len + datalen > 0) {
@@ -233,6 +234,7 @@
 			if(rc >= len) {
 				iov[0].iov_len = 0;
 				rc -= len;
+				len = 0;
 			} else {  /* some of hdr was not sent */
 				len -= rc;
 				iov[0].iov_len -= rc;
