[PATCH] cifs: cleanup of ifdefs usage so it is more consistent

And fix to not needlessly send new POSIX QFSInfo when server does not
explicitly claim support for the new protocol extensions. 

Signed-off-by: Steve French (sfrench@us.ibm.com)
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
diff --git a/fs/cifs/ioctl.c b/fs/cifs/ioctl.c
index 711bb7a..b0ea668 100644
--- a/fs/cifs/ioctl.c
+++ b/fs/cifs/ioctl.c
@@ -35,35 +35,37 @@
 		unsigned int command, unsigned long arg)
 {
 	int rc = -ENOTTY; /* strange error - but the precedent */
+	int xid;
+	struct cifs_sb_info *cifs_sb;
 #ifdef CONFIG_CIFS_POSIX
 	__u64	ExtAttrBits = 0;
 	__u64	ExtAttrMask = 0;
-#endif /* CONFIG_CIFS_POSIX */
 	__u64   caps;
-	int xid;
-	struct cifs_sb_info *cifs_sb;
 	struct cifsTconInfo *tcon;
 	struct cifsFileInfo *pSMBFile =
 		(struct cifsFileInfo *)filep->private_data;
+#endif /* CONFIG_CIFS_POSIX */
 
 	xid = GetXid();
 
         cFYI(1,("ioctl file %p  cmd %u  arg %lu",filep,command,arg));
 
 	cifs_sb = CIFS_SB(inode->i_sb);
-	tcon = cifs_sb->tcon;
 
+#ifdef CONFIG_CIFS_POSIX
+	tcon = cifs_sb->tcon;
 	if(tcon)
 		caps = le64_to_cpu(tcon->fsUnixInfo.Capability);
 	else {
 		rc = -EIO;
-		goto cifs_ioctl_out;
+		FreeXid(xid);
+		return -EIO;
 	}
+#endif /* CONFIG_CIFS_POSIX */
 
 	switch(command) {
 		case CIFS_IOC_CHECKUMOUNT:
 			cFYI(1,("User unmount attempted"));
-			/* BB FIXME - add missing code here FIXME */
 			if(cifs_sb->mnt_uid == current->uid)
 				rc = 0;
 			else {
@@ -75,7 +77,7 @@
 		case EXT2_IOC_GETFLAGS:
 			if(CIFS_UNIX_EXTATTR_CAP & caps) {
 				if (pSMBFile == NULL)
-					goto cifs_ioctl_out;
+					break;
 				rc = CIFSGetExtAttr(xid, tcon, pSMBFile->netfid,
 					&ExtAttrBits, &ExtAttrMask);
 				if(rc == 0)
@@ -89,10 +91,10 @@
 			if(CIFS_UNIX_EXTATTR_CAP & caps) {
 				if(get_user(ExtAttrBits,(int __user *)arg)) {
 					rc = -EFAULT;
-					goto cifs_ioctl_out;
+					break;
 				}
 				if (pSMBFile == NULL)
-					goto cifs_ioctl_out;
+					break;
 				/* rc= CIFSGetExtAttr(xid,tcon,pSMBFile->netfid,
 					extAttrBits, &ExtAttrMask);*/
 				
@@ -105,7 +107,6 @@
 			break;
 	}
 
-cifs_ioctl_out:
 	FreeXid(xid);
 	return rc;
 }