diff options
author | Shirish Pargaonkar <shirishpargaonkar@gmail.com> | 2011-04-27 23:34:35 -0500 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2011-05-19 14:10:51 +0000 |
commit | 4d79dba0e00749fa40de8ef13a9b85ce57a1603b (patch) | |
tree | 55e377f53c761e70d5b90a1f901f70609ffcbcc7 /fs/cifs/cifsglob.h | |
parent | 9ad1506b42c828dff0b9d8f3914e1f837734e91c (diff) | |
download | blackbird-op-linux-4d79dba0e00749fa40de8ef13a9b85ce57a1603b.tar.gz blackbird-op-linux-4d79dba0e00749fa40de8ef13a9b85ce57a1603b.zip |
cifs: Add idmap key and related data structures and functions (try #17 repost)
Define (global) data structures to store ids, uids and gids, to which a
SID maps. There are two separate trees, one for SID/uid and another one
for SID/gid.
A new type of key, cifs_idmap_key_type, is used.
Keys are instantiated and searched using credential of the root by
overriding and restoring the credentials of the caller requesting the key.
Id mapping functions are invoked under config option of cifs acl.
Signed-off-by: Shirish Pargaonkar <shirishpargaonkar@gmail.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/cifs/cifsglob.h')
-rw-r--r-- | fs/cifs/cifsglob.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h index 108a1e99aa9f..76b4517e74b0 100644 --- a/fs/cifs/cifsglob.h +++ b/fs/cifs/cifsglob.h @@ -833,6 +833,11 @@ GLOBAL_EXTERN unsigned int cifs_max_pending; /* MAX requests at once to server*/ /* reconnect after this many failed echo attempts */ GLOBAL_EXTERN unsigned short echo_retries; +GLOBAL_EXTERN struct rb_root uidtree; +GLOBAL_EXTERN struct rb_root gidtree; +GLOBAL_EXTERN spinlock_t siduidlock; +GLOBAL_EXTERN spinlock_t sidgidlock; + void cifs_oplock_break(struct work_struct *work); void cifs_oplock_break_get(struct cifsFileInfo *cfile); void cifs_oplock_break_put(struct cifsFileInfo *cfile); |