Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 29 May 2012 19:42:10 +0000 (12:42 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 29 May 2012 19:42:10 +0000 (12:42 -0700)
Pull CIFS updates from Steve French.

* 'for-next' of git://git.samba.org/sfrench/cifs-2.6: (29 commits)
  cifs: fix oops while traversing open file list (try #4)
  cifs: Fix comment as d_alloc_root() is replaced by d_make_root()
  CIFS: Introduce SMB2 mounts as vers=2.1
  CIFS: Introduce SMB2 Kconfig option
  CIFS: Move add/set_credits and get_credits_field to ops structure
  CIFS: Move protocol specific demultiplex thread calls to ops struct
  CIFS: Move protocol specific part from cifs_readv_receive to ops struct
  CIFS: Move header_size/max_header_size to ops structure
  CIFS: Move protocol specific part from SendReceive2 to ops struct
  cifs: Include backup intent search flags during searches {try #2)
  CIFS: Separate protocol specific part from setlk
  CIFS: Separate protocol specific part from getlk
  CIFS: Separate protocol specific lock type handling
  CIFS: Convert lock type to 32 bit variable
  CIFS: Move locks to cifsFileInfo structure
  cifs: convert send_nt_cancel into a version specific op
  cifs: add a smb_version_operations/values structures and a smb_version enum
  cifs: remove the vers= and version= synonyms for ver=
  cifs: add warning about change in default cache semantics in 3.7
  cifs: display cache= option in /proc/mounts
  ...

1  2 
fs/cifs/cifsfs.c

diff --combined fs/cifs/cifsfs.c
index 0a0fa0250e99857481bb87d8c13d50a23fcba15d,3c9c794ede53d8b71f2a2ee1e239682f7fe4e1ae..8b6e344eb0ba3a483780f0b32cf0961ec258ca4c
@@@ -56,7 -56,6 +56,6 @@@ int traceSMB = 0
  bool enable_oplocks = true;
  unsigned int linuxExtEnabled = 1;
  unsigned int lookupCacheEnabled = 1;
- unsigned int multiuser_mount = 0;
  unsigned int global_secflags = CIFSSEC_DEF;
  /* unsigned int ntlmv2_support = 0; */
  unsigned int sign_CIFS_PDUs = 1;
@@@ -125,7 -124,7 +124,7 @@@ cifs_read_super(struct super_block *sb
                goto out_no_root;
        }
  
-       /* do that *after* d_alloc_root() - we want NULL ->d_op for root here */
+       /* do that *after* d_make_root() - we want NULL ->d_op for root here */
        if (cifs_sb_master_tcon(cifs_sb)->nocase)
                sb->s_d_op = &cifs_ci_dentry_ops;
        else
@@@ -272,7 -271,7 +271,7 @@@ static voi
  cifs_evict_inode(struct inode *inode)
  {
        truncate_inode_pages(&inode->i_data, 0);
 -      end_writeback(inode);
 +      clear_inode(inode);
        cifs_fscache_release_inode_cookie(inode);
  }
  
@@@ -329,6 -328,19 +328,19 @@@ cifs_show_security(struct seq_file *s, 
                seq_printf(s, "i");
  }
  
+ static void
+ cifs_show_cache_flavor(struct seq_file *s, struct cifs_sb_info *cifs_sb)
+ {
+       seq_printf(s, ",cache=");
+       if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_STRICT_IO)
+               seq_printf(s, "strict");
+       else if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_DIRECT_IO)
+               seq_printf(s, "none");
+       else
+               seq_printf(s, "loose");
+ }
  /*
   * cifs_show_options() is for displaying mount options in /proc/mounts.
   * Not all settable options are displayed but most of the important
@@@ -342,7 -354,9 +354,9 @@@ cifs_show_options(struct seq_file *s, s
        struct sockaddr *srcaddr;
        srcaddr = (struct sockaddr *)&tcon->ses->server->srcaddr;
  
+       seq_printf(s, ",vers=%s", tcon->ses->server->vals->version_string);
        cifs_show_security(s, tcon->ses->server);
+       cifs_show_cache_flavor(s, cifs_sb);
  
        seq_printf(s, ",unc=%s", tcon->treeName);
  
                seq_printf(s, ",rwpidforward");
        if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NOPOSIXBRL)
                seq_printf(s, ",forcemand");
-       if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_DIRECT_IO)
-               seq_printf(s, ",directio");
        if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_XATTR)
                seq_printf(s, ",nouser_xattr");
        if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR)
                seq_printf(s, ",nostrictsync");
        if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_PERM)
                seq_printf(s, ",noperm");
-       if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_STRICT_IO)
-               seq_printf(s, ",strictcache");
        if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_CIFS_BACKUPUID)
                seq_printf(s, ",backupuid=%u", cifs_sb->mnt_backupuid);
        if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_CIFS_BACKUPGID)
@@@ -945,7 -955,6 +955,6 @@@ cifs_init_once(void *inode
        struct cifsInodeInfo *cifsi = inode;
  
        inode_init_once(&cifsi->vfs_inode);
-       INIT_LIST_HEAD(&cifsi->llist);
        mutex_init(&cifsi->lock_mutex);
  }