Author: sfrench
Date: 2006-08-21 17:08:04 +0000 (Mon, 21 Aug 2006)
New Revision: 75

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=linux-cifs-client&rev=75

Log:
More 2.4 build enablement of current cifs vfs.

Thanks to Yehuda Weinraub for his help on this

Modified:
   branches/linux-converged-for-old-kernels/fs/cifs/Makefile-24
   branches/linux-converged-for-old-kernels/fs/cifs/cifssmb.c
   branches/linux-converged-for-old-kernels/fs/cifs/dir.c
   branches/linux-converged-for-old-kernels/fs/cifs/link.c
   branches/linux-converged-for-old-kernels/fs/cifs/sess.c


Changeset:
Modified: branches/linux-converged-for-old-kernels/fs/cifs/Makefile-24
===================================================================
--- branches/linux-converged-for-old-kernels/fs/cifs/Makefile-24        
2006-08-18 23:36:23 UTC (rev 74)
+++ branches/linux-converged-for-old-kernels/fs/cifs/Makefile-24        
2006-08-21 17:08:04 UTC (rev 75)
@@ -3,7 +3,7 @@
 #
 O_TARGET := cifs.o
 
-obj-y := nterr.o md4.o md5.o netmisc.o smbdes.o smbencrypt.o asn1.o 
cifs_unicode.o cifsencrypt.o cifs_debug.o sess.o cifssmb.o connect.o misc.o 
dir.o inode.o link.o transport.o cifsfs.o file.o
+obj-y := nterr.o md4.o md5.o netmisc.o smbdes.o smbencrypt.o asn1.o 
cifs_unicode.o cifsencrypt.o cifs_debug.o sess.o link.o cifssmb.o connect.o 
misc.o dir.o inode.o transport.o cifsfs.o file.o
 
 obj-m := $(O_TARGET)
 

Modified: branches/linux-converged-for-old-kernels/fs/cifs/cifssmb.c
===================================================================
--- branches/linux-converged-for-old-kernels/fs/cifs/cifssmb.c  2006-08-18 
23:36:23 UTC (rev 74)
+++ branches/linux-converged-for-old-kernels/fs/cifs/cifssmb.c  2006-08-21 
17:08:04 UTC (rev 75)
@@ -136,12 +136,17 @@
                        while(tcon->ses->server->tcpStatus == 
CifsNeedReconnect) {
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 0)
                                int timeout = 10 * HZ;
-                               while ((tcon->ses->server->tcpStatus != 
CifsGood) && (timeout > 0)) {
-                                       timeout = 
interruptible_sleep_on_timeout(&tcon->ses->server->response_q,timeout);
+                               while((tcon->ses->server->tcpStatus != CifsGood)
+                                               && (timeout > 0)) {
+                                       timeout = 
interruptible_sleep_on_timeout(
+                                               &tcon->ses->server->response_q,
+                                               timeout);
                                }
 #else
-                               
wait_event_interruptible_timeout(tcon->ses->server->response_q,
-                                       (tcon->ses->server->tcpStatus == 
CifsGood), 10 * HZ);
+                               wait_event_interruptible_timeout(
+                                       tcon->ses->server->response_q,
+                                       (tcon->ses->server->tcpStatus == 
CifsGood),
+                                       10 * HZ);
 #endif
                                if(tcon->ses->server->tcpStatus == 
CifsNeedReconnect) {
                                        /* on "soft" mounts we wait once */
@@ -277,8 +282,20 @@
                                   reconnect, should be greater than cifs socket
                                   timeout which is 7 seconds */
                        while(tcon->ses->server->tcpStatus == 
CifsNeedReconnect) {
-                               
wait_event_interruptible_timeout(tcon->ses->server->response_q,
-                                       (tcon->ses->server->tcpStatus == 
CifsGood), 10 * HZ);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 5, 0)
+                               int timeout = 10 * HZ;
+                               while((tcon->ses->server->tcpStatus != CifsGood)
+                                               && (timeout > 0)) {
+                                       timeout = interruptible_sleep_on_timeout
+                                               (&tcon->ses->server->response_q,
+                                                timeout);
+                               }
+#else
+                               wait_event_interruptible_timeout(
+                                       tcon->ses->server->response_q,
+                                       (tcon->ses->server->tcpStatus == 
CifsGood),
+                                       10 * HZ);
+#endif
                                if(tcon->ses->server->tcpStatus == 
                                                CifsNeedReconnect) {
                                        /* on "soft" mounts we wait once */

Modified: branches/linux-converged-for-old-kernels/fs/cifs/dir.c
===================================================================
--- branches/linux-converged-for-old-kernels/fs/cifs/dir.c      2006-08-18 
23:36:23 UTC (rev 74)
+++ branches/linux-converged-for-old-kernels/fs/cifs/dir.c      2006-08-21 
17:08:04 UTC (rev 75)
@@ -139,10 +139,12 @@
        char *full_path = NULL;
        FILE_ALL_INFO * buf = NULL;
        struct inode *newinode = NULL;
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 5, 0)
        struct cifsFileInfo * pCifsFile = NULL;
        struct cifsInodeInfo * pCifsInode;
+       int write_only = FALSE;
+#endif
        int disposition = FILE_OVERWRITE_IF;
-       int write_only = FALSE;
 
        xid = GetXid();
 
@@ -314,19 +316,24 @@
                        }
                        write_unlock(&GlobalSMBSeslock);
                }
+       }
+cifs_create_out:
 #else /* 2.4 does not pass open flags so must reopen on cifs_open */
                CIFSSMBClose(xid, pTcon, fileHandle);
+       }
 #endif
-       } 
-cifs_create_out:
        kfree(buf);
        kfree(full_path);
        FreeXid(xid);
        return rc;
 }
 
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 5, 0)
 int cifs_mknod(struct inode *inode, struct dentry *direntry, int mode, 
-               dev_t device_number) 
+               dev_t device_number)
+#else
+int cifs_mknod(struct inode *inode, struct dentry *direntry, int mode, int 
device_number)
+#endif
 {
        int rc = -EPERM;
        int xid;
@@ -447,9 +454,13 @@
        return rc;
 }
 
-
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 5, 0)
 struct dentry *
 cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry, struct 
nameidata *nd)
+#else
+struct dentry *
+cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry)
+#endif
 {
        int xid;
        int rc = 0; /* to get around spurious gcc warning, set to zero here */
@@ -543,8 +554,13 @@
        return ERR_PTR(rc);
 }
 
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 5, 0)
 static int
 cifs_d_revalidate(struct dentry *direntry, struct nameidata *nd)
+#else
+static int
+cifs_d_revalidate(struct dentry *direntry, int flags)
+#endif
 {
        int isValid = 1;
 

Modified: branches/linux-converged-for-old-kernels/fs/cifs/link.c
===================================================================
--- branches/linux-converged-for-old-kernels/fs/cifs/link.c     2006-08-18 
23:36:23 UTC (rev 74)
+++ branches/linux-converged-for-old-kernels/fs/cifs/link.c     2006-08-21 
17:08:04 UTC (rev 75)
@@ -20,7 +20,10 @@
  */
 #include <linux/fs.h>
 #include <linux/stat.h>
+#include <linux/version.h>
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0)
 #include <linux/namei.h>
+#endif
 #include "cifsfs.h"
 #include "cifspdu.h"
 #include "cifsglob.h"

Modified: branches/linux-converged-for-old-kernels/fs/cifs/sess.c
===================================================================
--- branches/linux-converged-for-old-kernels/fs/cifs/sess.c     2006-08-18 
23:36:23 UTC (rev 74)
+++ branches/linux-converged-for-old-kernels/fs/cifs/sess.c     2006-08-21 
17:08:04 UTC (rev 75)
@@ -21,6 +21,7 @@
  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  */
 
+#include <linux/fs.h>
 #include "cifspdu.h"
 #include "cifsglob.h"
 #include "cifsproto.h"

Reply via email to