vserver 1.9.3
[linux-2.6.git] / fs / cifs / cifsfs.c
index fbc737e..729cdba 100644 (file)
@@ -255,12 +255,14 @@ cifs_show_options(struct seq_file *s, struct vfsmount *m)
        if (cifs_sb) {
                if (cifs_sb->tcon) {
                        seq_printf(s, ",unc=%s", cifs_sb->tcon->treeName);
-                       if ((cifs_sb->tcon->ses) && (cifs_sb->tcon->ses->userName))
-                               seq_printf(s, ",username=%s",
+                       if (cifs_sb->tcon->ses) {
+                               if (cifs_sb->tcon->ses->userName)
+                                       seq_printf(s, ",username=%s",
                                           cifs_sb->tcon->ses->userName);
-                       if(cifs_sb->tcon->ses->domainName)
-                               seq_printf(s, ",domain=%s",
-                                       cifs_sb->tcon->ses->domainName);
+                               if(cifs_sb->tcon->ses->domainName)
+                                       seq_printf(s, ",domain=%s",
+                                          cifs_sb->tcon->ses->domainName);
+                       }
                }
                seq_printf(s, ",rsize=%d",cifs_sb->rsize);
                seq_printf(s, ",wsize=%d",cifs_sb->wsize);
@@ -510,8 +512,9 @@ struct inode_operations cifs_file_inode_ops = {
 };
 
 struct inode_operations cifs_symlink_inode_ops = {
-       .readlink = cifs_readlink,
+       .readlink = generic_readlink, 
        .follow_link = cifs_follow_link,
+       .put_link = cifs_put_link,
        .permission = cifs_permission,
        /* BB add the following two eventually */
        /* revalidate: cifs_revalidate,
@@ -561,7 +564,7 @@ cifs_init_inodecache(void)
 {
        cifs_inode_cachep = kmem_cache_create("cifs_inode_cache",
                                              sizeof (struct cifsInodeInfo),
-                                             0, SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT,
+                                             0, SLAB_RECLAIM_ACCOUNT,
                                              cifs_init_once, NULL);
        if (cifs_inode_cachep == NULL)
                return -ENOMEM;
@@ -756,11 +759,14 @@ init_cifs(void)
                        if (!rc) {
                                rc = register_filesystem(&cifs_fs_type);
                                if (!rc) {                
-                                       kernel_thread(cifs_oplock_thread, NULL, 
+                                       rc = (int)kernel_thread(cifs_oplock_thread, NULL, 
                                                CLONE_FS | CLONE_FILES | CLONE_VM);
-                                       return rc; /* Success */
-                               } else
-                                       cifs_destroy_request_bufs();
+                                       if(rc > 0)
+                                               return 0;
+                                       else 
+                                               cERROR(1,("error %d create oplock thread",rc));
+                               }
+                               cifs_destroy_request_bufs();
                        }
                        cifs_destroy_mids();
                }