Blame view

fs/cifs/cifs_fs_sb.h 4.2 KB
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  /*
   *   fs/cifs/cifs_fs_sb.h
   *
   *   Copyright (c) International Business Machines  Corp., 2002,2004
   *   Author(s): Steve French (sfrench@us.ibm.com)
   *
   *   This library is free software; you can redistribute it and/or modify
   *   it under the terms of the GNU Lesser General Public License as published
   *   by the Free Software Foundation; either version 2.1 of the License, or
   *   (at your option) any later version.
   *
   *   This library is distributed in the hope that it will be useful,
   *   but WITHOUT ANY WARRANTY; without even the implied warranty of
   *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
   *   the GNU Lesser General Public License for more details.
   *
   */
b647c35f7   Jeff Layton   cifs: convert tli...
18
  #include <linux/rbtree.h>
9d002df49   Jeff Layton   cifs: add routine...
19

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
20
21
  #ifndef _CIFS_FS_SB_H
  #define _CIFS_FS_SB_H
8044f7f46   Jens Axboe   cifs: add bdi bac...
22
  #include <linux/backing-dev.h>
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
23
  #define CIFS_MOUNT_NO_PERM      1 /* do not do client vfs_perm check */
a001e5b55   David Howells   CRED: Wrap task c...
24
  #define CIFS_MOUNT_SET_UID      2 /* set current's euid in create etc. */
13a6e42af   Steve French   [CIFS] add mount ...
25
  #define CIFS_MOUNT_SERVER_INUM  4 /* inode numbers from uniqueid from server  */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
26
  #define CIFS_MOUNT_DIRECT_IO    8 /* do not write nor read through page cache */
4523cc304   Steve French   [CIFS] UID/GID ov...
27
28
29
30
31
32
33
34
  #define CIFS_MOUNT_NO_XATTR     0x10  /* if set - disable xattr support       */
  #define CIFS_MOUNT_MAP_SPECIAL_CHR 0x20 /* remap illegal chars in filenames   */
  #define CIFS_MOUNT_POSIX_PATHS  0x40  /* Negotiate posix pathnames if possible*/
  #define CIFS_MOUNT_UNX_EMUL     0x80  /* Network compat with SFUnix emulation */
  #define CIFS_MOUNT_NO_BRL       0x100 /* No sending byte range locks to srv   */
  #define CIFS_MOUNT_CIFS_ACL     0x200 /* send ACL requests to non-POSIX srv   */
  #define CIFS_MOUNT_OVERR_UID    0x400 /* override uid returned from server    */
  #define CIFS_MOUNT_OVERR_GID    0x800 /* override gid returned from server    */
13a6e42af   Steve French   [CIFS] add mount ...
35
36
  #define CIFS_MOUNT_DYNPERM      0x1000 /* allow in-memory only mode setting   */
  #define CIFS_MOUNT_NOPOSIXBRL   0x2000 /* mandatory not posix byte range lock */
4717bed68   Steve French   [CIFS] fix build ...
37
  #define CIFS_MOUNT_NOSSYNC      0x4000 /* don't do slow SMBflush on every sync*/
fa1df75d4   Suresh Jayaraman   cifs: add mount o...
38
  #define CIFS_MOUNT_FSCACHE	0x8000 /* local caching enabled */
1b12b9c15   Stefan Metzmacher   cifs: use Minshal...
39
  #define CIFS_MOUNT_MF_SYMLINKS	0x10000 /* Minshall+French Symlinks enabled */
6508d904e   Jeff Layton   cifs: have find_r...
40
  #define CIFS_MOUNT_MULTIUSER	0x20000 /* multiuser mount */
4f8ba8a0c   Pavel Shilovsky   CIFS: Make cifsFi...
41
  #define CIFS_MOUNT_STRICT_IO	0x40000 /* strict cache mode */
d4ffff1fa   Pavel Shilovsky   CIFS: Add rwpidfo...
42
  #define CIFS_MOUNT_RWPIDFORWARD	0x80000 /* use pid forwarding for rw */
1751e8a6c   Linus Torvalds   Rename superblock...
43
  #define CIFS_MOUNT_POSIXACL	0x100000 /* mirror of SB_POSIXACL in mnt_cifs_flags */
3d3ea8e64   Shirish Pargaonkar   cifs: Add mount o...
44
45
  #define CIFS_MOUNT_CIFS_BACKUPUID 0x200000 /* backup intent bit for a user */
  #define CIFS_MOUNT_CIFS_BACKUPGID 0x400000 /* backup intent bit for a group */
b693855fe   Steve French   Allow conversion ...
46
  #define CIFS_MOUNT_MAP_SFM_CHR	0x800000 /* SFM/MAC mapping for illegal chars */
a6b5058fa   Aurelien Aptel   fs/cifs: make sha...
47
48
49
  #define CIFS_MOUNT_USE_PREFIX_PATH 0x1000000 /* make subpath with unaccessible
  					      * root mountable
  					      */
959326553   Steve French   CIFS: Add new mou...
50
  #define CIFS_MOUNT_UID_FROM_ACL 0x2000000 /* try to get UID via special SID */
3d4ef9a15   Steve French   smb3: fix redunda...
51
  #define CIFS_MOUNT_NO_HANDLE_CACHE 0x4000000 /* disable caching dir handles */
8393072ba   Aurelien Aptel   CIFS: make 'nodfs...
52
  #define CIFS_MOUNT_NO_DFS 0x8000000 /* disable DFS resolving */
412094a8f   Steve French   smb3: add new mou...
53
  #define CIFS_MOUNT_MODE_FROM_SID 0x10000000 /* retrieve mode from special ACE */
83bbfa706   Steve French   smb3: add mount o...
54
  #define CIFS_MOUNT_RO_CACHE	0x20000000  /* assumes share will not change */
41e033fec   Steve French   smb3: add mount o...
55
  #define CIFS_MOUNT_RW_CACHE	0x40000000  /* assumes only client accessing */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
56
57
  
  struct cifs_sb_info {
b647c35f7   Jeff Layton   cifs: convert tli...
58
  	struct rb_root tlink_tree;
9d002df49   Jeff Layton   cifs: add routine...
59
  	spinlock_t tlink_tree_lock;
413e661c1   Jeff Layton   cifs: store point...
60
  	struct tcon_link *master_tlink;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
61
  	struct nls_table *local_nls;
e8506d25f   Steve French   smb3: make defaul...
62
  	unsigned int bsize;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
63
64
  	unsigned int rsize;
  	unsigned int wsize;
6d20e8406   Suresh Jayaraman   cifs: add attribu...
65
  	unsigned long actimeo; /* attribute cache timeout (jiffies) */
d7c86ff8c   Jeff Layton   cifs: don't use v...
66
  	atomic_t active;
1f68233c5   Eric W. Biederman   cifs: Convert str...
67
68
69
70
  	kuid_t	mnt_uid;
  	kgid_t	mnt_gid;
  	kuid_t	mnt_backupuid;
  	kgid_t	mnt_backupgid;
5206efd62   Al Viro   cifs: propagate u...
71
72
  	umode_t	mnt_file_mode;
  	umode_t	mnt_dir_mode;
6508d904e   Jeff Layton   cifs: have find_r...
73
  	unsigned int mnt_cifs_flags;
f14bcf71d   Sean Finney   cifs: Uncondition...
74
  	char   *mountdata; /* options received at mount time or via DFS refs */
2de970ff6   Jeff Layton   cifs: implement r...
75
  	struct delayed_work prune_tlinks;
2e32cf5ef   Al Viro   cifs: rcu-delay u...
76
  	struct rcu_head rcu;
93d5cb517   Paulo Alcantara   cifs: Add support...
77
78
  
  	/* only used when CIFS_MOUNT_USE_PREFIX_PATH is set */
a6b5058fa   Aurelien Aptel   fs/cifs: make sha...
79
  	char *prepath;
93d5cb517   Paulo Alcantara   cifs: Add support...
80
81
82
83
84
85
86
  
  	/*
  	 * Path initially provided by the mount call. We might connect
  	 * to something different via DFS but we want to keep it to do
  	 * failover properly.
  	 */
  	char *origin_fullpath; /* \\HOST\SHARE\[OPTIONAL PATH] */
29fbeb7a9   Paulo Alcantara (SUSE)   cifs: Properly ha...
87
88
89
90
91
  	/*
  	 * Indicate whether serverino option was turned off later
  	 * (cifs_autodisable_serverino) in order to match new mounts.
  	 */
  	bool mnt_cifs_serverino_autodisabled;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
92
93
  };
  #endif				/* _CIFS_FS_SB_H */