]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - fs/cifs/cifs_fs_sb.h
cifs: convert tlink_tree to a rbtree
[mv-sheeva.git] / fs / cifs / cifs_fs_sb.h
index 9e771450c3b8eba5230ffa16c30cb95a73151868..e9a393c9c2ca4ddb8ec3d75cfcf0766234ec1789 100644 (file)
@@ -15,6 +15,8 @@
  *   the GNU Lesser General Public License for more details.
  *
  */
+#include <linux/rbtree.h>
+
 #ifndef _CIFS_FS_SB_H
 #define _CIFS_FS_SB_H
 
 #define CIFS_MOUNT_NOPOSIXBRL   0x2000 /* mandatory not posix byte range lock */
 #define CIFS_MOUNT_NOSSYNC      0x4000 /* don't do slow SMBflush on every sync*/
 #define CIFS_MOUNT_FSCACHE     0x8000 /* local caching enabled */
+#define CIFS_MOUNT_MF_SYMLINKS 0x10000 /* Minshall+French Symlinks enabled */
+#define CIFS_MOUNT_MULTIUSER   0x20000 /* multiuser mount */
 
 struct cifs_sb_info {
-       struct cifsTconInfo *tcon;      /* primary mount */
-       struct list_head nested_tcon_q;
+       struct rb_root tlink_tree;
+       spinlock_t tlink_tree_lock;
+       struct tcon_link *master_tlink;
        struct nls_table *local_nls;
        unsigned int rsize;
        unsigned int wsize;
+       atomic_t active;
        uid_t   mnt_uid;
        gid_t   mnt_gid;
        mode_t  mnt_file_mode;
        mode_t  mnt_dir_mode;
-       int     mnt_cifs_flags;
+       unsigned int mnt_cifs_flags;
        int     prepathlen;
        char   *prepath; /* relative path under the share to mount to */
 #ifdef CONFIG_CIFS_DFS_UPCALL
        char   *mountdata; /* mount options received at mount time */
 #endif
        struct backing_dev_info bdi;
+       struct delayed_work prune_tlinks;
 };
 #endif                         /* _CIFS_FS_SB_H */